Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 ноя 2024, 13:26

Программная установка цены при формировании документа Установка Цен Номенклатуры

Автор Kevin, 13 фев 2023, 10:30

0 Пользователей и 1 гость просматривают эту тему.

Kevin

Формирую документ УстановкаЦенНоменклатуры программно и затем открываю форму, чтоб осталось только провести.
Колонки номенклатура и вид цены заполняются нормально, а с ценой не пойму что делать. У поля в документе значение ОпределяемыеТипы.ДенежнаяСуммаЛюбогоЗнака. Но никакие цифры не подставляются в поле. Не пойму, что я неправильно делаю.
Подскажите, пожалуйста.

ТаблицаНоменклатуры = новый ТаблицаЗначений;
ТаблицаНоменклатуры.Колонки.Добавить("Номенклатура");
ТаблицаНоменклатуры.Колонки.Добавить("ВидЦены");
ТаблицаНоменклатуры.Колонки.Добавить("Цена");

Для каждого Товар из Товары Цикл       
НМК = Справочники.Номенклатура.НайтиПоНаименованию(Товар.name); 
Если НМК.Пустая() Тогда   
Продолжить;
КонецЕсли;         


НоваяСтрока = ТаблицаНоменклатуры.Добавить();     
НоваяСтрока.Номенклатура = НМК;
НоваяСтрока.ВидЦены = ТипЦеныДокумента;   
НоваяСтрока.Цена = ?????; //как должно выглядеть присваивание цены здесь???

КонецЦикла;

LexaK

Kevin, так вроде при заполнении документа Установка цены номенклатуры не надо создавать
новую таблицу значений! Смело выкидывайте этот код и двигайтесь дальше.
если помогло нажмите: Спасибо!

Kevin

LexaK, так а как тогда? Подскажите куда копать.
Через этот способ оно хоть номенклатуру заносит и ручками можно отредактировать цену и провести. Но товаров будет много, поэтому нужная программная установка цены.

LexaK

Kevin, у документа Установка цен, есть Табличная Часть (ТЧ) Товары вот ее и заполняйте!
если помогло нажмите: Спасибо!

LexaK

после заполнения ТЧ.Товары, не забудьте свернуть по колонке ВидЦены, и этими значениями заполнить ТЧ.ВидыЦен
этого-же документа.
если помогло нажмите: Спасибо!

Kevin

LexaK, спасибо за наводку. Документ с ценами сформировать удалось. Но после этого, когда в интерфейсе делаю проводку документа, проводится без ошибок, но в прайс-листе цены не появляются. Эта ситуация я так понимаю называется так, что не происходит движения, верно? Видимо, я упускаю еще какой-то важный момент. Натолкните, пожалуйста, почему так происходит.

Вот код:
Док = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
Док.Дата = НачалоМесяца(ТекущаяДата());
Док.Согласован = Истина;
Док.Ответственный = Пользователи.ТекущийПользователь();
   
ВидЦены = Справочники.ВидыЦен.НайтиПоНаименованию("Розничная");
ТЧВидЦены = Док.ВидыЦен.Добавить();
ТЧВидЦены.ВидЦены = ВидЦены;                           

НоваяСтрока = Док.Товары.Добавить();
НоваяСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("Мой товар");
НоваяСтрока.ВидЦены      = ВидЦены;
НоваяСтрока.Цена         = 79.00;
Док.Товары.Свернуть("Номенклатура, ВидЦены, Цена");

//Док.Статус = Перечисления.СтатусыУстановокЦенНоменклатуры.Согласован; пробывал и это свойство записывать, но изменений в проводке не увидел
Док.Записать(); 

LexaK

Kevin, вот здесь, просто запись без проведения
Док.Записать(); 

но вы говорите что затем проводите данный/созданный документ из интерфейса,
Какие нибудь сообщения, при проведении, есть?
попробуйте использовать отладчик при проведении документа, проверьте возможно нехватает еще каких данных!

а вот эта команда зачем?
Док.Товары.Свернуть("Номенклатура, ВидЦены, Цена");
не надо вставлять абы каких команд, если вы точно не знаете что она делает и для чего!
(даже если эта команда не приводит к ошибке)
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск