Имя: Пароль:
1C
1С v8
Программное заполнение док. установка цен номенклатуры erp
0 Александра1с
 
13.09.22
13:10
Добрый день, столкнулась с проблемой, как заполнить цены сразу в нескольких видах цен номенклатуры? Понимаю что можно сделать кучу документов и в каждом заполнить по одному виду цен, но хочется красивее, заранее спасибо за уделённое время.
1 Фрэнки
 
13.09.22
13:11
так типовой документ так и работает, сразу с множеством указанных в нем видов цен.
2 Ryzeman
 
13.09.22
13:12
(0) вид цены находится в табличной части... Хоть миллиард их там указывай.
Сделай интерактивно документ по нескольким видам цен, посмотри отладчиком или консолью запросом что там заполняется, сделай то же самое программно по своим алгоритмам.
3 Александра1с
 
13.09.22
13:32
(2) я заполняю виды цены все которые нужны, а как заполнить  сами цены в тч товары?
НовСтрТЧ = НовДок.Товары.Добавить();
НовСтрТЧ.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(ТЗПрайсы[Итератор1].Наименование);
НовСтрТЧ.Валюта = Валюта;
Для Итератор = 0 по МассивЦен.Количество()-1 Цикл
    
    Тест = НовДок.Товары.Получить(Итератор1);
    Тест.ВидЦены = МассивЦен[Итератор];                                 
    Тест.Цена = тут цена согласновиду цены из файла
и заполняется только последний вид цен( значения перезаписывайтся)

в как заполнять по типу НовСтрТЧ.ВидЦеныОптовый = .....  НовСтрТЧ.ЦенаОптовая = ...
4 Александра1с
 
13.09.22
13:32
я заволняю все виды цен которые нужны в тч виды цен*
5 Ryzeman
 
13.09.22
13:40
(3) Сам подход не верен.
У тебя (допустим) три товара. Тебе надо заполнить (допустим) три вида цен.
У тебя должно получиться 9 строк в ТЧ товары. Для этого у тебя должно быть два цикла. В одном перебираешь товары, в другом виды цен. И внутри второго цикла ты именно добавляешь новую строку документа, а не пытаешься каким то странным образом получить.

В твоём случае если ты всегда делаешь по одному товару, то достаточно одного цикла, но добавлять строку ТЧ надо внутри него
6 Kassern
 
13.09.22
13:46
(3) Вам нужно "Для Итератор = 0 по МассивЦен.Количество()-1 Цикл" поместить внутрь НовСтрТЧ = НовДок.Товары.Добавить(); Тогда вы для каждого вида цен будете устанавливать цену в документ, а не последнюю
7 Александра1с
 
13.09.22
16:17
(6) Спасибо вам, раньше просто заполняла через дерево цен и там таким макаром заполнялось, а мозг по другому думать не хотел, всё работает
8 Александра1с
 
13.09.22
16:18
всем спасибо
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс