Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

ЗиК, "Свод по зарплате" и "Свод проводок" - копеечная разница

Ягода
читатель
офлайн
Дата регистрации: 23.05.2003
Сообщений: 9
Пост №1
 
10.04.2006 05:37

"ЗиК, 265, хозрасчетная.<br>Свод начислений и удержаний - Всего начислено<br>Свод проводок - Итого начислено в 70-й<br>Не совпадают! Разница 1-2 копейки. Разница появилась после того, как стали распределять затраты документом "Бухгалтерский и налоговый учет начислений и удержаний", и только по сотрудникам с этим распределением. <br>Залез в глобальный модуль, процедура "глПолучитьРаспределениеРезультата".<br><br>Если Результат<>ТаблицаБухУчета.Итог("Сумма") Тогда<br>ОшибкаРазница=Результат-ТаблицаБухУчета.Итог("Сумма");<br> Сообщить("Ошибка у "+ЗаписьИзЖурнала.Объект+" на "+ОшибкаРазница);<br>.............<br><br>Выдала много-много. Выходит, что за счет округления распределяемая сумма может оказаться не равной "Итого распределено". Ошибка в плюс или минус, в общем может компенсироваться, а может и нет. Да и вообще, какие могут быть округления - копейку разницы надо кидать на любую статью!<br><br>Сделал так (Это в самом конце процедуры глПолучитьРаспределениеРезультата):<br> Если Результат<>ТаблицаБухУчета.Итог("Сумма") Тогда<br> КосякРазница=Результат-ТаблицаБухУчета.Итог("Сумма");<br> ТаблицаБухУчета.ВыбратьСтроки();<br> Пока ТаблицаБухУчета.ПолучитьСтроку()=1 Цикл<br> Если ТаблицаБухУчета.Сумма=0 Тогда<br>        Продолжить;<br> КонецЕсли;<br> Если (ТаблицаБухУчета.Сумма+КосякРазница)<0 Тогда<br> Продолжить;<br> КонецЕсли;<br> ТаблицаБухУчета.Сумма=ТаблицаБухУчета.Сумма+КосякРазница;<br>            Прервать;<br> КонецЦикла;<br> Если Результат<>ТаблицаБухУчета.Итог("Сумма") Тогда<br> КосякРазница=Результат-ТаблицаБухУчета.Итог("Сумма");<br> Сообщить("Все равно косяк у "+ЗаписьИзЖурнала.Объект+" на "+КосякРазница);<br> КонецЕсли;<br> КонецЕсли;<br><br>Теперь стабильно имею разницу в 1 копейку. И не могу найти, почему.<br>Может кто сталкивался, подскажите плизз..."

andrew_am
читатель
офлайн
Дата регистрации: 01.08.2005
Сообщений: 86
Пост №2
 
10.04.2006 16:46

Скорее всего где-то идет округление суммы<br>либо просто нехватает точности при расчете, короче найти это не получиться помоему<br>у нас давно на это забили

Serg_Smi
читатель
офлайн
Дата регистрации: 02.06.2005
Сообщений: 83
Пост №3
 
10.04.2006 20:57

"Попробуй не через "ВыбратьСтроки()", а так<br>Для сч=1 По ТаблицаБухУчета.КоличествоСтрок() Цикл<br><<...>><br>КонецЦикла;<br><br><<...>> - через получить и установить значение."

Ягода
читатель
офлайн
Дата регистрации: 23.05.2003
Сообщений: 9
Пост №4
 
11.04.2006 02:04

"Да нет, в ЭТОМ месте теперь все ОК. Я там специально оставил:<br><br>Если Результат<>ТаблицаБухУчета.Итог("Сумма") Тогда<br>КосякРазница=Результат-ТаблицаБухУчета.Итог("Сумма");<br>Сообщить("Все равно косяк у "+ЗаписьИзЖурнала.Объект+" на "+КосякРазница);<br>КонецЕсли;<br><br>Где-то еще копейка набегает. Вот сижу - ищу."

Ягода
читатель
офлайн
Дата регистрации: 23.05.2003
Сообщений: 9
Пост №5
 
12.04.2006 08:22

"Ну все, нашол решение:<br><br>В функции "глПроводкиЗаПериод" точность полей "Сумма" в таблицах значений "ТаблицаРаспределения", "ТаблицаРаспределенияННП" и "ТаблицаРаспределенияЕСН" сделал 2 знака. Была 10 знаков после запятой. <br><br>Не понятно, зачем в бухгалтерских расчетах точность 10 знаков от зпт. ведь это не промежуточные значения, они выгружаются в бухралтерию, т.е. это суммы проводок!<br><br>В принципе, после этого все пошло нормально, но дополнительно сделал контроль:<br><br>//КонтрольРаспределения<br>//<br>//Параметры<br>// Сумма - распределяемая сумма<br>// ТабЗн - таблица значений с распределением в поле "Сумма"<br>//<br>//Возвращаемое значение.<br>// Нет<br>//<br>//Описание<br>// Процедура проверяет, равна ли сумма распределенного исходной<br>// (может получиться в результате округления) и, в случае необходимости, изменяет распределение<br>// предварительно делается контроль, чтобы изменяемая сумма не стала отрицательной.<br>// При разнице больше 0,01 ничего не изменяется (причина отличия - другая)<br>//<br>Процедура КонтрольРаспределения(Сумма, ТабЗн)<br> Перем Разница, Итог;<br> Если ПустоеЗначение(ТабЗн)=1 Тогда<br> Возврат;<br> КонецЕсли;<br> Разница=Сумма-ТабЗн.Итог("Сумма");<br> Разница=Сумма-Итог;<br> Если (Разница<0.01) И (Разница>-0.01) Тогда<br> ТабЗн.ВыбратьСтроки();<br> Пока ТабЗн.ПолучитьСтроку()=1 Цикл<br> Если (ТабЗн.Сумма+Разница)<0 Тогда<br> Продолжить;<br> КонецЕсли;<br> ТабЗн.Сумма=ТабЗн.Сумма+Разница;<br> Прервать;<br> КонецЦикла;<br> Если Сумма<>ТабЗн.Итог("Сумма") Тогда<br> Сообщить("Ошибка округления.","!!!");<br> КонецЕсли;<br> КонецЕсли;<br>КонецПроцедуры<br><br>И в конце "глПроводкиЗаПериод" вставил строки<br><br>КонтрольРаспределения(Результат, ТаблицаРаспределения);<br>КонтрольРаспределения(Результат, ТаблицаРаспределенияЕСН);<br>КонтрольРаспределения(Результат, ТаблицаУчетаНалогаНаПрибыль);<br><br>Так что все решаемо!"

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Учет, налогообложение, автоматизация
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация