Причина возникновения: Возникает при проверке акцизных марок Алкогольной продукции в регистре
Где расположена: Общий модуль - АкцизныеМаркиЕГАИС - Процедура ПроверитьЗаполнениеАкцизныхМарокРегистр2
Что делать: Проверить правильность указания статуса "Поштучная" в строке с ошибкой табличной части документа. Обратится за помощью к программисту 1С.
Для программиста: Код в данной процедуре выполняет сложный запрос к табличной части документа и если в результате выполнения запроса в строке "Поштучная" будет значение Истина, то код выдаст эту ошибку.
Текст процедуры:
Причина возникновения: Возникает при проверке акцизных марок Алкогольной продукции в регистре
Где расположена: Общий модуль - АкцизныеМаркиЕГАИС - Процедура ПроверитьЗаполнениеАкцизныхМарокРегистр2
Что делать: Проверить правильность указания статуса "Поштучная" в строке с ошибкой табличной части документа. Обратится за помощью к программисту 1С.
Для программиста: Код в данной процедуре выполняет сложный запрос к табличной части документа и если в результате выполнения запроса в строке "Поштучная" будет значение Истина, то код выдаст эту ошибку.
Текст процедуры:
Процедура ПроверитьЗаполнениеАкцизныхМарокРегистр2(Объект, Отказ)
Товары = Объект.Товары.Выгрузить();
ЕстьАкцизныеМарки = ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(Объект,"АкцизныеМарки");
Если ЕстьАкцизныеМарки Тогда
АкцизныеМарки = Объект.АкцизныеМарки.Выгрузить();
Иначе
АкцизныеМарки = ПустаяТаблицаАкцизныеМарки();
Товары.Колонки.Добавить("ИдентификаторСтроки", Новый ОписаниеТипов("Булево"));
КонецЕсли;
Запрос = Новый Запрос(
"ВЫБРАТЬ
| Т.НомерСтроки КАК НомерСтроки,
| Т.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫРАЗИТЬ(Т.АлкогольнаяПродукция КАК Справочник.КлассификаторАлкогольнойПродукцииЕГАИС) КАК АлкогольнаяПродукция,
| ВЫРАЗИТЬ(Т.Справка2 КАК Справочник.Справки2ЕГАИС) КАК Справка2,
| Т.Количество КАК Количество
|ПОМЕСТИТЬ Товары
|ИЗ
| &Товары КАК Т
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| Товары.АлкогольнаяПродукция КАК АлкогольнаяПродукция,
| Товары.Справка2 КАК Справка2,
| ЕСТЬNULL(Товары.Справка2.Поштучная, ЛОЖЬ) КАК Поштучная,
| Товары.Количество КАК Количество,
| 0 КАК КоличествоАкцизныхМарок
|ИЗ
| Товары КАК Товары
|ГДЕ
| ЕСТЬNULL(Товары.АлкогольнаяПродукция.ВидПродукции.Маркируемый, ЛОЖЬ)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Т.ИдентификаторСтроки КАК ИдентификаторСтроки,
| Т.Справка2 КАК Справка2,
| Т.Количество КАК Количество,
| ВЫРАЗИТЬ(Т.АкцизнаяМарка КАК Справочник.ШтрихкодыУпаковокТоваров) КАК АкцизнаяМарка
|ПОМЕСТИТЬ АкцизныеМарки
|ИЗ
| &АкцизныеМарки КАК Т
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| АкцизныеМарки.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| АкцизныеМарки КАК АкцизныеМарки
|ГДЕ
| ВЫБОР
| КОГДА АкцизныеМарки.АкцизнаяМарка.ТипШтрихкода = ЗНАЧЕНИЕ(Перечисление.ТипыШтрихкодов.DataMatrix)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| И АкцизныеМарки.Справка2 = ЗНАЧЕНИЕ(Справочник.Справки2ЕГАИС.ПустаяСсылка)");
Запрос.Параметры.Вставить("Товары", Товары);
Запрос.Параметры.Вставить("АкцизныеМарки", АкцизныеМарки);
Пакет = Запрос.ВыполнитьПакет();
Товары = Пакет[1].Выгрузить();
АкцизныеМарки = Пакет[3].Выгрузить();
АкцизныеМарки.Индексы.Добавить("ИдентификаторСтроки");
Для Каждого СтрокаТЧ Из Товары Цикл
Если СтрокаТЧ.Поштучная = Истина Тогда
ТекстОшибки = СтрШаблон(
НСтр("ru = 'В строке %1 для алкогольной продукции """"%2"""" указана поштучная Справка 2 которая не может быть учтена в регистре 2 ЕГАИС.'"),
СтрокаТЧ.НомерСтроки,
СтрокаТЧ.АлкогольнаяПродукция);
ОбщегоНазначения.СообщитьПользователю(
ТекстОшибки,
Объект,
ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти("Товары", СтрокаТЧ.НомерСтроки, "Справка2"),,
Отказ);
Продолжить;
КонецЕсли;
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("ИдентификаторСтроки", СтрокаТЧ.ИдентификаторСтроки);
НайденныеСтроки = АкцизныеМарки.НайтиСтроки(ПараметрыОтбора);
Если НайденныеСтроки.Количество() Тогда
ТекстОшибки = НСтр("ru = 'В строке %1 для алкогольной продукции """"%2"""" указана поштучная акцизная марка которая не может быть учтена в регистре 2 ЕГАИС.'");
ТекстОшибки = СтрШаблон(ТекстОшибки,
СтрокаТЧ.НомерСтроки,
СтрокаТЧ.АлкогольнаяПродукция);
ОбщегоНазначения.СообщитьПользователю(
ТекстОшибки,
Объект,
ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти("Товары", СтрокаТЧ.НомерСтроки, "Справка2"),,
Отказ);
КонецЕсли;
КонецЦикла;
КонецПроцедуры