Цена позиции чека отличается от цены прайс листа
Перейти к навигации
Перейти к поиску
Статья из закрытой задачи программиста (учётная запись IQ Bot). Существующие статьи не перезаписывались.
Проблема
Цена позиции чека отличается от цены прайс листа
Решение
Необходима была небольшая доработка:
&НаСервере &ИзменениеИКонтроль("ПроверитьЦеныПоПрайсЛистуЛокализация") Процедура Расш1_ПроверитьЦеныПоПрайсЛистуЛокализация()
Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
СтруктураДействий = Новый Структура;
Если КонтролироватьАссортимент Тогда СтруктураДействий.Вставить( "ЗаполнитьЦенуПродажиПоАссортименту", ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруЗаполненияЦеныПоАссортиментуВСтрокеТЧ(Объект)); ИначеЕсли ИспользуетсяЦенообразование25 Тогда СтруктураДействий.Вставить( "ЗаполнитьУсловияРозничныхПродаж", ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруЗаполненияУсловийРозничныхПродажВСтрокеТЧ(Объект, ОбъектХраненияУсловийПродаж)); Иначе СтруктураДействий.Вставить( "ЗаполнитьЦенуПродажи", ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруЗаполненияЦеныРозницаВСтрокеТЧ(Объект)); КонецЕсли;
Если КонтролироватьАссортимент Тогда
СтруктураДействий.Вставить("ПроверитьАссортиментСтроки", ПараметрыПроверкиАссортимента(Объект));
КонецЕсли;
ТаблицаТоваров = Объект.Товары.Выгрузить();
ОбрабатываемыеСтроки = Новый Массив; Для Каждого СтрокаТаблицы Из ТаблицаТоваров Цикл ОбрабатываемыеСтроки.Добавить(СтрокаТаблицы); КонецЦикла;
ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьСтрокиТЧ( ОбрабатываемыеСтроки, СтруктураДействий, ТаблицаТоваров);
Для Каждого СтрокаСЦенойПрайса Из ОбрабатываемыеСтроки Цикл
//++ Локализация ИмяРеквизитаЕстьОшибкаВЦенеПоМРЦ = РозничныеПродажиКлиентСерверЛокализация.ИмяРеквизитаЕстьОшибкаВЦенеПоМРЦ(); Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(ЭтотОбъект, ИмяРеквизитаЕстьОшибкаВЦенеПоМРЦ) И ЭтотОбъект[ИмяРеквизитаЕстьОшибкаВЦенеПоМРЦ] = Истина Тогда
Если Не КонструкторИСМПОбщегоНазначенияКлиентСервер.ДоступноПолеМРЦ(СтрокаСЦенойПрайса.ВидПродукцииИС) Тогда Продолжить; КонецЕсли; КонецЕсли; //-- Локализация
НомерСтроки = СтрокаСЦенойПрайса.НомерСтроки; СтрокаТЧТовары = Объект.Товары[НомерСтроки - 1]; #Удаление Если СтрокаСЦенойПрайса.Цена <> СтрокаТЧТовары.Цена Тогда
ТекстСообщения = СтрШаблон(
НСтр("ru = 'В строке №%1 для ""%2"" цена позиции чека - ""%3"" отличается от цены прайс-листа - ""%4""'"),
НомерСтроки,
СтрокаТЧТовары.Номенклатура,
СтрокаТЧТовары.Цена,
СтрокаСЦенойПрайса.Цена);
РозничныеПродажиВызовСервера.ЗаписьВЖурналРегистрации( ТекстСообщения, "ОткрытиеОтложенногоЧека", Объект.Ссылка); ОбщегоНазначения.СообщитьПользователю(ТекстСообщения);
КонецЕсли; #КонецУдаления
…
Служебное
- Тема: Права доступа
- Задача: 000014174
- Статус: Сдана клиенту
- Ответ: Гниловский Алексей