![]() |
|
1С:Предприятие
:: 1С:Предприятие 7.7 и ранее
|
|
| ||
DimAAA 29.03.21 - 12:02 | Всем привет!
Подскажите знающие, пожалуйста: При открытии существующего документа Счет на оплату (из типовой конфигурации, ничего не менялось) - после вывода на экран табличной части с товарами (услугами) - ошибочно формируется Итоговая строка (не формируется строка с примененной ставкой НДС). Причем, при вводе новой строки - функция РассчитатьНалоги вызывается, соответственно, логика формирования вывода итоговой ставки НДС (через переменную НДСпоДокументу) отрабатывает. А при выводе формировании существующей строки значение НДСпоДокументу не меняется - даже вызовов не нашел. Как этот механизм работает? И еще вопрос- в каком событии я могу отследить построчное формирование табличной части СУЩЕСТВУЮЩЕГО ДОКУМЕНТА перед его выводом на экран? Заранее спасибо! | ||
Злопчинский 1 - 29.03.21 - 13:01 | я очень сомневаюсь что косяк. конфа нстолько "старая". что такие явные косяки уже вылизаны. могу конеячно ошибаться | ||
Злопчинский 2 - 29.03.21 - 13:03 | (0) ТЧ не формируется. она уже есть как класс/данность.
при отображении и прорисовке формы в предопределенных процедурах раситываются необходимые "производные" значения для показа на форме. на форме также может лежать реквизит "текст", в формуле которго может сотять вызов локальной/глобальной функции, (в которую может передаваться контекст формы). | ||
Злопчинский 3 - 29.03.21 - 13:06 | "ошибочно формируется Итоговая строка (не формируется строка с примененной ставкой НДС)." такого - не помню.в общем случае в счете могут быть позиции с разными ставками НДС и насколько я помню на форме "примененные" ставки НДС как итоги по документу - не отображаются (могу конечно ошибаться, может что-то поменяли). А вот итоговая строка с итоговой суммой НДС суммарно по примененным ставкам НДС в документие - да. мы же понимаем - что - строка с примненной ставкой НДС и - сумма НДС по этим ставкам- это немножко разные вещи, правда? | ||
HawkEye 4 - 29.03.21 - 13:07 | (0) "из типовой конфигурации, ничего не менялось" - вранье ))) | ||
Злопчинский 5 - 29.03.21 - 13:08 | (4) вот и я о том же... | ||
Злопчинский 6 - 29.03.21 - 13:09 | (0) вывода итоговой ставки НДС
- насколько я представляю - *итоговой ставки НДС* - нет. ставки НДС друг с другом не складываются, не вычитаются, не умножаются и не делятся. | ||
HawkEye 7 - 29.03.21 - 13:10 | (0) ты внятно объясни проблему....
у тебя в документе табличная часть - пустая, потом ты этот документ открываешь и в нем оказывается новая строка? | ||
Злопчинский 8 - 29.03.21 - 13:19 | (0) " А при выводе формировании существующей строки значение НДСпоДокументу не меняется - даже вызовов не нашел."а с чего оно должно меняться? оно есть, посчитано. откуда оно меняеться может? все что обычно делается при открытии документа - собирается ИТОГ по документу (если он ранее не собран и не зафиксирован) посредством типа Итог("СуммаНДС") - где "СуммаНДС" - реквизит ТЧ документа. Всё. | ||
Злопчинский 9 - 29.03.21 - 13:20 | выражение Итог("СуммаНДС") - может стоять в формуле текста, выведенного на форму. | ||
DimAAA 10 - 29.03.21 - 15:16 | Спасибо всем за внимание к моей проблеме!
1. Насчет доработки типовой - конечно, это мое предположение, основанное на уверении бухгалтеров. Но все может быть... 2. речь идет именно про отображение ставки НДС (т.е. значение %) - саму сумму НДС в рублях считает верно. В форме уже сохраненного счета после табличного документа размещена строка Итого, например: Всего: 1,200-00, в т.ч. НДС (по ставке 0 %): 200-00, без налогов: 1,000-00 Начал разбираться, почему "НДС (по ставке 0 %)в Функции ИтоговаяСтрока(): ... Если НДСпоДокументу=-1 Тогда стрСтавкаНДС="(по разным ставкам)"; ИначеЕсли НДСпоДокументу=0 Тогда стрСтавкаНДС=""; Иначе стрСтавкаНДС="(по ставке " + СокрЛ(формат(НДСпоДокументу,"Ч2")) + " %)"; КонецЕсли; ... Отладчиком при открытии существующего документа на строке "Если НДСпоДокументу=-1 Тогда": НДСпоДокументу="", соответственно СокрЛ(формат(НДСпоДокументу,"Ч2")) формирует строку "0 %"НДСпоДокументу присваивается в двух функциях: Процедура Пересчет(ИмяРеквизита=""): ... Если КоличествоСтрок()=1 Тогда НДСпоДокументу=0; КонецЕсли; ... и Процедура РассчитатьНалоги(): ... Если НДСпоДокументу>=0 Тогда//если ранее не устанавливался значение -1 что означает "по разным ставкам НДС" если НДСпоДокументу=0 Тогда НДСпоДокументу=СтавкаНДС; ИначеЕсли НДСпоДокументу<>СтавкаНДС Тогда НДСпоДокументу=-1; КонецЕсли;; КонецЕсли;... точки останова ни в первой функции, ни во второй при открытии УЖЕ СУЩЕСТВУЮЩЕГО документа не срабатывают. Внимание, вопросы: 1. Где НДСпоДокументу выставляется? 2. Если это чья-то поделка, как в штатной реализации определяется величина налога? | ||
DimAAA 11 - 29.03.21 - 15:23 | для ясности: величина ставки налога | ||
HawkEye 12 - 29.03.21 - 15:25 | (10) полностью функцию ИтоговаяСтрока() - нам надо угадать, да? | ||
Злопчинский 13 - 29.03.21 - 15:25 | (10) более чем уверен что это нетиповой код. | ||
HawkEye 14 - 29.03.21 - 15:26 | (13) еще и написанный автором ))))) | ||
Злопчинский 15 - 29.03.21 - 15:30 | (14) под веществами? | ||
Злопчинский 16 - 29.03.21 - 15:30 | (14) Всего: 1,200-00, в т.ч. НДС (по ставке 0 %): 200-00, без налогов: 1,000-00 | ||
DimAAA 17 - 29.03.21 - 15:39 | Автором чего???
зуб даю - не я писал. //***************************************************************************** // ИтоговаяСтрока() // // Вызывается из формул элементов диалога: // Текст ИтоговаяСтрока. // // Описание: // Формирует строку, содержащую итоговые суммы колонок табличной части. // // используется значение НДСпоДокументу: // если =-1, то добавляется строка "по разным ставкам" //если =0, то не добавляется строка //если >0 то добавляется "по ставке " + НДСпоДокументу + "%" Функция ИтоговаяСтрока() перем стрСтавкаНДС; Если НДСпоДокументу=-1 Тогда стрСтавкаНДС="(по разным ставкам)"; ИначеЕсли НДСпоДокументу=0 Тогда стрСтавкаНДС=""; Иначе стрСтавкаНДС="(по ставке " + СокрЛ(формат(НДСпоДокументу,"Ч2")) + " %)"; КонецЕсли; ИтСтр = "Всего: " + СокрЛ(Формат(Итог("Всего"),"Ч20.2-,")) + ", "+ "в т.ч. НДС " + стрСтавкаНДС +": " + СокрЛ(Формат(Итог("НДС"),"Ч20.2-,")); Если Итог("НП") > 0 Тогда ИтСтр = ИтСтр + ", НП: " + СокрЛ(Формат(Итог("НП"),"Ч20.2-,")); КонецЕсли; ИтСтр = ИтСтр + ", без налогов: " + СокрЛ(Формат((Итог("Всего") - Итог("НДС") - Итог("НП")),"Ч20.2-,")); Возврат ИтСтр; КонецФункции// ИтоговаяСтрока() | ||
DimAAA 18 - 29.03.21 - 15:40 | (16)Что Вы имели ввиду? | ||
Злопчинский 19 - 29.03.21 - 15:41 | (18) "что имею, то и введу..." | ||
Злопчинский 20 - 29.03.21 - 15:42 | НДС по ставке 0% = 200 руб... м.б. я, конечно, чего-то и не въезжаю... | ||
DimAAA 21 - 29.03.21 - 15:43 | (20) да я сам не въезжаю - смотрю на форму и думаю, как исправить. | ||
DimAAA 22 - 29.03.21 - 15:44 | Как в типовой этот механизм реализован? | ||
Злопчинский 23 - 29.03.21 - 15:45 | (22) возьми типовую и посмотри. Заратустра не запрещает. | ||
DimAAA 24 - 29.03.21 - 15:50 | нет под рукой типовой - была бы, не спрашивал. | ||
Злопчинский 25 - 29.03.21 - 16:00 | (24) а кому сейчас легко? | ||
HawkEye 26 - 29.03.21 - 16:03 | (17) идем дальше... НДСпоДокументу - это реквизит документа? | ||
HK_Mers 27 - 29.03.21 - 16:04 | (22)
Функция ИтоговаяСтрока() ИтСтр = "Всего: " + СокрЛ(Формат(Итог("Всего"),"Ч20.2-,")) + ", "+ "в т.ч. НДС: " + СокрЛ(Формат(Итог("НДС"),"Ч20.2-,")); Если Итог("НП") > 0 Тогда ИтСтр = ИтСтр + ", НП: " + СокрЛ(Формат(Итог("НП"),"Ч20.2-,")); КонецЕсли; ИтСтр = ИтСтр + ", без налогов: " + СокрЛ(Формат((Итог("Всего") - Итог("НДС") - Итог("НП")),"Ч20.2-,")); Возврат ИтСтр; КонецФункции// ИтоговаяСтрока() | ||
DimAAA 28 - 29.03.21 - 16:06 | to HK_Mers (22): спасибо, значит это была чья-то незаконченная поделка (17) переменная уровня формы | ||
DimAAA 29 - 29.03.21 - 16:07 | промахиваюсь сегодня - понедельник, наверное to HK_Mers (27): спасибо, значит это была чья-то незаконченная поделка (26) переменная уровня формы | ||
HawkEye 30 - 29.03.21 - 16:07 | (28) тогда вариантов то особо и нет, в ПриОткрытии() и ее производных должна определяться Рекламное место пустует | ||
DimAAA 31 - 29.03.21 - 16:22 | Всем спасибо, решил | ||
Злопчинский 32 - 29.03.21 - 17:01 | (31) ты - настоящий решала! | ||
DimAAA 33 - 29.03.21 - 17:02 | в 1С - не настоящий, как вы тут живете??? я в ахуе |
|
Список тем форума |