() Здравствуйте! Делалось под старую РМК, для новой РМК надо немного доработать, добавить коды налогообложения
&НаСервереБезКонтекста
&Вместо("КассаПоддерживаетОперацииПоСНОИзСпискаПокупок")
Функция пр_КассаПоддерживаетОперацииПоСНОИзСпискаПокупок(ИдентификаторУстройства, СНОИзСпискаПокупок)
Результат = Новый Структура("Ошибка,ТекстОшибки", Ложь, "");
Если ЗначениеЗаполнено(ИдентификаторУстройства) И СНОИзСпискаПокупок.Количество() > 0 Тогда
ПараметрыРегистрацииУстройства = МенеджерОборудованияРМК.ПараметрыРегистрацииУстройства(ИдентификаторУстройства);
//++ Доработка для принтеров чеков
Если Не ЗначениеЗаполнено(ПараметрыРегистрацииУстройства.КодыСистемыНалогообложения) Тогда
ПараметрыРегистрацииУстройства.КодыСистемыНалогообложения = "0,1,2,3,4,5";
КонецЕсли;
//--
Если ПараметрыРегистрацииУстройства.Свойство("КодыСистемыНалогообложения")
И ЗначениеЗаполнено(ПараметрыРегистрацииУстройства.КодыСистемыНалогообложения) Тогда
ПрименяемыеКодыНалогообложения = ПараметрыРегистрацииУстройства.КодыСистемыНалогообложения;
Если ПустаяСтрока(ПрименяемыеКодыНалогообложения) Тогда
ТекстОшибки = НСтр("ru ='Не заданы коды систем налогообложения в параметрах регистрации кассы'");
Результат.Вставить("Ошибка", Истина);
Результат.Вставить("ТекстОшибки", ТекстОшибки);
Возврат Результат;
КонецЕсли;
ТекстОшибки = НСтр("ru = ''");
Для Каждого СтрокаСписка Из СНОИзСпискаПокупок Цикл
Если НЕ СтрокаСписка.Организация = ИдентификаторУстройства.Организация Тогда
Продолжить;
КонецЕсли;
СНО = СтрокаСписка.СистемаНалогообложения;
КодСНО = МенеджерОборудованияРМККлиентСервер.КодСистемыНалогообложенияККТ(СНО);
Если НЕ КодСНО = Неопределено Тогда
КодСНОСтрокой = Строка(КодСНО);
Если СтрНайти(ПрименяемыеКодыНалогообложения, КодСНОСтрокой) = 0 Тогда
СимволДополнения = ?(ПустаяСтрока(ТекстОшибки), "", НСтр("ru = ' '"));
ТекстТекущейОшибки = СтрШаблон(НСтр("ru = 'Касса не поддерживает продажу по СНО ""%1"" '"), СНО);
ТекстОшибки = СтрШаблон("%1%2%3", ТекстОшибки, СимволДополнения, ТекстТекущейОшибки);
КонецЕсли;
Иначе
СимволДополнения = ?(ПустаяСтрока(ТекстОшибки), "", " ");
ТекстТекущейОшибки = СтрШаблон(НСтр("ru = 'В БПО не найдено подходящего кода для СНО ""%1"" '"), СНО);
ТекстОшибки = СтрШаблон("%1%2%3", ТекстОшибки, СимволДополнения, ТекстТекущейОшибки);
КонецЕсли;
КонецЦикла;
Если НЕ ПустаяСтрока(ТекстОшибки) Тогда
ТекстОшибки = СтрШаблон(НСтр("ru = '%1'"), ТекстОшибки);
Результат.Вставить("Ошибка", Истина);
Результат.Вставить("ТекстОшибки", ТекстОшибки);
КонецЕсли;
Иначе
Результат.Вставить("ТекстОшибки",
НСтр("ru = 'Не удалось определить коды систем налогообложения из параметров регистрации кассы'"));
Результат.Вставить("Ошибка", Истина);
КонецЕсли;
Иначе
Результат.Вставить("ТекстОшибки",
НСтр("ru = 'Не удалось определить кассу или в списке покупок отсутствуют данные о СНО'"));
Результат.Вставить("Ошибка", Истина);
КонецЕсли;
Возврат Результат;
КонецФункции
Показать