Перерасчет цен по курсам валют УНФ
В УНФ при смене курса валют цены автоматом не пересчитываются.
Пишут, что при добавлении товара в заказ покупателя цены подставляются уже по актуальному курсу, но я проверил — не работает.
Однако цены должны пересчитываться и в карточке товара, потому что они попадают в прайс и на сайт.
В одной статье я обнаружил, что кнопка «Регистрировать новые цены и закрыть» добавляет цены в очередь расчета цен:

И это действительно оказалось так! При нажатии кнопки очередь заполнялась всей номенклатурой, и номенклатурой с характеристиками. К сожалению, по плохой традиции 1С, этот код не вынесен в отдельную функцию.
Поэтому был написан код, который сначала повторяет действия этой кнопки, а затем расчитывает очередь.
Проверил, после выполнения кода новые цены расчитались:

Кстати, из картинки видно, что динамические цены рассчитываются при проведении установки цен и формируются в движениях документа установки цен.
Код разместил в дополнительной внешней обработке, которую выполняю по расписанию:
Процедура ВыполнитьКодНаСервере() Экспорт // Тут выполнение кода на сервере ЗаписьЖурналаРегистрации("Отладка.РегистрацияЦен"); ВидЦен = Справочники.ВидыЦен.НайтиПоНаименованию("Продажная"); ЗарегистрироватьВидЦен(ВидЦен); ЗаписьЖурналаРегистрации("Отладка.РасчетЦенПоРасписанию"); ЦенообразованиеСервер.ОчередьРасчетаЦен(); КонецПроцедуры Процедура ЗарегистрироватьВидЦен(ВидЦен) Экспорт ОО = ВидЦен.ПолучитьОбъект(); ДополнительныеСвойства = Новый Структура(); ДополнительныеСвойства.Вставить("ТаблицыДляДвижений", Новый Структура()); Справочники.ВидыЦен.ИнициализироватьДанные(ВидЦен, ДополнительныеСвойства, ОО); Для каждого ЗаписьОТаблице Из ДополнительныеСвойства.ТаблицыДляДвижений Цикл НаборЗаписей = РегистрыСведений[ЗаписьОТаблице.Ключ].СоздатьНаборЗаписей(); НаборЗаписей.Отбор.ВидЦенРасчетный.Установить(ВидЦен, Истина); НаборЗаписей.Загрузить(ЗаписьОТаблице.Значение); НаборЗаписей.Записать(Истина); КонецЦикла; КонецПроцедуры
Классика — код получился простой, но чтобы его написать, потребовалось много времени.
Среда: УНФ 3.0.12.26 Объем: 2 час.




Свежие комментарии