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