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

Неполное программное создание видов цен в УНФ 3.0

Автор meg12345, 16 янв 2026, 13:15

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

meg12345

Всем доброго времени. Вводные данные: 1С:Предприятие 8.3 (8.3.27.1719), Управление нашей фирмой, редакция 3.0 (3.0.12.146). Поставили задачу программно для каждого магазина создать отдельный вид цен. В дальнейшем из эксель файла для каждого магазина будет создаваться свой документ Установка цен. Столкнулся со следующей проблемой. При программном создании вида цен они в справочнике появляются, но в новом документе Установка цен их нет. Если интерактивно открыть карточку любого вида цен и записать по кнопке, то он появляется в документе. Параметры объект при интерактивной записи смотрел, сверял с теми, что при программной записи, но так и не нашел что именно не заполняю. Текст процедуры создания видов цен ниже. Прошу помощи.

&НаСервере
Процедура СоздатьВидыЦенНаСервере()
   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   СтруктурныеЕдиницы.Ссылка КАК Ссылка
      |ИЗ
      |   Справочник.СтруктурныеЕдиницы КАК СтруктурныеЕдиницы";
   
   РезультатЗапроса = Запрос.Выполнить();
   
   Выборка = РезультатЗапроса.Выбрать();
   
   Пока Выборка.Следующий() Цикл
      ТекТочка=Выборка.Ссылка;
      Если ТекТочка.ПометкаУдаления Тогда
         Продолжить;
      КонецЕсли;
      
      Если ПустаяСтрока(ТекТочка.КодТочки) Тогда
          Продолжить;
      КонецЕсли;   
      
      ТНаимВидаЦены="Пр_"+СокрЛП(ТекТочка.КодТочки);
      
      ВидЦенСсылка=Справочники.ВидыЦен.НайтиПоНаименованию(ТНаимВидаЦены);
      Если ВидЦенСсылка.Пустая() Тогда
         ВидЦенОбъект=Справочники.ВидыЦен.СоздатьЭлемент();
         ВидЦенОбъект.Наименование=ТНаимВидаЦены;
         ВидЦенОбъект.ВалютаЦены=Справочники.Валюты.НайтиПоНаименованию("руб.");
         ВидЦенОбъект.ЦенаВключаетНДС=Истина;
         ВидЦенОбъект.ТипВидаЦен=Перечисления.ТипыВидовЦен.Статический;
         ВидЦенОбъект.ПорядокОкругления=Перечисления.ПорядкиОкругления.Окр1;
         ВидЦенОбъект.ЗаполнятьИзОснования=Ложь;
         ВидЦенОбъект.ФорматЦены="ЧЦ=15; ЧДЦ=2";
         ВидЦенОбъект.НесколькоВалютДляЦен=Ложь;
         ВидЦенОбъект.ОкруглятьВБольшуюСторону=Истина;
         ВидЦенОбъект.РассчитыватьАвтоматически=Ложь;
         ВидЦенОбъект.ЦеныАктуальны=Истина;
         ВидЦенОбъект.Недействителен=Ложь;
         ВидЦенОбъект.ПометкаУдаления=Ложь;
         
         Попытка
            ВидЦенОбъект.Записать();
            ИнформационноеОкно.ДобавитьСтроку("Создан новый вид цены - "+ВидЦенОбъект);
         Исключение
            ИнформационноеОкно.ДобавитьСтроку(ОписаниеОшибки());
            ИнформационноеОкно.ДобавитьСтроку("Не удалось записать новый вид цены - "+ВидЦенОбъект);
         КонецПопытки;   
      КонецЕсли;   
   КонецЦикла;
КонецПроцедуры

meg12345

Разобрался. Не заполнял ИдентификаторФормул. Теперь все работает.

LexaK

meg12345, если в запрос вставить отборы, то вот этот говно-код можно убрать из цикла

     Если ТекТочка.ПометкаУдаления Тогда
         Продолжить;
      КонецЕсли;
     
      Если ПустаяСтрока(ТекТочка.КодТочки) Тогда
          Продолжить;
      КонецЕсли;   
 
если помогло нажмите: Спасибо!

Теги:

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

Рейтинг@Mail.ru

Поиск