|
v7: Странный код в новой ТиС | ☑ | ||
---|---|---|---|---|
0
ildary
11.01.16
✎
09:49
|
Уважаемые специалисты, подскажите пожалуйста, как правильно понимать такой код?
Если МнЧ.КоличествоСтрок() = 0 Тогда МнЧ.НоваяСтрока(); МнЧ.Номенклатура = МнЧ.ПолучитьЗначение(1,"Номенклатура"); МнЧ.Цена = МнЧ.ПолучитьЗначение(1,"Цена"); МнЧ.СтавкаНДС = МнЧ.ПолучитьЗначение(1,"СтавкаНДС"); МнЧ.Единица = МнЧ.ПолучитьЗначение(1,"Единица"); МнЧ.ЕдиницаКод = МнЧ.ПолучитьЗначение(1,"ЕдиницаКод"); МнЧ.АкцизЦена = МнЧ.ПолучитьЗначение(1,"АкцизЦена"); Иначе МнЧ.НоваяСтрока(); МнЧ.Номенклатура = МнЧ.ПолучитьЗначение(МнЧ.КоличествоСтрок()-1,"Номенклатура"); МнЧ.Цена = МнЧ.ПолучитьЗначение(МнЧ.КоличествоСтрок()-1,"Цена"); МнЧ.СтавкаНДС = МнЧ.ПолучитьЗначение(МнЧ.КоличествоСтрок()-1,"СтавкаНДС"); МнЧ.Единица = МнЧ.ПолучитьЗначение(МнЧ.КоличествоСтрок()-1,"Единица"); МнЧ.ЕдиницаКод = МнЧ.ПолучитьЗначение(МнЧ.КоличествоСтрок()-1,"ЕдиницаКод"); МнЧ.АкцизЦена = МнЧ.ПолучитьЗначение(МнЧ.КоличествоСтрок()-1,"АкцизЦена"); КонецЕсли; разве не достаточно для первого ветвления сделать МнЧ.НоваяСтрока();? |
|||
1
Масянька
11.01.16
✎
09:51
|
(0) Выше код покажи...
|
|||
2
ildary
11.01.16
✎
09:56
|
(1) он не особо поможет. Это кусок процедуры ПодготовитьМнЧосн() из СчетФактураВыданный. Пытаюсь понять - это ошибка или мудрость кода превышает мои знания?
Пока РаспредГТД.ПолучитьСтроку() = 1 Цикл ТекСумма = МнЧ.Сумма; ТекСуммаНДС = МнЧ.СуммаНДС; ТекВсегоСНДС = МнЧ.ВсегоСНДС; ТекКоличество = МнЧ.Количество; Если ТекКоличество > 0 Тогда ТекКоэф = РаспредГТД.Колво/ТекКоличество; Иначе ТекКоэф = 1; КонецЕсли; Если НЕ(РаспредГТД.НомерСтроки = 1) Тогда Если МнЧ.КоличествоСтрок() = 0 Тогда МнЧ.НоваяСтрока(); МнЧ.Номенклатура = МнЧ.ПолучитьЗначение(1,"Номенклатура"); МнЧ.Цена = МнЧ.ПолучитьЗначение(1,"Цена"); МнЧ.СтавкаНДС = МнЧ.ПолучитьЗначение(1,"СтавкаНДС"); МнЧ.Единица = МнЧ.ПолучитьЗначение(1,"Единица"); МнЧ.ЕдиницаКод = МнЧ.ПолучитьЗначение(1,"ЕдиницаКод"); МнЧ.АкцизЦена = МнЧ.ПолучитьЗначение(1,"АкцизЦена"); Иначе МнЧ.НоваяСтрока(); МнЧ.Номенклатура = МнЧ.ПолучитьЗначение(МнЧ.КоличествоСтрок()-1,"Номенклатура"); МнЧ.Цена = МнЧ.ПолучитьЗначение(МнЧ.КоличествоСтрок()-1,"Цена"); МнЧ.СтавкаНДС = МнЧ.ПолучитьЗначение(МнЧ.КоличествоСтрок()-1,"СтавкаНДС"); МнЧ.Единица = МнЧ.ПолучитьЗначение(МнЧ.КоличествоСтрок()-1,"Единица"); МнЧ.ЕдиницаКод = МнЧ.ПолучитьЗначение(МнЧ.КоличествоСтрок()-1,"ЕдиницаКод"); МнЧ.АкцизЦена = МнЧ.ПолучитьЗначение(МнЧ.КоличествоСтрок()-1,"АкцизЦена"); КонецЕсли; КонецЕсли; |
|||
3
НЕА123
11.01.16
✎
09:59
|
(1)
как я понял, в (0) вопрос о смысле МнЧ.Номенклатура = МнЧ.Номенклатура; |
|||
4
Масянька
11.01.16
✎
10:01
|
(2) СФ заполняется на основании РтиУ с учетом партий (ГТД). Если не понятно - исправь, как тебе понятно и попробуй.
|
|||
5
ildary
11.01.16
✎
10:03
|
(3) да, особенно если перед этим стоит оператор МнЧ.НоваяСтрока()
(4) вышло обновление ТиС с исправлением ошибок. Я смотрю, что они исправили и пытаюсь понять, нету ли здесь ереси. |
|||
6
itlikbez
11.01.16
✎
10:05
|
(0) Зато красиво.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |