Сумма в проводке на копейку больше
Модераторы: m0p3e, edward_K, Модераторы
Сумма в проводке на копейку больше
Помогите, пожалуста!!!
В платёжном поручении бухгалтер выбирает ТХО, и у неё в хозоперации сумма получается правильной, а в проводке на 1 копейку больше.
Перераспределение платежей не помогает. Что делать?
В платёжном поручении бухгалтер выбирает ТХО, и у неё в хозоперации сумма получается правильной, а в проводке на 1 копейку больше.
Перераспределение платежей не помогает. Что делать?
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Сумма в проводке на копейку больше
1. Читать доку - TXO.PDF, в частности там где то была функция для вычисления погрешности.
2. Избегать крутых вычислений - типа это поделить на то. По умолчанию Проводка формируется округленная, если только иное не разрешено настройкой или программист забыл ее проверить.
3. Определится куда относить копейку, если ничего другого придумать нельзя. По хорошему это должна быть апиха, которая определит максимальный разрез и отнесет погрешность туда.
А иначе против математики не попрешь - погрешность в сложных ТХО(или в сложных данных - типа налогов на фот) будет и с ней нужно бороться заблаговременно.
2. Избегать крутых вычислений - типа это поделить на то. По умолчанию Проводка формируется округленная, если только иное не разрешено настройкой или программист забыл ее проверить.
3. Определится куда относить копейку, если ничего другого придумать нельзя. По хорошему это должна быть апиха, которая определит максимальный разрез и отнесет погрешность туда.
А иначе против математики не попрешь - погрешность в сложных ТХО(или в сложных данных - типа налогов на фот) будет и с ней нужно бороться заблаговременно.
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Сумма в проводке на копейку больше
информации - ноль. вы бы хоть шаблон ТХО написали, какой алгоритм формирования используете, что хотите получить в результате.
Re: Сумма в проводке на копейку больше
Вы имели ввиду это (алгоритм формирования расчёта сумм):Алексей писал(а):информации - ноль. вы бы хоть шаблон ТХО написали, какой алгоритм формирования используете, что хотите получить в результате.
Код: Выделить всё
&Rasschetpl
&PL"NDS_18.00"
&PL"NDS_10.00"
&PL"NDS_0.00"
coTXOGetExtAttr('BASEDOC','Виды расчётов',&KAUD4)
&PL"BNDS_0.00"
TxoSetKau(10065,161,coTXOGetExtAttr('BASEDOC','Плательщик агента',&KAUD4))
TxoSetKau(10014,162,coTXOGetExtAttr('PLPOR','Виды расчётов',&Soprdoc))
if(&KAU[Кау:8][Режим:160]>0,TxoSetKau(10014,160,coTXOGetExtAttr('GROUPMC','Виды расчетов',&KAU[Кау:8][Режим:160])),TxoSetKau(10014,160,coTXOGetExtAttr('GROUPUSL','Виды расчётов',&KAU[Кау:9][Режим:160])))
&NP_[Расчет:Оплаченные]
&KAU[Кау:5]
&KAU[Кау:4]
coTXOGetField('KATUSL','CGROUPUSL',&18)
coTXOGetField('KATMC','CGROUPMC',&19)
coTXOGetExtAttr('GROUPUSL','Виды расчётов',&20)
coTXOGetExtAttr('GROUPMC','Виды расчетов',&21)
coTXOGetExtAttr('BASEDOC','Плательщик агента',&KAUD4)
if(&25=0,TxoSetKau(10065,161,&KAUD2),&10)
&SoprDoc[Рез:СпНаклАкта]
&NP_[Расчет:Оплаченные]
coTXOGetField('SPSOPR','CGRNAL',&SoprDoc[Рез:СпНаклАкта])
if(&29=1000000000007h, TxoSetKau(10018,160,1000000000576h),if(&29=5,TxoSetKau(10018,160,32Eh),if(&29=3,TxoSetKau(10018,160,2CAh),if((&29=2 and doTXOGetField('SPSOPR','SUMNDS',&SoprDoc[Рез:СпНаклАкта])>0) or &29=4 or &29=6,TxoSetKau(10018,160,2C9h),&31))))
TxoSetKau(10018,160,1000000000576h)
&Vip_[Obj:"PAYDIFFRATE"][Рез:СтоимПоз]
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Сумма в проводке на копейку больше
это жесть
дробление видимо происходит в связи с распределением платежа по позициям сопроводительных документов...
тут как бы надо пример, с суммами, но сдается мне, можно сильно упростить это ТХО.
а что, по счетам прямо ведётся аналитика, вся что указана?
дробление видимо происходит в связи с распределением платежа по позициям сопроводительных документов...
тут как бы надо пример, с суммами, но сдается мне, можно сильно упростить это ТХО.
а что, по счетам прямо ведётся аналитика, вся что указана?
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Сумма в проводке на копейку больше
В ТХО вообще то есть печать - сюда лучше текстовый отчет поставить - так было бы наглядней. Упростить наверное можно, но суть не в этом. Мож раз и навсегда решить проблему написав соотв. апиху и добавив ее последней проводкой- она должна пробежать Oborot по SoprHoz, найти с максимальной суммой и записать туда погрешность. Либо размазать погрешность по наибольшим проводкам - но это чутка сложнее.
Либо всегда относить погрешность на какой то один счет. Ну или добиваться, чтобы сумм по строкам накладной была округленная. При формировании ТХО можно еще включить протоколирование(я обычно сразу включаю детальный) и посмотреть какой ключ дает не то значение что ожидалось. + Есть еще фокус с домножением предварительных ключей на 1000000, а финальном соотв. поделить.
Либо всегда относить погрешность на какой то один счет. Ну или добиваться, чтобы сумм по строкам накладной была округленная. При формировании ТХО можно еще включить протоколирование(я обычно сразу включаю детальный) и посмотреть какой ключ дает не то значение что ожидалось. + Есть еще фокус с домножением предварительных ключей на 1000000, а финальном соотв. поделить.
Re: Сумма в проводке на копейку больше
Печать ТХО такая:
Там всего одна оплата услуги, количество 0,286 ; сумма 1170893.76
Проводка формируется на 1170893.77
Вся аналитика по счетам ведётся, чтоб ей провалиться.
А какие ключи умножить на 1000000, вообще все ? Поделить последний, т.е. 32 ? (как раз этот &32 и добавляет копейку, у всех остальных всё правильно судя по протоколу)
Так наверно проще будет и быстрее. Пока буду изучать, как писать апиху, бухгалтер настучит начальству, что лишняя копейка не исчезла
Код: Выделить всё
Реестр типовых хозяйственных операций и
формируемых проводок по счетам бухгалтерского учета
Хозяйственный документ: Собственное платежное поручение
60.1,3 - 51 Оплата поставщику, подрядчику в рублях (с авансом)???
Регистр учета: План счетов БСЗ
№ п/п Корреспонденция Вх. Процент
1 ДЕБЕТ: 60.01 КРЕДИТ: 51.<нет> + 100.0000
КАУ 1: <режим 0 - Виды расчетов> КАУ 1: <явно - Платежи поставщикам (подрядчикам) за сырьё, материалы, работы, услуги>
КАУ 2: <авто - Организации> КАУ 2: <режим 9 - Расчетные счета предприятия>
КАУ 3: <авто - Договоры> КАУ 3: <режим 0 - Ставки НДС>
КАУ 4: <авто - Документы-основания> Подразделение: <не формировать - Подразделения>
КАУ 5: <авто - Центры ответственности>
КАУ 6: <режим 1 - Продавец>
Подразделение: <не формировать - Подразделения>
Дата проводки: <авто - дата>
Содержание проводки: Оплата поставщику, подрядчику по %KauName[Кау:14]
Алгоритм в НДЕ: if(&27>0,&32,0)
Алгоритм в валюте <по настройке>:
Алгоритм количество:
Вычисление формул: Вычислять все формулы по списку
Фильтр для циклической обработки:
Циклическая обработка: <Материальные ценности> <Услуги> <Ставки НДС> <Спецификации сопроводительных документов> <Группы услуг> <Группы МЦ>
Результат: положительная, при смене знака сумму обнулить
Сумму в проводке: не конвертировать
Внешняя классификация:
2 ДЕБЕТ: 60.03 КРЕДИТ: 51.<нет> + 100.0000
КАУ 1: <режим 2 - Виды расчетов> КАУ 1: <явно - Платежи поставщикам (подрядчикам) за сырьё, материалы, работы, услуги>
КАУ 2: <авто - Организации> КАУ 2: <режим 9 - Расчетные счета предприятия>
КАУ 3: <авто - Договоры> КАУ 3: <явно - НДС 18%>
КАУ 5: <авто - Центры ответственности> Подразделение: <не формировать - Подразделения>
КАУ 6: <режим 1 - Продавец>
Подразделение: <не формировать - Подразделения>
Дата проводки: <авто - дата>
Содержание проводки: Аванс поставщику, подрядчику по %KauName[Кау:14]
Алгоритм в НДЕ: if(&27=0,if(&4>0,&Sum,0),0)
Алгоритм в валюте <по настройке>:
Алгоритм количество:
Вычисление формул: Вычислять все формулы по списку
Фильтр для циклической обработки:
Циклическая обработка:
Результат: знак суммы не обрабатывать, корреспонденцию счетов не изменять
Сумму в проводке: не конвертировать
Внешняя классификация:
3 ДЕБЕТ: 60.03 КРЕДИТ: 51.<нет> + 100.0000
КАУ 1: <режим 2 - Виды расчетов> КАУ 1: <явно - Платежи поставщикам (подрядчикам) за сырьё, материалы, работы, услуги>
КАУ 2: <авто - Организации> КАУ 2: <режим 9 - Расчетные счета предприятия>
КАУ 3: <авто - Договоры> КАУ 3: <явно - НДС 10%>
КАУ 5: <авто - Центры ответственности> Подразделение: <не формировать - Подразделения>
КАУ 6: <режим 1 - Продавец>
Подразделение: <не формировать - Подразделения>
Дата проводки: <авто - дата>
Содержание проводки: Аванс поставщику, подрядчику по %KauName[Кау:14]
Алгоритм в НДЕ: if(&27=0,if(&5>0,&Sum,0),0)
Алгоритм в валюте <по настройке>:
Алгоритм количество:
Вычисление формул: Вычислять все формулы по списку
Фильтр для циклической обработки:
Циклическая обработка:
Результат: знак суммы не обрабатывать, корреспонденцию счетов не изменять
Сумму в проводке: не конвертировать
Внешняя классификация:
4 ДЕБЕТ: 60.03 КРЕДИТ: 51.<нет> + 100.0000
КАУ 1: <режим 2 - Виды расчетов> КАУ 1: <явно - Платежи поставщикам (подрядчикам) за сырьё, материалы, работы, услуги>
КАУ 2: <авто - Организации> КАУ 2: <режим 9 - Расчетные счета предприятия>
КАУ 3: <авто - Договоры> КАУ 3: <явно - Без НДС>
КАУ 5: <авто - Центры ответственности> Подразделение: <не формировать - Подразделения>
КАУ 6: <режим 1 - Продавец>
Подразделение: <не формировать - Подразделения>
Дата проводки: <авто - дата>
Содержание проводки: Аванс поставщику, подрядчику по %KauName[Кау:14]
Алгоритм в НДЕ: if(&27=0,if(&4>0,0,if(&5>0,0,&Sum)),0)
Алгоритм в валюте <по настройке>:
Алгоритм количество:
Вычисление формул: Вычислять все формулы по списку
Фильтр для циклической обработки:
Циклическая обработка:
Результат: знак суммы не обрабатывать, корреспонденцию счетов не изменять
Сумму в проводке: не конвертировать
Внешняя классификация:
№ п/п Алгоритмы для расчета сумм проводки Примечание к алгоритму
1 &1 = &Rasschetpl Аналитика "Расчетные счета плательщика"
4 &4 = &PL"NDS_18.00" 18% ставка НДС
5 &5 = &PL"NDS_10.00" 10% ставка НДС
6 &6 = &PL"NDS_0.00" 0% ставка НДС
7 &7 = coTXOGetExtAttr('BASEDOC','Виды расчётов',&KAUD4) Nrec - Аналитика "Виды расчётов" из ДО
8 &8 = &PL"BNDS_0.00" Без НДС
10 &10 = TxoSetKau(10065,161,coTXOGetExtAttr('BASEDOC','Плательщик агента',&KAUD4)) Заполнить аналитику "Плательщик агента" из ДО
14 &14 = TxoSetKau(10014,162,coTXOGetExtAttr('PLPOR','Виды расчётов',&Soprdoc)) Заполнить аналитику "Виды расчётов" из пл. пор.
16 &16 = if(&KAU[Кау:8][Режим:160]>0,TxoSetKau(10014,160,coTXOGetExtAttr('GROUPMC','Виды расчетов',&KAU[Кау:8][Режим:160])),TxoSetKau(10014,160,coTXOGetExtAttr('GROUPUSL','Виды расчётов',&KAU[Кау:9][Режим:160]))) Заполнить аналитику "Виды расчетов"
17 &17 = &NP_[Расчет:Оплаченные] Суммы, распределенные по спецификации накладной (акта)
18 &18 = &KAU[Кау:5] Nrec поз. спецификации услуг
19 &19 = &KAU[Кау:4] Nrec поз. спецификации МЦ
20 &20 = coTXOGetField('KATUSL','CGROUPUSL',&18) Nrec группы услуг поз. спецификации услуг
21 &21 = coTXOGetField('KATMC','CGROUPMC',&19) Nrec группы МЦ поз. спецификации МЦ
22 &22 = coTXOGetExtAttr('GROUPUSL','Виды расчётов',&20) Nrec аналитики "Виды расчетов"группы услуг
23 &23 = coTXOGetExtAttr('GROUPMC','Виды расчетов',&21) Nrec аналитики "Виды расчетов"группы МЦ
25 &25 = coTXOGetExtAttr('BASEDOC','Плательщик агента',&KAUD4) Продавец из ДО
26 &26 = if(&25=0,TxoSetKau(10065,161,&KAUD2),&10) Заполнить аналитику "Продавец" аналитикой "Плательщик агента" из ДО
27 &27 = &SoprDoc[Рез:СпНаклАкта] Nrec спецификации накладной/акта
28 &28 = &NP_[Расчет:Оплаченные] Суммы оплаченных поз. в накладной&NP_[Расчет:Оплаченные]
29 &29 = coTXOGetField('SPSOPR','CGRNAL',&SoprDoc[Рез:СпНаклАкта]) Nrec группы налогов
30 &30 = if(&29=1000000000007h, TxoSetKau(10018,160,1000000000576h),if(&29=5,TxoSetKau(10018,160,32Eh),if(&29=3,TxoSetKau(10018,160,2CAh),if((&29=2 and doTXOGetField('SPSOPR','SUMNDS',&SoprDoc[Рез:СпНаклАкта])>0) or &29=4 or &29=6,TxoSetKau(10018,160,2C9h),&31) Заполнить аналитику "Ставки налогов и взносов"
31 &31 = TxoSetKau(10018,160,1000000000576h) [ГрНал:"01;02;06"]
32 &32 = &Vip_[Obj:"PAYDIFFRATE"][Рез:СтоимПоз] Суммы оплаченных поз. в накладной&NP_[Расчет:Оплаченные]
Проводка формируется на 1170893.77
Вся аналитика по счетам ведётся, чтоб ей провалиться.
А какие ключи умножить на 1000000, вообще все ? Поделить последний, т.е. 32 ? (как раз этот &32 и добавляет копейку, у всех остальных всё правильно судя по протоколу)
Так наверно проще будет и быстрее. Пока буду изучать, как писать апиху, бухгалтер настучит начальству, что лишняя копейка не исчезла
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Сумма в проводке на копейку больше
Интересно что вернет &Sum (он у вас везде кроме первой проводки ) и 17. Если 17 тоже врет, значит апиха из 32 не причем, а дело именно в распределении. Вообще если распределение по накладным идет пропорционально, то там часто на копейку рвет. Можно руками в SPSopHoz подправить
Re: Сумма в проводке на копейку больше
Всё правильно, вроде:edward_K писал(а):Интересно что вернет &Sum (он у вас везде кроме первой проводки ) и 17. Если 17 тоже врет, значит апиха из 32 не причем, а дело именно в распределении. Вообще если распределение по накладным идет пропорционально, то там часто на копейку рвет. Можно руками в SPSopHoz подправить
Код: Выделить всё
├─────┼─────────────────────────────────────────────────────────────────┴─────────────────┤
│9 │&17 │
│ ├─────────────────────────────────────────────────────────────────┬─────────────────┤
│ │&NP_[Расчет:Оплаченные] │1170893.76 │
│ │ │0 │
│ │ │0.286049987473612│
├─────┼─────────────────────────────────────────────────────────────────┴─────────────────┤
везде 76коп.
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Сумма в проводке на копейку больше
Ну если у вас есть ТП значит трясете ТП насчет этой апихи(она штатная) а пока 32 меняете на 17 и смотрите, что сломалось по сравнению с 32(аналитика могет не заполнится- но суды по проводкам вряд ли). Вообще ТХО написана конечно плохо - 17 еще в 24 повторяется например.
Re: Сумма в проводке на копейку больше
Спасибо большое!!!edward_K писал(а):Ну если у вас есть ТП значит трясете ТП насчет этой апихи(она штатная) а пока 32 меняете на 17 и смотрите, что сломалось по сравнению с 32(аналитика могет не заполнится- но суды по проводкам вряд ли). Вообще ТХО написана конечно плохо - 17 еще в 24 повторяется например.
Замена 32 на 17 помогла!
Ничего не сломалось, сумма стала нормальная! Выходит, эта апиха и не нужна была?
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Сумма в проводке на копейку больше
вообще NP это по накладным актам алгоритм, а 32-й у вас как раз вроде бы завязан на платежи.
т.е. если у вас будут документы, оплаченные двумя и более платежами, я думаю у вас неверно NP отработает.
т.е. если у вас будут документы, оплаченные двумя и более платежами, я думаю у вас неверно NP отработает.
-
- Постоянный обитатель
- Сообщения: 175
- Зарегистрирован: 09 окт 2009, 11:58
- Откуда: г.Находка
Re: Сумма в проводке на копейку больше
Мы, чтобы избавиться от проблем с суммой неокругленных значений, добивались того, чтобы в оперативных документах все суммы по всем позициям всегда были приведены к ближайшей копейке. Тогда и проводки полностью соответсвуют позициям спецификаций.