Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как создать цены? Через док или РС

Как создать цены? Через док или РС
Я
   bebibo
 
28.08.20 - 14:29
Всем доброго времени суток. Подскажите пожалуйста.
Нужно установить цены на номенклатуру в ут11, программно
Как это делать? Создавать документ:

    СоздДокумент = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
    
    СоздДокумент.Дата = Объект.ДатаУстановкиЦен;
    СоздДокумент.Согласован = Истина;
    СоздДокумент.Ответственный = Пользователи.ТекущийПользователь();
    СоздДокумент.Статус = Перечисления.СтатусыУстановокЦенНоменклатуры.Согласован;
    Для каждого тов из МоиТовары Цикл
        Для строкаТП = 1 По всегоСтрок Цикл
            
            Если МоиТовары .Получить(3).Получить(строкаТП) <> "DESCRIPTION" тогда
                НоваяСтр = СоздДокумент.Товары.Добавить();    
                НоваяСтр.ВидЦены = Объект.ВидЦены;
                СсылкаНаНоменклатуру = Справочники.Номенклатура.НайтиПоНаименованию(МоиТовары .Получить(1).Получить(строкаТП));
                НоваяСтр.Номенклатура = СсылкаНаНоменклатуру;
                НоваяСтр.Цена =  МоиТовары .Получить(4).Получить(строкаТП);
        КонецЕсли;
    КонецЦикла;
    КонецЦикла;
СоздДокумент.Записать(РежимЗаписиДокумента.Проведение);


Или это делается  регистром сведений?? как то так:
НовыйДокументУстановкаЦенНоменклатуры = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
НовыйДокументУстановкаЦенНоменклатуры.Дата = ТекущаяДата();
ТаблицаТовары = ЭтотОбъект.Товары;
ВидЦеныНоменклатуры = Справочники.ВидыЦен.НайтиПоНаименованию("Закупочная");
Для Каждого ЭлементТаблицаТовары Из ТаблицаТовары Цикл
НаборЗаписей = РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(НовыйДокументУстановкаЦенНоменклатуры);
НаборЗаписей.Добавить();
НаборЗаписей.Период = НовыйДокументУстановкаЦенНоменклатуры.Дата();
НаборЗаписей.ВидЦены = ВидЦеныНоменклатуры;
НаборЗаписей.Номенклатура = ЭлементТаблицаТовары.Номенклатура;
НаборЗаписей.Характеристика = ЭлементТаблицаТовары.Характеристика;
НаборЗаписей.Цена = ЭлементТаблицаТовары.Цена;
НаборЗаписей.Упаковка = ЭлементТаблицаТовары.Упаковка;
НаборЗаписей.Валюта = ВидЦеныНоменклатуры.ВалютаЦены;
НаборЗаписей.Записать();
КонецЦикла;
   ДенисЧ
 
1 - 28.08.20 - 14:30
Разумеется, через документ
   bebibo
 
2 - 28.08.20 - 14:32
(1) пишет что запись в РС существует, хотя там ничего нет + консолью запросов тоже пусто
   piter3
 
3 - 28.08.20 - 14:34
может проще загрузить из экселя ТЧ и не мучаться?
   bebibo
 
4 - 28.08.20 - 14:36
СоздДокумент.Записать(); - вот так не ругается  и записывается, но мне нужно провести, поэтому я делаю так:
СоздДокумент.Записать(РежимЗаписиДокумента.Проведение); - ругается что запись есть, хотя в РС пусто!!
   bebibo
 
5 - 28.08.20 - 14:40
ой, у меня по коду косяк, цикл по одно номенклатуре по несколько раз ходит и пишет в ТЧ)))
   mikecool
 
6 - 28.08.20 - 14:42
(5) ищи - у тебя там не один косяк
   bebibo
 
7 - 28.08.20 - 14:45
(6) какой еще??
   Kesim
 
8 - 28.08.20 - 14:47
(3) +1
   bebibo
 
9 - 28.08.20 - 14:50
(8) да всё получилось)
А из экселя как? Выгрузить из экселя данные и выгрузить в ТЧ документа?
   piter3
 
10 - 28.08.20 - 15:00
(9) Ага,ну раз сделал то ладно

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.