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

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

konst

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

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

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

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

vbs

Well-Known Member
18.02.2007
1 708
3
#2
похоже, что цикл стОит с единицы начать, а не с нуля
 
K

konst

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

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

mialord

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

vbs

Well-Known Member
18.02.2007
1 708
3
#6
Примерно это я и имел в виду - ясно же, что на единицу больше действий происходит в этом цикле
 
M

mialord

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

vbs

Well-Known Member
18.02.2007
1 708
3
#8
Да все же правильно простой цикл написать - не есть высший пилотаж.
Вряд ли человек, не знающий таких элементарных вещей, сможет что-то серьезное сделать