• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Проблема с ТЧ документа установка цен номенклатуры в УТ

  • Автор темы konst
  • Дата начала
K

konst

Табличную часть документа установка цен номенклатуры заполняю так (загружаю из файла по артикулу и свойству)
Для Сч = 0 По ТипыЦен.ВГраница() Цикл

ТЧТовары = ДокУЦН.Товары.Добавить();
ТЧТовары.Номенклатура = СпрНом;
ТЧТовары.ТипЦен = ТипыЦен[Сч];
ТЧТовары.Валюта = ТипыЦен[Сч].ВалютаЦены.Ссылка;
ТЧТовары.ЕдиницаИзмерения = СпрНом.ЕдиницаДляОтчетов;
ТЧТовары.Цена =
КонецЦикла;
Где ТипыЦен массив типов цен

Проблема в том, что если добавляю 9 элементов получается 10. В результате дублируется элемент справочника и его получается 2. Причем в 1, 2 типа цен заполнены, другие 2 –нет. Во втором дубле тоже самое, но наоборот. Т.е. не заполняются 2 противоположные колонки в документе именно в этих дублях.
Через конфигуратор посмотрел пошаговое заполнение через отладчик, вроде все правильно.

Поразило, то что если гружу 20 элементов с проблемным (которых должно быть два одинаковых) все правильно заполняет.
 
V

vbs

похоже, что цикл стОит с единицы начать, а не с нуля
 
K

konst

Почему с 1. Обход идет по количеству элементов
На заметку с 1 не заполняет 1ый тип цен, однако количество элементов в ТЧ сколько нужно

Такой парадокс. Как только убираю при загрузке из файла 1-н тип цен все ок. И еще при обходе ТЧ товары перед ДокУЦН.ПолучитьФорму().Открыть() (документ не записываю сразу открываю) выводит количество какое нужно.
 
M

mialord

Всегда выручает в любом языке высокого уровня отладка цикла в которой можно проследить выполнение цикла. Если пробовали выполнить, то, что вам дал результат? Лучший лекарь для своей 1С - ВЫ.
 
V

vbs

Примерно это я и имел в виду - ясно же, что на единицу больше действий происходит в этом цикле
 
M

mialord

Да понятно что ты именно это и хотел изначально объяснить человеку, но не понял он. Вот я и хотел, чтобы он сам, в отладчике, увидел, что последняя итерация избыточна, ну, тогда бы и сообразил что к чему, и, более таких вопросов не задавал.
 
V

vbs

Да все же правильно простой цикл написать - не есть высший пилотаж.
Вряд ли человек, не знающий таких элементарных вещей, сможет что-то серьезное сделать
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!