Почему программно не меняется цена в документе Установка цен номенклатуры?
Всем мира.
Сделал проверку на превышение цены в документе установка цен номенклатуры.
Делаю обход тч на сервере в модуле объекта документа Установка цен номенклатуры.
Код следующий.
Так вот в отладчике вижу, что в ЭтотОбъект.Товары все установилось как надо, однако на форме значение устанавливается только для первой характеристики, ну и движения тоже формируются только по одной характеристике, хотя в отладчике вижу что все цены установлены в ЭтотОбъект.Товары
Сделал проверку на превышение цены в документе установка цен номенклатуры.
Делаю обход тч на сервере в модуле объекта документа Установка цен номенклатуры.
Код следующий.
&После("ОбработкаПроведения")
Процедура склад_ОбработкаПроведения(Отказ, РежимПроведения);
Для Каждого стр из ЭтотОбъект.Товары Цикл
Если ЗначениеЗаполнено(стр.Характеристика) И стр.ВидЦены = Справочники.ВидыЦен.НайтиПоНаименованию("Розничная") И стр.Номенклатура.ор_ЖНВЛС Тогда
//Сообщить("Розничная цена равна " + стр.Цена);
Соединение = Новый HTTPСоединение(
"api.*********.ru", // сервер (хост)
443, // порт, по умолчанию для http используется 80, для https 443
, // пользователь для доступа к серверу (если он есть)
, // пароль для доступа к серверу (если он есть)
, // здесь указывается прокси, если он есть
, // таймаут в секундах, 0 или пусто - не устанавливать
Новый ЗащищенноеСоединениеOpenSSL()
);
Штрихкод = ПолучитьШтрихкод(стр.Номенклатура);
Запрос = Новый HTTPЗапрос("/v5/reestr/get_data/" + Штрихкод);
Результат = Соединение.Получить(Запрос);
Если Результат.КодСостояния = 200 Тогда
ЧтениеJSON = Новый ЧтениеJSON();
ЧтениеJSON.УстановитьСтроку(Результат.ПолучитьТелоКакСтроку());
ПредельныеЦены = ПрочитатьJSON(ЧтениеJSON);
ЧтениеJSON.Закрыть();
Если ЗначениеЗаполнено(ПредельныеЦены)Тогда
Если ЗначениеЗаполнено(ПредельныеЦены.rozn_price_nds) И Число(ПредельныеЦены.rozn_price_nds) > 0 Тогда
Если стр.Цена > ПредельныеЦены.rozn_price_nds Тогда
Сообщить("Превышеная предельно допустимая цена на товар " + стр.Номенклатура + ". Установлена новая цена - " + ПредельныеЦены.rozn_price_nds);
стр.Цена = ПредельныеЦены.rozn_price_nds;
//стр.ЦенаИзмененаВручную = Истина;
ЭтотОбъект.Записать();
КонецЕсли;
Иначе
Сообщить("Не найдено предельной розничной цены для товара - " + стр.Номенклатура);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
ПоказатьТак вот в отладчике вижу, что в ЭтотОбъект.Товары все установилось как надо, однако на форме значение устанавливается только для первой характеристики, ну и движения тоже формируются только по одной характеристике, хотя в отладчике вижу что все цены установлены в ЭтотОбъект.Товары
По теме из базы знаний
- РАУЗ: составление уравнений для расчета себестоимости товаров в программе 1С:Управление торговлей, редакция 11
- Интеграция сценарного тестирования в процесс разработки
- Разработка и сценарное тестирование с Vanessa-ADD. Практические примеры сценариев. Шаги встроенной библиотеки
- Экспертный взгляд на оптимизацию производительности на примере исправления и декомпозиции запроса
- Как я писал ТЗ на внедрение 1С:ERP
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот