УТ 10.3 Переоценка+тип цен номенклатуры (не заполняет справочник)
30.12.2011
16:22
#1
"Добрый день. Такая проблема: При переходе с 1с 7.7 на 8.2 переносим остатки документами поступления. Создаю документ программно, заполняю, а в итоге он не проведён потому что требуется сделать переоценку, документов таких будем оочень много, подскажите, пожалуйста, как программно сделать для документа переоценку?? и ещё, когдасоздаю док пытаюсь заполнить Тип Цен,создавая для каждого контрагента запись в справочнике, но они не создаются и не записываются, вот код
ТипЦенНом=Справочники.ТипыЦенНоменклатурыКонтрагентов;"
КонтрагентРодитель=Справочники.Контрагенты.НайтиПоНаименованию(СокрЛП(j.Поставщик)).Ссылка;
Выборка= ТипЦенНом.Выбрать(,КонтрагентРодитель,,);
Пока Выборка.Следующий() Цикл
Объект = Выборка.ПолучитьОбъект();
Если Объект.Ссылка=Справочники.ТипыЦенНоменклатурыКонтрагентов.ПустаяСсылка() Тогда
НовыйТипЦенНоменклатуры=Справочники.ТипыЦенНоменклатурыКонтрагентов.СоздатьЭлемент();
НовыйТипЦенНоменклатуры.Наименование="ОптоваяЦенаКонтрагента";
НовыйТипЦенНоменклатуры.Владелец=Справочники.Контрагенты.НайтиПоНаименованию(j.Поставщик);
НовыйТипЦенНоменклатуры.ТипЦеныНоменклатуры=Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Оптовая");
НовыйТипЦенНоменклатуры.ВалютаЦены=Справочники.Валюты.НайтиПоНаименованию("руб.");
НовыйТипЦенНоменклатуры.Записать();
НовыйДокумент.ТипЦен=НовыйТипЦенНоменклатуры.Ссылка;
Прервать;
Иначе
НовыйДокумент.ТипЦен=Объект.Ссылка;
КонецЕсли;
30.12.2011
16:49
#2
У Вас - выборка из справочника, а в выборке, по определению, не может быть элементов, которые подходят под условие
Если Объект.Ссылка=Справочники.ТипыЦенНоменклатурыКонтрагентов.ПустаяСсылка() Тогда
30.12.2011
17:01
#3
Подскажите, пожалуйста, на что мне заменить эту строку, или нужно добавить в выборку Отбор??
30.12.2011
17:12
#4
"Как я понима, Вы хотите создавать новый тип цен для контрагента в том случае, если к нему не привязан ни один тип цен.
Если это так, то код мог бы выглядеть следующим образом:
Если это так, то код мог бы выглядеть следующим образом:
ТипЦенНом=Справочники.ТипыЦенНоменклатурыКонтрагентов;КонтрагентРодитель=Справочники.Контрагенты.НайтиПоНаименованию(СокрЛП(j.Поставщик)).Ссылка;Выборка= ТипЦенНом.Выбрать(,КонтрагентРодитель,,);Если Выборка.Следующий() Тогда НовыйДокумент.ТипЦен=Выборка.Ссылка;Иначе НовыйТипЦенНоменклатуры=Справочники.ТипыЦенНоменклатурыКонтрагентов.СоздатьЭлемент(); НовыйТипЦенНоменклатуры.Наименование="ОптоваяЦенаКонтрагента"; НовыйТипЦенНоменклатуры.Владелец=КонтрагентРодитель; НовыйТипЦенНоменклатуры.ТипЦеныНоменклатуры=Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Оптовая"); НовыйТипЦенНоменклатуры.ВалютаЦены=Константы.ВалютаРегламентированногоУчета.Получить(); НовыйТипЦенНоменклатуры.Записать(); НовыйДокумент.ТипЦен=НовыйТипЦенНоменклатуры.Ссылка; КонецЕсли;
" Необходимо отстегнуть конфигуратор у пользователя (1С:Предприятие v 8.2)выгрузка из ТиС и зачет аванса
Читают тему
(гостей: 1)