Добрый день. Тэги записываются в xml дополнительный реквизит пользователя, но в кассе Атол их нет
На фото как заполнен в отладчике
Не могу понять почему в кассе не видно
Функция ПараметрыДополнительногоРеквизитаПользователя() Экспорт
Параметры = Новый Структура();
Параметры.Вставить("Наименование"); // Строка,Необязательно - Наименование дополнительного реквизита пользователя (Тег 1085).
Параметры.Вставить("Значение"); // Строка,Необязательно - Значение дополнительного реквизита пользователя (Тег 1086).
Возврат Параметры;
КонецФункции
Показать
ОбщиеПараметры = МенеджерОборудованияКлиентСервер.ПараметрыОперацииФискализацииЧека();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Параметры.ИдентификаторМестаДеятельностиМДЛП = ВыборкаДетальныеЗаписи.Идентификатор;
КонецЦикла;
ОбщиеПараметры.ДополнительныйРеквизитПользователя= ИнтеграцияМДЛПКлиентСервер.СформироватьПараметрДополнительныйРеквизитПользователяМДЛП(Параметры);
Функция СформироватьПараметрДополнительныйРеквизитПользователяМДЛП(Параметры) Экспорт
ДополнительныйРеквизитПользователя = МенеджерОборудованияКлиентСервер.ПараметрыДополнительногоРеквизитаПользователя();
Префикс = "mdlp";
ПризнакПолнойЛьготы = "3108805"; // Код ОКУД формы льготного рецепта, как признак льготного рецепта со 100% дотированием.
ИмяРеквизита_НомерСерииЛьготногоРецепта = "ps";
ИмяРеквизита_НомерЛьготногоРецепта = "dn";
ИмяРеквизита_ДатаРегистрацииЛьготногоРецепта = "dd";
ФорматЗначения_ДатаРегистрацииЛьготногоРецепта = "ДФ=yyMMdd";
ИмяРеквизита_ИдентификаторМестаДеятельностиМДЛП = "sid";
ДлинаИдентификатораСубъектаОбращенияМДЛП = 14;
Разделитель = "&";
ТекстОшибки = НСтр("ru = 'Ошибка при заполнении параметров пробития чека:'");
// Тег 1085
ДополнительныйРеквизитПользователя.Наименование = Префикс;
Если Параметры.ПроцентЛьготы = 100 Тогда
ДополнительныйРеквизитПользователя.Наименование = ДополнительныйРеквизитПользователя.Наименование + ПризнакПолнойЛьготы;
КонецЕсли;
// Тег 1086
Значение = Новый Массив;
Если Параметры.ПроцентЛьготы > 0 Тогда
Значение.Добавить(СтрШаблон("%1%2", ИмяРеквизита_НомерСерииЛьготногоРецепта, СтрЗаменить(Параметры.НомерСерииЛьготногоРецепта, Разделитель, Разделитель + Разделитель)));
Значение.Добавить(СтрШаблон("%1%2", ИмяРеквизита_НомерЛьготногоРецепта, СтрЗаменить(Параметры.НомерЛьготногоРецепта, Разделитель, Разделитель + Разделитель)));
Значение.Добавить(СтрШаблон("%1%2", ИмяРеквизита_ДатаРегистрацииЛьготногоРецепта, Формат(Параметры.ДатаРегистрацииЛьготногоРецепта, ФорматЗначения_ДатаРегистрацииЛьготногоРецепта)));
КонецЕсли;
Если Не ЗначениеЗаполнено(Параметры.ИдентификаторМестаДеятельностиМДЛП) Тогда
ТекстОшибки = ТекстОшибки + Символы.ПС + СтрЗаменить(НСтр("ru = 'Недопустимое значение реквизита ""%Идентификатор%"" <идентификатор места деятельности субъекта обращения в ИС МДЛП> тега 1086'"), "%Идентификатор%", ИмяРеквизита_ИдентификаторМестаДеятельностиМДЛП);
ТекстОшибки = ТекстОшибки + Символы.ПС + НСтр("ru = 'Идентификатор места деятельности субъекта обращения в ИС МДЛП не заполнен.'");
ВызватьИсключение ТекстОшибки;
КонецЕсли;
Если СтрДлина(Параметры.ИдентификаторМестаДеятельностиМДЛП) <> ДлинаИдентификатораСубъектаОбращенияМДЛП Тогда
ТекстОшибки = ТекстОшибки + Символы.ПС + СтрЗаменить(НСтр("ru = 'Недопустимое значение реквизита ""%Идентификатор%"" <идентификатор места деятельности субъекта обращения в ИС МДЛП> тега 1086'"), "%Идентификатор%", ИмяРеквизита_ИдентификаторМестаДеятельностиМДЛП);
ТекстОшибки = ТекстОшибки + Символы.ПС + НСтр("ru = 'Недопустимая длина идентификатора места деятельности субъекта обращения в ИС МДЛП.'");
ТекстОшибки = ТекстОшибки + Символы.ПС + СтрЗаменить(НСтр("ru = 'Идентификатор должен состоять из %ДлинаИдентификатора% символов.'"), "%ДлинаИдентификатора%", ДлинаИдентификатораСубъектаОбращенияМДЛП);
ВызватьИсключение ТекстОшибки;
КонецЕсли;
ОписаниеЧислаИдентификатор = Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(ДлинаИдентификатораСубъектаОбращенияМДЛП, 0, ДопустимыйЗнак.Неотрицательный));
Если Не ЗначениеЗаполнено(ОписаниеЧислаИдентификатор.ПривестиЗначение(Параметры.ИдентификаторМестаДеятельностиМДЛП)) Тогда
ТекстОшибки = ТекстОшибки + Символы.ПС + СтрЗаменить(НСтр("ru = 'Недопустимое значение реквизита ""%Идентификатор%"" <идентификатор места деятельности субъекта обращения в ИС МДЛП> тега 1086'"), "%Идентификатор%", ИмяРеквизита_ИдентификаторМестаДеятельностиМДЛП);
ТекстОшибки = ТекстОшибки + Символы.ПС + НСтр("ru = 'Идентификатор места деятельности субъекта обращения в ИС МДЛП должен состоять только из цифр.'");
ВызватьИсключение ТекстОшибки;
КонецЕсли;
Значение.Добавить(СтрШаблон("%1%2", ИмяРеквизита_ИдентификаторМестаДеятельностиМДЛП, Параметры.ИдентификаторМестаДеятельностиМДЛП));
ДополнительныйРеквизитПользователя.Значение = СтрСоединить(Значение, Разделитель);
// Завершающий символ
ДополнительныйРеквизитПользователя.Значение = ДополнительныйРеквизитПользователя.Значение + Разделитель;
Возврат ДополнительныйРеквизитПользователя;
КонецФункции
ПоказатьНа фото как заполнен в отладчике
Не могу понять почему в кассе не видно
Прикрепленные файлы:
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот