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