Имя: Пароль:
1C
1С v8
Проведение документа "установка цен" программно
,
0 Pyryrym
 
04.08.20
19:09
У меня есть таблица, с перечнем номенклатуры и ценой. Необходимо при вызове внешней обработки, установить новые цены. Вид цены для всей таблицы одинаковый

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

КонецЦикла;


Но при этом никакие цены не задаются, можете помочь?
1 dka80
 
04.08.20
19:15
Док = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
    Док.Дата = ТекущаяДата();
    Док.Согласован = Истина;
    Док.Ответственный = Пользователи.ТекущийПользователь();
        
И проведнние документа вынеси за цикл
2 Pyryrym
 
04.08.20
19:24
(1) Ни в этом
3 Pyryrym
 
04.08.20
19:25
(1) Ни в этом


Док = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
Док.Дата = ТекущаяДата();
Док.Согласован = Истина;
Док.Ответственный = Пользователи.ТекущийПользователь();
Для Каждого Строка из ТЗ Цикл

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

КонецЦикла;
Док.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Оперативный);


Ни в этом

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

случае ничего не поменялось
4 RomanYS
 
04.08.20
19:28
(0) ТЗ то не пустая?
".Ссылка" - убери везде
5 Pyryrym
 
04.08.20
19:36
(4) Не пустая, не помогло
6 RomanYS
 
04.08.20
19:39
(5) и не должно было.
Если не пустая, смотри созданные документы. Може ещё что нужно было заполнить, чтобы движения правильные сформировались. Реквизита Организация нет?
7 Креатив
 
04.08.20
19:42
(0)Конфа-то какая? В Рознице нужно ещё ТЧ с видами цен заполнять.
8 Креатив
 
04.08.20
19:43
(7)+А так создай документ ручками и посмотри все заполненные данные.
9 Pyryrym
 
04.08.20
19:48
(7) УТ ред11
10 Pyryrym
 
04.08.20
19:51
Кажется понял, в чем ошибка
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн