|
Не встает сумма НДС в ТЧ программно созданного ЗаказаПостащику УТ 10.3 | ☑ | ||
---|---|---|---|---|
0
Krasotka
05.05.22
✎
10:22
|
Код такой, все встает, сумма НДС только 0 везде. Как исправить?
новСтрДок = ДокЗаказПоставщику.Товары.Добавить(); новСтрДок.Номенклатура = тздлязаказа[Стр][1]; новСтрДок.Количество = тздлязаказа[Стр][14+НомОрг]; новСтрДок.цена= ЦенаЗакупа(тздлязаказа[Стр][1],этотобъект.Поставщик); новСтрДок.ЕдиницаИзмерения = новСтрДок.Номенклатура.ЕдиницаХраненияОстатков; новСтрДок.Коэффициент = новСтрДок.ЕдиницаИзмерения.Коэффициент; ОбработкаТабличныхЧастей.ПриИзмененииНоменклатурыТабЧасти(новСтрДок, ДокЗаказПоставщику); ОбработкаТабличныхЧастей.ЗаполнитьСтавкуНДСТабЧасти(новСтрДок, ДокЗаказПоставщику, "Прибретение"); СтруктураШапкиДокумента = Новый Структура("Контрагент, ТипЦен, ДоговорКонтрагента, ДатаДокумента, ВалютаДокумента, УчитыватьНДС, СуммаВключаетНДС", ДокЗаказПоставщику.Контрагент, ДокЗаказПоставщику.ТипЦен, ДокЗаказПоставщику.ДоговорКонтрагента, ДокЗаказПоставщику.Дата, ДокЗаказПоставщику.ВалютаДокумента, ДокЗаказПоставщику.УчитыватьНДС, ДокЗаказПоставщику.СуммаВключаетНДС); ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуЦенуПокупкиТабЧасти(новСтрДок, ДокЗаказПоставщику, СтруктураШапкиДокумента , Константы.ВалютаРегламентированногоУчета.Получить()); ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(новСтрДок, ДокЗаказПоставщику); //ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(новСтрДок, ДокЗаказПоставщику); новСтрДок.СуммаНДС=новСтрДок.Сумма/120*20; |
|||
1
vicof
05.05.22
✎
10:24
|
Ну пройдись отладчиком.
Опять окажется, что реквизиты не все или криво заполняешь |
|||
2
Kassern
05.05.22
✎
10:25
|
(0) мои глаза....
в отладке гляньте эту процедуру "ОбработкаТабличныхЧастей" - что она делает. И проверьте, что ОбработкаТабличныхЧастей.ЗаполнитьСтавкуНДСТабЧасти - ставку ндс проставила |
|||
3
Krasotka
05.05.22
✎
10:26
|
новСтрДок.СуммаНДС=новСтрДок.Сумма/120*20; - вот тут ндс в строке возникает, но после сохранения там 0
|
|||
4
vicof
05.05.22
✎
10:27
|
Ну пройдись отладчиком по процедурам сохранения
|
|||
5
Kassern
05.05.22
✎
10:28
|
(3) А там где-нибудь в документе есть реквизит булево, продажа не облагается НДС))
|
|||
6
Krasotka
05.05.22
✎
10:32
|
(5)
таки да, прописала это и все заработало ) ДокЗаказПоставщику.СуммаВключаетНДС=Истина; ДокЗаказПоставщику.УчитыватьНДС=Истина; |
|||
7
Kassern
05.05.22
✎
10:33
|
(6) ну вот, осталось только заполнение ТЧ переписать, чтобы читаемо было и вообще красота будет)
|
|||
8
Kassern
05.05.22
✎
10:34
|
по любому там есть процедура общего модуля, которая ТЧ заполняет, забыл уже как в 10ут это работает.
|
|||
9
Krasotka
05.05.22
✎
10:36
|
(8)
Ну он у меня сохраняется и проводится, зачем еще эта процедура? |
|||
10
Kassern
05.05.22
✎
10:41
|
(9) затем, чтобы с кодом было приятно работать, чтобы дорабатывать это чудо было гораздо быстрее. Вот вы явно прописали новСтрДок.СуммаНДС=новСтрДок.Сумма/120*20; а завтра бац и на часть товаров нужно будет 10% ставку НДС льготную поставить. Вот эта процедура у вас вообще в пустую работает ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(новСтрДок, ДокЗаказПоставщику); так как вы явно потом сумму НДС пересчитываете. А она у вас потом может с остальными колонками суммируемыми не сойтись. Вот смысл вам забивать голову и явно все колонки прописывать, когда для вас 1ска штатно предоставляет уже готовую процедуру, где все это учтено?
|
|||
11
vicof
05.05.22
✎
10:41
|
(9) Чтобы не плакали потом твои последователи
|
|||
12
PLUT
05.05.22
✎
10:42
|
(11) наеборот спасибо будут говорить. это ж работы непочатый край взять и всё переписывать (рефакторинг...)
|
|||
13
vicof
05.05.22
✎
10:46
|
(12) Только за это никто платить никто не любит. Типа работает и ладно.
|
|||
14
PLUT
05.05.22
✎
10:55
|
(13) заплатят, потому что такой код рано или поздно сломается, а чинить (переписывать) бесплатно никто не будет
|
|||
15
Krasotka
05.05.22
✎
11:38
|
Вы напишите этот код красиво, покажите мастер класс, а то троллить много ума не надо
|
|||
16
Kassern
05.05.22
✎
11:49
|
(15) в общем модуле ОбработкаТабличныхЧастей есть процедура вида ОбработатьСтрокуТЧ? Или что-то подобное?
|
|||
17
Kassern
05.05.22
✎
11:50
|
Если есть, то гляньте, что она делает и какие у нее параметры и попробуйте ей заполнить вашу строку ТЧ
|
|||
18
PLUT
05.05.22
✎
12:04
|
(15) в (6) некрасиво (нужны пробелы и табуляция)
ДокЗаказПоставщику.СуммаВключаетНДС = Истина; ДокЗаказПоставщику.УчитыватьНДС = Истина; |
|||
19
Kassern
05.05.22
✎
12:07
|
(18) вас только это задело?)
А как вам такое? новСтрДок.Номенклатура = тздлязаказа[Стр][1]; новСтрДок.Количество = тздлязаказа[Стр][14+НомОрг]; |
|||
20
PLUT
05.05.22
✎
12:09
|
(19) красивое
|
|||
21
Kassern
05.05.22
✎
12:09
|
Почему нельзя просто Для Каждого СтрокаТЗ Из ТЗДляЗаказа Цикл
и уже работать со Строкой ТЗ, а не получать ее каждый раз через тздлязаказа[Стр]. |
|||
22
Krasotka
05.05.22
✎
12:09
|
(19)
Есть группа компаний на 5 организаций, формируется таблица, где высчитывается, сколько заказать на каждую. Потом организации перебираются в цикле и берется соответствующая колонка для этой организации. Че не так то? |
|||
23
Kassern
05.05.22
✎
12:12
|
(22) как минимум в том, что вы несколько раз обращаетесь вот так тздлязаказа[Стр], в этом случае правильно объявить переменную и уже с ней работать.
|
|||
24
Kassern
05.05.22
✎
12:13
|
Имена переменных тоже надо заводить правильно. Почитайте вот это https://its.1c.ru/db/v8std/content/454/hdoc
|
|||
25
Kassern
05.05.22
✎
12:19
|
(22) Если я вас правильно понял, то выше должен быть запрос с группировкой по организации как минимум. Далее уже работаете с выборкой с Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам). Для каждой организации создаете свой заказ поставщику. На последнем уровне выборки просто заполняете табличную часть через БСПшную процедуру. Вот как-то так я вижу оптимальное решение.
|
|||
26
Kassern
05.05.22
✎
12:19
|
и не нужно будет писать всякие конструкции вида [][] и код будет раза 3 меньше и читаемым
|
|||
27
Krasotka
05.05.22
✎
12:20
|
У меня неоптимальное решение 5сек отрабатывает, тут всех устраивает. Мало ли что код некрасивый, шпионов отпугнет, если полезут.
|
|||
28
Kassern
05.05.22
✎
12:22
|
(27) со временем вам самой будет не приятно с таким кодом работать, чем раньше научитесь писать красиво, тем легче вам будет работать с этим кодом и меньше времени будете тратить на поиск косяков.
|
|||
29
PLUT
05.05.22
✎
12:23
|
||||
30
Krasotka
05.05.22
✎
12:25
|
(29)
Это палка о двух концах, шпионы могут обратиться к владельцу конторы и сказать, что код обфускан, он скажет нормальным сделать... А так не скажут, если просто не понятный. |
|||
31
PLUT
05.05.22
✎
12:28
|
(30) > если просто не понятный.
тогда > что код обфускан и > шпионы могут обратиться к владельцу конторы Л. - логика |
|||
32
Krasotka
05.05.22
✎
12:30
|
(31)
шпионы для меня внешние совместители - подработчики |
|||
33
Kassern
05.05.22
✎
12:30
|
(32) жестоко)
|
|||
34
PLUT
05.05.22
✎
12:31
|
(32) и хренилища конфигурации даже нет?
|
|||
35
Kassern
05.05.22
✎
12:32
|
а ваши "шпионы" ничего по поводу написания кода не говорят? Или поэтому они для вас шпионы, а не товарищи?)
|
|||
36
Krasotka
05.05.22
✎
12:33
|
(35)
Какое дело владельцу конторы до красоты кода, главное тут быстрее обработку сделать и цифры чтобы правильные были. Он наезды на красоту кода даже слушать не будет. |
|||
37
PLUT
05.05.22
✎
12:36
|
(36) а пояснительная бригада у вас есть? ну там интриги, скандалы, расследования кто проводит, если цыфры неправильные?
|
|||
38
Kassern
05.05.22
✎
12:38
|
(36) это по началу так, а потом все будет следующим образом, хозе надо поменять логику и на это тратится не рабочий день условный, а 3 дня. А потом еще неделю ковыряется, чтобы все косяки выявить и закостылять их. А потом следующая доработка и все становится еще хуже. И так до тех пор, пока хозя не устанет от постоянных жалоб сотрудников, что 1ска ваша не работает. Потом хозя наймет нового программиста, а тот скажет, что такое не дорабатывается, либо назовет не подъемную сумму, проще будет заново все переписать.
|
|||
39
Kassern
05.05.22
✎
12:39
|
вам то может и все равно, а страдать в конечно итоге будет бизнес и он куда больше денег потом потратит на исправление этого кода. Если бы хозя знал бы "прикуп", ему было бы не пофиг на костыльный код
|
|||
40
Kassern
05.05.22
✎
12:40
|
(38) все сведется к тому, что потом будет страшно, что то править, потому что все костыли могут посыпаться, особенно, если надо будет логику сильно поменять.
|
|||
41
Kassern
05.05.22
✎
12:47
|
да и вы наверное захотите в будущем зарабатывать больше и работать в крупной компании. А там уже придется с пониманием код писать и нагрузка может быть 24/7 базы и активных пользователей может быть за сотню. Поэтому косяки в коде могут на сотни тысяч компанию бить, я уж не говорю про простои. И подобный код из (0) просто не пройдет контроль и не будет добавлен в конфу рабочую. Поэтому лучше сразу себя приучать к порядку)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |