2066 lines
156 KiB
Plaintext
2066 lines
156 KiB
Plaintext
|
||
#Область ПрограммныйИнтерфейс
|
||
|
||
// Проверяет соответствие ИНН требованиям.
|
||
//
|
||
// Параметры:
|
||
// ИНН - Строка - проверяемый индивидуальный номер налогоплательщика.
|
||
// ЭтоЮридическоеЛицо - Булево - признак, является ли владелец ИНН юридическим лицом.
|
||
// ТекстСообщения - Строка - текст сообщения о найденных ошибках.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево - Истина, если соответствует.
|
||
//
|
||
Функция ИННСоответствуетТребованиям(Знач ИНН, ЭтоЮридическоеЛицо, ТекстСообщения) Экспорт
|
||
|
||
СоответствуетТребованиям = Истина;
|
||
ТекстСообщения = "";
|
||
|
||
ИНН = СокрЛП(ИНН);
|
||
ДлинаИНН = СтрДлина(ИНН);
|
||
|
||
Если ЭтоЮридическоеЛицо = Неопределено Тогда
|
||
ТекстСообщения = ТекстСообщения + НСтр("ru = 'Не определен тип владельца ИНН'");
|
||
Возврат Ложь;
|
||
КонецЕсли;
|
||
|
||
Если НЕ ОбщегоНазначенияБПОКлиентСервер.ТолькоЦифрыВСтроке(ИНН) Тогда
|
||
СоответствуетТребованиям = Ложь;
|
||
ТекстСообщения = ТекстСообщения + НСтр("ru = 'ИНН должен состоять только из цифр'");
|
||
КонецЕсли;
|
||
|
||
Если ЭтоЮридическоеЛицо И ДлинаИНН <> 10 Тогда
|
||
СоответствуетТребованиям = Ложь;
|
||
ТекстСообщения = ТекстСообщения + ?(ЗначениеЗаполнено(ТекстСообщения), Символы.ПС, "")
|
||
+ НСтр("ru = 'ИНН юридического лица должен состоять из 10 цифр'");
|
||
ИначеЕсли НЕ ЭтоЮридическоеЛицо И ДлинаИНН <> 12 Тогда
|
||
СоответствуетТребованиям = Ложь;
|
||
ТекстСообщения = ТекстСообщения + ?(ЗначениеЗаполнено(ТекстСообщения), Символы.ПС, "")
|
||
+ НСтр("ru = 'ИНН физического лица должен состоять из 12 цифр'");
|
||
КонецЕсли;
|
||
|
||
Если СоответствуетТребованиям Тогда
|
||
Если ЭтоЮридическоеЛицо Тогда
|
||
КонтрольнаяСумма = 0;
|
||
Для Индекс = 1 По 9 Цикл
|
||
Если Индекс = 1 Тогда
|
||
Множитель = 2;
|
||
ИначеЕсли Индекс = 2 Тогда
|
||
Множитель = 4;
|
||
ИначеЕсли Индекс = 3 Тогда
|
||
Множитель = 10;
|
||
ИначеЕсли Индекс = 4 Тогда
|
||
Множитель = 3;
|
||
ИначеЕсли Индекс = 5 Тогда
|
||
Множитель = 5;
|
||
ИначеЕсли Индекс = 6 Тогда
|
||
Множитель = 9;
|
||
ИначеЕсли Индекс = 7 Тогда
|
||
Множитель = 4;
|
||
ИначеЕсли Индекс = 8 Тогда
|
||
Множитель = 6;
|
||
ИначеЕсли Индекс = 9 Тогда
|
||
Множитель = 8;
|
||
КонецЕсли;
|
||
Цифра = Число(Сред(ИНН, Индекс, 1));
|
||
КонтрольнаяСумма = КонтрольнаяСумма + Цифра * Множитель;
|
||
КонецЦикла;
|
||
|
||
КонтрольныйРазряд = (КонтрольнаяСумма %11) %10;
|
||
Если КонтрольныйРазряд <> Число(Сред(ИНН, 10, 1)) Тогда
|
||
СоответствуетТребованиям = Ложь;
|
||
ТекстСообщения = ТекстСообщения + ?(ЗначениеЗаполнено(ТекстСообщения), Символы.ПС, "")
|
||
+ НСтр("ru = 'Контрольное число для ИНН не совпадает с рассчитанным'");
|
||
КонецЕсли;
|
||
Иначе
|
||
КонтрольнаяСумма11 = 0;
|
||
КонтрольнаяСумма12 = 0;
|
||
Для Индекс = 1 По 11 Цикл
|
||
// Расчет множителя для 11-го и 12-го разрядов.
|
||
Если Индекс = 1 Тогда
|
||
Множитель11 = 7;
|
||
Множитель12 = 3;
|
||
ИначеЕсли Индекс = 2 Тогда
|
||
Множитель11 = 2;
|
||
Множитель12 = 7;
|
||
ИначеЕсли Индекс = 3 Тогда
|
||
Множитель11 = 4;
|
||
Множитель12 = 2;
|
||
ИначеЕсли Индекс = 4 Тогда
|
||
Множитель11 = 10;
|
||
Множитель12 = 4;
|
||
ИначеЕсли Индекс = 5 Тогда
|
||
Множитель11 = 3;
|
||
Множитель12 = 10;
|
||
ИначеЕсли Индекс = 6 Тогда
|
||
Множитель11 = 5;
|
||
Множитель12 = 3;
|
||
ИначеЕсли Индекс = 7 Тогда
|
||
Множитель11 = 9;
|
||
Множитель12 = 5;
|
||
ИначеЕсли Индекс = 8 Тогда
|
||
Множитель11 = 4;
|
||
Множитель12 = 9;
|
||
ИначеЕсли Индекс = 9 Тогда
|
||
Множитель11 = 6;
|
||
Множитель12 = 4;
|
||
ИначеЕсли Индекс = 10 Тогда
|
||
Множитель11 = 8;
|
||
Множитель12 = 6;
|
||
ИначеЕсли Индекс = 11 Тогда
|
||
Множитель11 = 0;
|
||
Множитель12 = 8;
|
||
КонецЕсли;
|
||
|
||
Цифра = Число(Сред(ИНН, Индекс, 1));
|
||
КонтрольнаяСумма11 = КонтрольнаяСумма11 + Цифра * Множитель11;
|
||
КонтрольнаяСумма12 = КонтрольнаяСумма12 + Цифра * Множитель12;
|
||
|
||
КонецЦикла;
|
||
|
||
КонтрольныйРазряд11 = (КонтрольнаяСумма11 %11) %10;
|
||
КонтрольныйРазряд12 = (КонтрольнаяСумма12 %11) %10;
|
||
|
||
Если КонтрольныйРазряд11 <> Число(Сред(ИНН,11,1)) ИЛИ КонтрольныйРазряд12 <> Число(Сред(ИНН,12,1)) Тогда
|
||
СоответствуетТребованиям = Ложь;
|
||
ТекстСообщения = ТекстСообщения + ?(ЗначениеЗаполнено(ТекстСообщения), Символы.ПС, "")
|
||
+ НСтр("ru = 'Контрольное число для ИНН не совпадает с рассчитанным'");
|
||
КонецЕсли;
|
||
|
||
КонецЕсли;
|
||
|
||
КонецЕсли;
|
||
|
||
Возврат СоответствуетТребованиям;
|
||
|
||
КонецФункции
|
||
|
||
#Область Конструкторы
|
||
|
||
// Заполняет структуру общих параметров фискального накопителя.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыФискальногоНакопителяОбщие() Экспорт
|
||
|
||
Параметры = Новый Структура();
|
||
// ФФД 1.0
|
||
Параметры.Вставить("РегистрационныйНомерККТ"); // Регистрационный номер ККТ
|
||
Параметры.Вставить("ЗаводскойНомерККТ"); // Заводской номер ККТ
|
||
Параметры.Вставить("ЗаводскойНомерФН"); // Заводской номер ФН
|
||
Параметры.Вставить("ВерсияФФДФН"); // Версия ФФД ФН (одно из следующих значений "1.0","1.1")
|
||
Параметры.Вставить("ВерсияФФДККТ"); // Версия ФФД ККТ (одно из следующих значений "1.0","1.05","1.1")
|
||
|
||
Параметры.Вставить("ОрганизацияНазвание"); // Название организации
|
||
Параметры.Вставить("ОрганизацияИНН"); // ИНН организация
|
||
|
||
Параметры.Вставить("АдресПроведенияРасчетов"); // Адрес проведения расчетов
|
||
Параметры.Вставить("МестоПроведенияРасчетов"); // Место проведения расчетов
|
||
|
||
Параметры.Вставить("КодыСистемыНалогообложения"); // Коды системы налогообложения
|
||
|
||
Параметры.Вставить("ПризнакАвтономногоРежима" , Ложь); // Признак автономного режима
|
||
Параметры.Вставить("ПризнакШифрованиеДанных" , Ложь); // Признак шифрование данных
|
||
Параметры.Вставить("ПризнакРасчетовЗаУслуги" , Ложь); // Признак расчетов за услуги
|
||
Параметры.Вставить("ПродажаПодакцизногоТовара" , Ложь); // Продажа подакцизного товара
|
||
|
||
Параметры.Вставить("ПроведенияАзартныхИгр" , Ложь); // Признак проведения азартных игр
|
||
Параметры.Вставить("ПроведенияЛотерей" , Ложь); // Признак проведения лотереи
|
||
Параметры.Вставить("ПризнакиАгента"); // Коды признаков агента
|
||
Параметры.Вставить("ПризнакФормированияБСО" , Ложь); // Признак формирования АС БСО
|
||
|
||
Параметры.Вставить("ПризнакРасчетовТолькоВИнтернет", Ложь); // Признак ККТ для расчетов только в Интернет
|
||
Параметры.Вставить("УстановкаПринтераВАвтомате" , Ложь); // Признак установки принтера в автомате
|
||
Параметры.Вставить("ПризнакАвтоматическогоРежима" , Ложь); // Признак автоматического режима
|
||
Параметры.Вставить("НомерАвтоматаДляАвтоматическогоРежима"); // Номер автомата для автоматического режима
|
||
Параметры.Вставить("ОрганизацияОФДИНН"); // Название организации ОФД
|
||
Параметры.Вставить("ОрганизацияОФДНазвание"); // ИНН организации ОФД
|
||
|
||
Параметры.Вставить("ОтправительEmail"); // Адрес электронной почты отправителя чека.
|
||
Параметры.Вставить("АдресСайтаФНС"); // Адрес сайта уполномоченного органа (ФНС).
|
||
// ФФД 1.2
|
||
Параметры.Вставить("ПроведенияРасчетаВИнтернет" , Ложь); // Признак ККТ для расчетов в Интернет
|
||
Параметры.Вставить("ПродажаМаркированныхТоваров" , Ложь); // Признак ККТ торговли товарами, подлежащими обязательной маркировке средствами идентификации
|
||
Параметры.Вставить("ПризнакПримененияЛомбардами" , Ложь); // Признак применения ККТ при осуществлении ломбардами кредитования граждан
|
||
Параметры.Вставить("ПризнакДеятельностиПоСтрахованию" , Ложь); // Признак применения при осуществлении деятельности по страхованию
|
||
// ФФД 1.2 - Приказ ФНС России от 12.04.2023 N ЕД-7-20/239@
|
||
Параметры.Вставить("ПризнакАвтоматическогоТорговогоАвтомата" , Ложь); // Признак применения в автоматическом торговом автомате
|
||
Параметры.Вставить("ПризнакОказанииУслугОбщественногоПитания" , Ложь); // Признак применения при оказании услуг общественного питания
|
||
Параметры.Вставить("ПризнакОптовойТорговлиСОрганизациями" , Истина); // Признак применения о оптовой торговле с организациями и ИП
|
||
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров регистрации ККТ.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыРегистрацииККТ() Экспорт
|
||
|
||
Параметры = ПараметрыФискальногоНакопителяОбщие();
|
||
Параметры.Вставить("ПризнакФискализации"); // Признак регистрации фискального накопителя.
|
||
Параметры.Вставить("НомерДокументаФискализации"); // Номер документа регистрация фискального накопителя.
|
||
Параметры.Вставить("ДатаВремяФискализации"); // Дата и время операции регистрации фискального накопителя.
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров Фискализации ФН.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыОперацииФискализацииНакопителя() Экспорт
|
||
|
||
Параметры = ПараметрыФискальногоНакопителяОбщие();
|
||
|
||
Параметры.Вставить("КодПричиныПеререгистрации");
|
||
Параметры.Вставить("КодыПричинИзмененияСведений");
|
||
Параметры.Вставить("ТипОперации", 1);
|
||
|
||
Параметры.Вставить("Кассир" , НСтр("ru='Администратор'")); // Строка,Обязательно - ФИО лица и должность, осуществившего расчет с покупателем (клиентом), оформившего кассовый чек.
|
||
Параметры.Вставить("КассирИНН" , Неопределено); // Строка,Необязательно - Идентификационный номер налогоплательщика кассира, при наличии.
|
||
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров выполнения операции.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыВыполненияОперации() Экспорт;
|
||
|
||
ПараметрыОперации = Новый Структура();
|
||
ПараметрыОперации.Вставить("Кассир" , НСтр("ru='Администратор'")); // ФИО лица и должность, осуществившего операцию.
|
||
ПараметрыОперации.Вставить("КассирИНН" , Неопределено); // Идентификационный номер налогоплательщика кассира, при наличии.
|
||
Возврат ПараметрыОперации;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру данных агента.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура:
|
||
// * ОператорПоПриемуПлатежей - Структура:
|
||
// ** Телефон - Неопределено -
|
||
// * ОператорПеревода - Структура:
|
||
// ** Телефон - Строка -
|
||
// ** Наименование - Строка -
|
||
// ** Адрес - Строка -
|
||
// ** ИНН - Строка -
|
||
// * ПлатежныйАгент - Структура:
|
||
// ** Операция - Строка -
|
||
// ** Телефон - Строка -
|
||
//
|
||
Функция ПараметрыДанныеАгента() Экспорт
|
||
|
||
// ФФД - Значения реквизита «данные агента» (тег 1223) указаны в таблице 22.
|
||
Параметры = Новый Структура();
|
||
|
||
ПлатежныйАгент = Новый Структура();
|
||
ПлатежныйАгент.Вставить("Операция", Неопределено); // Строка - Операция платежного агента.
|
||
ПлатежныйАгент.Вставить("Телефон" , Неопределено); // Строка - Телефон платежного агента. В формате +{Ц}.
|
||
Параметры.Вставить("ПлатежныйАгент", ПлатежныйАгент);
|
||
|
||
ОператорПеревода = Новый Структура();
|
||
ОператорПеревода.Вставить("Телефон" , Неопределено); // Строка - Телефон оператора перевода. В формате +{Ц}.
|
||
ОператорПеревода.Вставить("Наименование", Неопределено); // Строка - Наименование оператора перевода.
|
||
ОператорПеревода.Вставить("Адрес" , Неопределено); // Строка - Адрес оператора перевода.
|
||
ОператорПеревода.Вставить("ИНН" , Неопределено); // Строка - ИНН оператора перевода.
|
||
Параметры.Вставить("ОператорПеревода", ОператорПеревода);
|
||
|
||
ОператорПоПриемуПлатежей = Новый Структура();
|
||
ОператорПоПриемуПлатежей.Вставить("Телефон", Неопределено); // Строка - Телефон оператора по приему платежей. В формате +{Ц}.
|
||
Параметры.Вставить("ОператорПоПриемуПлатежей", ОператорПоПриемуПлатежей);
|
||
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру данных поставщика.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура - Описание:
|
||
// * ИНН - Строка
|
||
// * Наименование - Строка
|
||
// * Телефон - Строка
|
||
//
|
||
Функция ПараметрыДанныеПоставщика() Экспорт
|
||
|
||
Параметры = Новый Структура();
|
||
Параметры.Вставить("Телефон"); // Строка - Телефон поставщика. В формате +{Ц}.
|
||
Параметры.Вставить("Наименование"); // Строка - Наименование поставщика.
|
||
Параметры.Вставить("ИНН"); // Строка - ИНН поставщика.
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру данных кода товарной номенклатуры.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура - Описание:
|
||
// * ЗначениеКодаТовара - Строка
|
||
// * ТипКодаТовара - Строка
|
||
// * РеквизитКодаТовара - Строка
|
||
// * СерийныйНомер - Строка
|
||
// * ГлобальныйИдентификаторТорговойЕдиницы - Строка
|
||
// * КонтрольныйИдентификационныйЗнак - СТрока
|
||
// * ТипМаркировки - ПеречислениеСсылка.ТипыМаркировкиККТ -
|
||
//
|
||
Функция ПараметрыДанныеКодаТоварнойНоменклатуры() Экспорт
|
||
|
||
Параметры = Новый Структура();
|
||
|
||
// Формирование тэга 1162, для ФФД 1.05, 1.1
|
||
Параметры.Вставить("ТипМаркировки"); // Перечисление.ТипыМаркировкиККТ, Необязательно - Тип маркировки.
|
||
// Ранее в рамках пилотных проектов (в 2017-2019) по маркировке и регистрации выбытия контрольных марок(КМ)
|
||
// через ККТ для каждого вида маркировки ФНС предоставляла отдельный алгоритм для кодирования тега 1162
|
||
// содержащий информацию о КМ. Именно для этого было создано данное перечисление - ТипыМаркировкиККТ.
|
||
// Но в соответствии с приказом ФНС от 29.08.2019 № ММВ-7-20/434@ "О внесении изменений в приложение №2
|
||
// к приказу Федеральной налоговой службы от 21.03.2017 № ММВ-7-20/229@“ зарегистрированному 25.12.2019 №56978
|
||
// и вступившему в силу с 01.03.2020г. алгоритм кодирования тега 1162 стал единым для всех типов маркировки.
|
||
// Таким образом, данное перечисление и атрибут устарели. Оставлено для совместимости.
|
||
Параметры.Вставить("КонтрольныйИдентификационныйЗнак"); // Строка,Необязательно - Контрольный идентификационный знак (КиЗ).
|
||
Параметры.Вставить("ГлобальныйИдентификаторТорговойЕдиницы"); // Строка,Необязательно - Глобальный идентификатор торговой единицы (GTIN).
|
||
Параметры.Вставить("СерийныйНомер"); // Строка,Необязательно - Серийный номер.
|
||
Параметры.Вставить("РеквизитКодаТовара"); // Строка,Необязательно -Значение реквизита кода товара (Значение тэга 1162). Кодируется текстом в кодировке Base64.
|
||
|
||
// Формирование тэга 1163, для ФФД 1.2
|
||
Параметры.Вставить("ТипКодаТовара"); // Строка,Необязательно - Таблица 118
|
||
Параметры.Вставить("ЗначениеКодаТовара"); // Строка,Необязательно - Значение кода товара в Base64 (Таблица 118)
|
||
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру данных дробное количество для товарной номенклатуры.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыДробноеКоличество() Экспорт
|
||
|
||
Параметры = Новый Структура();
|
||
Параметры.Вставить("Числитель" , Неопределено); // Число,Обязательно - Числитель дробного количества - количество реализуемых товаров из упаковке.
|
||
Параметры.Вставить("Знаменатель" , Неопределено); // Число,Обязательно - Знаменатель дробного количества - общее количество товаров в потребительской упаковке.
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру дополнительного реквизита пользователя.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура:
|
||
// * Наименование - Строка
|
||
// * Значение - Строка
|
||
//
|
||
Функция ПараметрыДополнительногоРеквизитаПользователя() Экспорт
|
||
|
||
Параметры = Новый Структура();
|
||
Параметры.Вставить("Наименование", ""); // Строка,Необязательно - Наименование дополнительного реквизита пользователя (Тег 1085).
|
||
Параметры.Вставить("Значение", ""); // Строка,Необязательно - Значение дополнительного реквизита пользователя (Тег 1086).
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров QR кода.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыQRКода() Экспорт
|
||
|
||
Параметры = Новый Структура();
|
||
Параметры.Вставить("ЗначениеКода"); // Строка,Необязательно - Значения QR кода.
|
||
Параметры.Вставить("ТекстПользователя", НСтр("ru='Сохраните чек для возврата'")); // Строка,Необязательно - Текст выводимый пользователю.
|
||
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру операционного реквизит чека.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыОперационныйРеквизит() Экспорт
|
||
|
||
// Вложенные тэги 1270
|
||
Параметры = Новый Структура();
|
||
Параметры.Вставить("ДатаВремяОперации"); // Дата,Необязательно - Тэг 1273 - Дата, время операции
|
||
Параметры.Вставить("ИдентификаторОперации"); // Целое,Необязательно - Тэг 1271 - Идентификатор операции.
|
||
Параметры.Вставить("ДанныеОперации"); // Строка[64],Необязательно - Тэг 1272 - Данные операции.
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру отраслевого реквизит чека.
|
||
// 1260 - отраслевой реквизит предмета расчета.
|
||
// 1261 - отраслевой реквизит чека.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыОтраслевойРеквизит() Экспорт
|
||
|
||
// Вложенные тэги 1260 & 1261
|
||
Параметры = Новый Структура();
|
||
// Значения реквизита "идентификатор ФОИВ" (тег 1262) приведены в таблице 149.
|
||
Параметры.Вставить("ИдентификаторФОИВ"); // Строка[3],Необязательно - Тэг 1262 - Идентификатор ФОИВ.
|
||
// Дата нормативного акта федерального органа исполнительной власти, регламентирующего порядок
|
||
// заполнения реквизита "значение отраслевого реквизита" (тег 1265)
|
||
Параметры.Вставить("ДатаДокументаОснования"); // Дата,Необязательно - Тэг 1263 - Дата документа основания
|
||
// Номер нормативного акта федерального органа исполнительной власти, регламентирующего порядок
|
||
// заполнения реквизита "значение отраслевого реквизита" (тег 1265)
|
||
Параметры.Вставить("НомерДокументаОснования"); // Строка[64],Необязательно - Тэг 1264 - Номер документа основания.
|
||
// Состав значений, определенных нормативного актом федерального органа исполнительной власти
|
||
Параметры.Вставить("ЗначениеРеквизита"); // Строка[256],Необязательно - Тэг 1265 - Номер документа основания.
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру сведений о покупателей.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыСведенияОПокупателе() Экспорт
|
||
|
||
// Вложенные тэги 1256 - Сведения о покупателе (клиенте).
|
||
Параметры = Новый Структура();
|
||
// Реквизиты начиная с ФФД 1.1 (Введены приказом от 09.04.2018 N ММВ-7-20/207@)
|
||
// Наименование организации или фамилия, имя, отчество (при наличии)
|
||
Параметры.Вставить("Покупатель"); // Строка,Необязательно - Тэг 1227 - Получатель (покупатель)
|
||
Параметры.Вставить("ПокупательИНН"); // Строка,Необязательно - Тэг 1228 - ИНН покупателя (клиента)
|
||
Параметры.Вставить("ПокупательАдрес"); // Строка,Необязательно - Тэг 1254 - Адрес покупателя (клиента)
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру персональные данные покупателя.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыПерсональныеДанныеПокупателя() Экспорт
|
||
|
||
Параметры = Новый Структура();
|
||
Параметры.Вставить("ИНН"); // Строка,Необязательно - ИНН покупателя (клиента)
|
||
Параметры.Вставить("ДатаРождения"); // Дата,Необязательно - Дата рождения покупателя (клиента)
|
||
Параметры.Вставить("Гражданство"); // Строка,Необязательно - Гражданство покупателя (клиента)
|
||
Параметры.Вставить("ВидДокумента"); // Перечисление,Необязательно - Код вида документа, удостоверяющего личность
|
||
Параметры.Вставить("ДанныеДокумента"); // Строка,Необязательно - Данные документа, удостоверяющего личность
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров операции фискализации чека.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура - Описание:
|
||
// * ДанныеКоррекции - Структура -:
|
||
// ** НомерПредписания - Число
|
||
// ** ДатаКоррекции - Дата
|
||
// ** ОписаниеКоррекции - Строка
|
||
// ** ТипКоррекции - Число -
|
||
// * НеприменениеККТ - Булево -
|
||
// * КорректируемыйДокумент - Произвольный
|
||
// * ЕстьПерсональныеДанные - Булево -
|
||
// * ИндивидуальныйРежимПодготовкиДанныхКПередачеВОФД - Булево -
|
||
// * ДопустимоеРасхождениеФорматноЛогическогоКонтроля - Число -
|
||
// * СпособФорматноЛогическогоКонтроля - Неопределено -
|
||
// * СформироватьЧекКоррекции - Булево -
|
||
// * ДополнительныйРеквизитПользователя - Структура:
|
||
// ** Значение - Произвольный
|
||
// ** Наименование - Строка
|
||
// * ДополнительныйРеквизит - Неопределено -
|
||
// * НефискальныеДокументы - Массив Из Строка.
|
||
// * КассаККМ - Произвольный -
|
||
// * ШаблонЧека - Произвольный
|
||
// * ТаблицаОплат - Массив из из см.ОборудованиеЧекопечатающиеУстройстваКлиентСервер.ПараметрыФискальнойСтрокиЧека.
|
||
// * ПозицииЧека - Массив из см. ОборудованиеЧекопечатающиеУстройстваКлиентСервер.ПараметрыФискальнойСтрокиЧека.
|
||
// * СведенияОБезналичнойОплате - Массив из см. ОборудованиеЧекопечатающиеУстройстваКлиентСервер.ПараметрыСведенияОБезналичнойОплате.
|
||
// * КопийЧека - Число -
|
||
// * ТекстПодвала - Строка -
|
||
// * ТекстШапки - Строка -
|
||
// * ДатаВремя - Дата -
|
||
// * НомерСмены - Число
|
||
// * НомерЧека - Строка
|
||
// * НомерКассы - Строка
|
||
// * НаименованиеМагазина - Строка
|
||
// * АдресМагазина - Строка
|
||
// * ОрганизацияКПП - Строка
|
||
// * ОрганизацияИНН - Строка
|
||
// * ОрганизацияНазвание - Строка
|
||
// * СерийныйНомер - Строка
|
||
// * ПолучательИНН - Строка
|
||
// * Получатель - Строка
|
||
// * ДанныеПоставщика - Структура:
|
||
// ** ИНН - Строка
|
||
// ** Наименование - Строка
|
||
// ** Телефон - Строка
|
||
// * ДанныеАгента - Структура:
|
||
// ** ОператорПоПриемуПлатежей - Структура:
|
||
// *** Телефон - Неопределено -
|
||
// ** ОператорПеревода - Структура:
|
||
// *** Телефон - Строка -
|
||
// *** Наименование - Строка -
|
||
// *** Адрес - Строка -
|
||
// *** ИНН - Строка -
|
||
// ** ПлатежныйАгент - Структура:
|
||
// *** Операция - Строка -
|
||
// *** Телефон - Строка -
|
||
// * ПризнакАгента - Неопределено -
|
||
// * ПокупательНомер - Строка
|
||
// * ОтправительEmail - Строка
|
||
// * ПокупательEmail - Строка
|
||
// * МестоРасчетов - Строка
|
||
// * АдресРасчетов - Строка
|
||
// * СистемаНалогообложения - ПеречислениеСсылка.ТипыСистемНалогообложенияККТ -
|
||
// * Отправляет1СEmail - Булево -
|
||
// * Отправляет1СSMS - Булево -
|
||
// * ТипРасчета - ПеречислениеСсылка.ТипыРасчетаДенежнымиСредствами -
|
||
// * Электронно - Булево -
|
||
// * ТорговыйОбъект - Неопределено -
|
||
// * Организация - Неопределено -
|
||
// * ИдентификаторФискальнойЗаписи - Неопределено -
|
||
// * ДокументОснование - Неопределено -
|
||
// * КассирИНН - Неопределено -
|
||
// * Кассир - Строка -
|
||
// * ТекстКороткогоСлипЧека - Строка - текст короткого слип-чека
|
||
// * АвтономнаяККТ - Булево - признак не использования ККТ для пробития чека
|
||
//
|
||
Функция ПараметрыОперацииФискализацииЧека() Экспорт;
|
||
|
||
ПараметрыЧека = ПараметрыВыполненияОперации();
|
||
// Общие реквизиты для всех типов оборудования.
|
||
ПараметрыЧека.Вставить("ДокументОснование" , Неопределено); // Ссылка,Обязательно. Документ по которому пробивается чек.
|
||
ПараметрыЧека.Вставить("ИдентификаторФискальнойЗаписи", Неопределено); // Строка,Необязательно. Идентификатор фискальной записи.
|
||
ПараметрыЧека.Вставить("Организация" , Неопределено); // Ссылка,Обязательно. Организация по которому пробивается чек.
|
||
ПараметрыЧека.Вставить("ТорговыйОбъект" , Неопределено); // Ссылка,Необязательно. Объект по которому пробивается чек.
|
||
ПараметрыЧека.Вставить("Электронно" , Ложь); // Булево,Обязательно - Чек будет предоставлен в электронной форме, без печати. Ложь-Значение по умолчанию.
|
||
ПараметрыЧека.Вставить("ТипРасчета" , ПредопределенноеЗначение("Перечисление.ТипыРасчетаДенежнымиСредствами.ПриходДенежныхСредств")); // Обязательно.
|
||
ПараметрыЧека.Вставить("Отправляет1СSMS" , Ложь); // Булево,Обязательно - SMS отправляет средствами 1C. Ложь-Значение по умолчанию.
|
||
ПараметрыЧека.Вставить("Отправляет1СEmail" , Ложь); // Булево,Обязательно - Email отправляет средствами 1C. Ложь-Значение по умолчанию.
|
||
|
||
// Системы налогообложения - "Перечисление.ТипыСистемНалогообложенияККТ"
|
||
ПараметрыЧека.Вставить("СистемаНалогообложения", ПредопределенноеЗначение("Перечисление.ТипыСистемНалогообложенияККТ.ОСН")); // Обязательно. Заполняется значением по умолчанию.
|
||
ПараметрыЧека.Вставить("АдресРасчетов" ); // Строка,Необязательно - Адрес расчетов (Тег 1009).
|
||
ПараметрыЧека.Вставить("МестоРасчетов" ); // Строка,Необязательно - Место расчетов (Тег 1187).
|
||
ПараметрыЧека.Вставить("НомерАвтомата" ); // Строка,Необязательно - Номер автомата (Тег 1036).
|
||
ПараметрыЧека.Вставить("ОтправительEmail" ); // Строка,Необязательно - Адрес электронной почты отправителя чека (Тег 1117).
|
||
ПараметрыЧека.Вставить("ПокупательEmail" ); // Строка,Необязательно - Адрес электронной почты покупателя.
|
||
ПараметрыЧека.Вставить("ПокупательНомер" ); // Строка,Необязательно - Телефонный номер покупателя. В формате +{Ц}.
|
||
|
||
// Признак агента - "Перечисление.ПризнакиАгента", (ФФД, Тег 1057, Расшифровка - таблица 10)
|
||
ПараметрыЧека.Вставить("ПризнакАгента" , Неопределено); // Перечисление - Признак агента (Тег 1057).
|
||
ПараметрыЧека.Вставить("ДанныеАгента" , ПараметрыДанныеАгента()); // Структура,Заполнение необязательно - Данные агента.
|
||
ПараметрыЧека.Вставить("ДанныеПоставщика" , ПараметрыДанныеПоставщика()); // Структура,Заполнение необязательно - Данные поставщика.
|
||
|
||
// Реквизиты начиная с ФФД 1.1 (Введены приказом от 09.04.2018 N ММВ-7-20/207@)
|
||
ПараметрыЧека.Вставить("Получатель" ); // Строка,Необязательно - Тэг 1227 - Получатель (покупатель)
|
||
ПараметрыЧека.Вставить("ПолучательИНН" ); // Строка,Необязательно - Тэг 1228 - ИНН получателя (ИНН покупателя)
|
||
|
||
// Реквизиты начиная с ФФД 1.2 (Введены приказом от 14.09.2020 N ЕД-7-20/662@)
|
||
ПараметрыЧека.Вставить("СубъектПерсональныхДанных"); // Необязательно - Физическое лицо, которое прямо или косвенно определено или определяемо с помощью персональных данных.
|
||
ПараметрыЧека.Вставить("ЕстьПерсональныеДанные", Ложь); // Булево,Необязательно - Параметры чека содержат персональные данные.
|
||
ПараметрыЧека.Вставить("ТипПерсональныхДанных"); // ПеречислениеСсылка.ТипыПерсональныхДанныеККТ, Необязательно - Тип персональных данных.
|
||
|
||
ПараметрыЧека.Вставить("СведенияОПокупателе" , ПараметрыСведенияОПокупателе()); // Структура,Заполнение необязательно - Тэг 1256 - Сведения о покупателе (клиенте)
|
||
ПараметрыЧека.Вставить("ОперационныйРеквизит", ПараметрыОперационныйРеквизит()); // Структура,Заполнение необязательно - Тэг 1270 -
|
||
ПараметрыЧека.Вставить("ОтраслевойРеквизит" , ПараметрыОтраслевойРеквизит()); // Структура,Заполнение необязательно - Тэг 1261 - Отраслевой реквизит чека,
|
||
|
||
// Параметры необходимые для ФР
|
||
ПараметрыЧека.Вставить("СерийныйНомер" ); // Строка,Необязательно - Заводской номер ККМ (совместимость с ФР).
|
||
// Параметры необходимые для чека ЕНВД на принтере чеков
|
||
ПараметрыЧека.Вставить("ОрганизацияНазвание" ); // Строка,Необязательно - Название организации (Для чека ЕНВД).
|
||
ПараметрыЧека.Вставить("ОрганизацияИНН" ); // Строка,Необязательно - ИНН организации (Для чека ЕНВД).
|
||
ПараметрыЧека.Вставить("ОрганизацияКПП" ); // Строка,Необязательно - КПП организации (Для чека ЕНВД).
|
||
ПараметрыЧека.Вставить("АдресМагазина" ); // Строка,Необязательно - Адрес магазина (Для чека ЕНВД).
|
||
ПараметрыЧека.Вставить("НаименованиеМагазина"); // Строка,Необязательно - Наименование магазина (Для чека ЕНВД).
|
||
ПараметрыЧека.Вставить("НомерКассы" ); // Строка,Необязательно - Номер кассы (Для чека ЕНВД).
|
||
ПараметрыЧека.Вставить("НомерЧека" ); // Число,Необязательно - Номер чека (Для чека ЕНВД).
|
||
ПараметрыЧека.Вставить("НомерСмены" ); // Число,Необязательно - Номер смены (Для чека ЕНВД).
|
||
ПараметрыЧека.Вставить("ДатаВремя", ОбщегоНазначенияБПОКлиентСервер.ДатаСеанса()); // ДатаВремя, Необязательно - Дата время в чеке (Для чека ЕНВД).
|
||
// АПК: 374-выкл сообщение в чеках
|
||
ПараметрыЧека.Вставить("ТекстШапки" , НСтр("ru='ДОБРО ПОЖАЛОВАТЬ!'")); // Строка - заполняется значением по умолчанию.
|
||
ПараметрыЧека.Вставить("ТекстПодвала" , НСтр("ru='СПАСИБО ЗА ПОКУПКУ!'")); // Строка - заполняется значением по умолчанию.
|
||
// АПК: 374-вкл
|
||
ПараметрыЧека.Вставить("КопийЧека" , 1); // Число,Необязательно - Сколько печатать копий чеков ЕНВД на принтере чеков.
|
||
|
||
// Позиции чека для фискализации.
|
||
ПараметрыЧека.Вставить("ПозицииЧека" , Новый Массив()); // Массив элементов "Структура". Обязательно.
|
||
// Таблица оплаты чека
|
||
ПараметрыЧека.Вставить("ТаблицаОплат" , Новый Массив()); // Массив элементов "Структура". Обязательно.
|
||
// Пример заполнения строки оплаты:
|
||
// СтрокаОплаты = ПараметрыСтрокиОплаты();
|
||
// СтрокаОплаты.ТипОплаты = ПредопределенноеЗначение("Перечисление.ТипыОплатыККТ.Наличные"); // Наличные
|
||
// СтрокаОплаты.Сумма = СуммаВидаОплаты;
|
||
// ПараметрыЧека.ТаблицаОплат.Добавить(СтрокаОплаты);
|
||
ПараметрыЧека.Вставить("СведенияОБезналичнойОплате" , Новый Массив()); // Массив элементов "Структура". Обязательно.
|
||
// Пример заполнения строки оплаты:
|
||
// СтрокаОплаты = ПараметрыСведенияОБезналичнойОплате();
|
||
// СтрокаОплаты.Сумма = СуммаВидаОплаты;
|
||
// ПараметрыЧека.СведенияОБезналичнойОплате.Добавить(СтрокаОплаты);
|
||
|
||
// Параметры для печати чека по шаблону.
|
||
ПараметрыЧека.Вставить("ШаблонЧека" ); // Ссылка,Необязательно - Пользовательский шаблон для формирования чека.
|
||
ПараметрыЧека.Вставить("КассаККМ" ); // Ссылка,Необязательно - Касса ККМ.
|
||
ПараметрыЧека.Вставить("НефискальныеДокументы" , Новый Массив()); // Массив нефискальных документов. Необязательно.
|
||
ПараметрыЧека.Вставить("УстройствоПечати"); // Ссылка, Необязательно - Устройство печати документов. Необязательно.
|
||
ПараметрыЧека.Вставить("ПакетДокументов", Новый Соответствие()); // Соответствие дополнительных документов и устройств по чеку для печати. Необязательно.
|
||
|
||
// Строка,Необязательно - Дополнительный реквизит чека (Тег 1192).
|
||
ПараметрыЧека.Вставить("ДополнительныйРеквизит" , Неопределено);
|
||
// Структура,Заполнение необязательно - дополнительный реквизит пользователя (Тег 1084).
|
||
ПараметрыЧека.Вставить("ДополнительныйРеквизитПользователя", ПараметрыДополнительногоРеквизитаПользователя());
|
||
ПараметрыЧека.Вставить("СформироватьЧекКоррекции", Ложь); // Булево,Необязательно - сформировать чек коррекции, только для ФФД 1.1.
|
||
ПараметрыЧека.Вставить("СформироватьЧекКоррекцииСторно", Истина); // Булево,Необязательно - Сформировать чеки коррекции сторно по сценариям ФНС.
|
||
|
||
// Форматно-логический контроль - "ПеречислениеСсылка.СпособыФорматноЛогическогоКонтроля"
|
||
ПараметрыЧека.Вставить("СпособФорматноЛогическогоКонтроля", Неопределено); // Перечисление,Необязательно - Способ форматно-логического контроля.
|
||
ПараметрыЧека.Вставить("ДопустимоеРасхождениеФорматноЛогическогоКонтроля", 0.01); // Число,Необязательно - устанавливается значение по умолчанию.
|
||
ПараметрыЧека.Вставить("ИндивидуальныйРежимПодготовкиДанныхКПередачеВОФД", Ложь); // Булево,Необязательно - устанавливается значение по умолчанию.
|
||
ПараметрыЧека.Вставить("ЕдиныйЧек", Ложь); // Булево,Необязательно - Одна фискальная операция привязана к нескольким документам.
|
||
|
||
// Системе быстрых платежей и сертификаты ФСС
|
||
ПараметрыЧека.Вставить("ТипПлатежнойСистемы"); // ПеречислениеСсылка.ТипыПлатежнойСистемыККТ, Необязательно - Тип платежной системы.
|
||
ПараметрыЧека.Вставить("ИдентификаторОплатыПлатежнойСистемы"); // Строка,Необязательно - Идентификатор оплаты платежных системы.
|
||
ПараметрыЧека.Вставить("QRКод", ПараметрыQRКода()); // Структура,Заполнение необязательно - параметры QR кода в теле чека.
|
||
ПараметрыЧека.Вставить("ДетализацияОплаты", Новый Массив()); // Массив элементов "Структура" - ПараметрыДетализацииСтрокиОплаты()
|
||
|
||
// Короткий слип-чек
|
||
ПараметрыЧека.Вставить("ТекстКороткогоСлипЧека", ""); // Строка - текст короткого слип-чека
|
||
// Автономные ККТ
|
||
ПараметрыЧека.Вставить("АвтономнаяККТ", Ложь);
|
||
ПараметрыЧека.Вставить("ОблачнаяККТ", Ложь);
|
||
// Признак сворачивание одинаковых строк на печатной форме документа.
|
||
ПараметрыЧека.Вставить("СворачиватьОдинаковыеСтрокПриПечати", Ложь);
|
||
|
||
// Признаки ЕГАИС
|
||
ПараметрыЧека.Вставить("ЕстьАлкогольнаяПродукцияЕГАИС", Ложь);
|
||
ПараметрыЧека.Вставить("ЕстьРазливнаяПродукцияЕГАИС", Ложь);
|
||
|
||
Возврат ПараметрыЧека;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров фискальной строки для фискализации чека.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура:
|
||
// * Штрихкод - Строка
|
||
// * НомерСекции - Число -
|
||
// * ДополнительныйРеквизит - Произвольный
|
||
// * СуммаАкциза - Число
|
||
// * НомерТаможеннойДекларации - Строка
|
||
// * КодСтраныПроисхожденияТовара - Строка
|
||
// * ДанныеКодаТоварнойНоменклатуры - Структура:
|
||
// ** СерийныйНомер - Строка
|
||
// ** ГлобальныйИдентификаторТорговойЕдиницы - Строка
|
||
// ** КонтрольныйИдентификационныйЗнак - Строка
|
||
// ** ТипМаркировки - Строка
|
||
// * ЕдиницаИзмерения - Произвольный
|
||
// * ДанныеПоставщика - Структура:
|
||
// ** ИНН - Строка
|
||
// ** Наименование - Строка
|
||
// ** Телефон - Строка
|
||
// * ДанныеАгента - см. ПараметрыДанныеАгента
|
||
// * ПризнакАгентаПоПредметуРасчета - Число
|
||
// * ПризнакПредметаРасчета - Неопределено -
|
||
// * ПризнакСпособаРасчета - Неопределено -
|
||
// * СуммаНДС - Неопределено -
|
||
// * СтавкаНДС - Неопределено -
|
||
// * СуммаСкидок - Число
|
||
// * Сумма - Число -
|
||
// * ЦенаСоСкидками - Число -
|
||
// * Цена - Число -
|
||
// * Количество - Число -
|
||
// * Наименование - Строка
|
||
// * НомерСтрокиТовара - Число
|
||
// * ФискальнаяСтрока - Строка.
|
||
//
|
||
Функция ПараметрыФискальнойСтрокиЧека() Экспорт;
|
||
|
||
ПараметрыСтроки = Новый Структура();
|
||
ПараметрыСтроки.Вставить("ФискальнаяСтрока"); // Строка,Обязательно - Тип строки. Исходящий служебный параметр.
|
||
ПараметрыСтроки.Вставить("НомерСтрокиТовара"); // Число,Обязательно - Дополнительный параметр для обработки строк чека для форматно-логического контроля.
|
||
// Обязательные реквизиты
|
||
ПараметрыСтроки.Вставить("Наименование"); // Строка,Обязательно - Наименование предмета расчета
|
||
ПараметрыСтроки.Вставить("Количество" , 0); // Число,Обязательно - Количество предмета расчета
|
||
ПараметрыСтроки.Вставить("Цена" , 0); // Число,Обязательно - Цена без учета скидок и наценок (Необходимо для ФР и ФФД 1.0)
|
||
ПараметрыСтроки.Вставить("ЦенаСоСкидками" , 0); // Число,Обязательно - Цена с учета скидок и наценок (Необходимо начиная с ФФД 1.05 и выше)
|
||
ПараметрыСтроки.Вставить("Сумма" , 0); // Число,Обязательно - Стоимость предмета расчета с учетом скидок и наценок
|
||
ПараметрыСтроки.Вставить("СуммаСкидок"); // Число,Необязательно - Сумма скидок и наценок, не входит в ФФД.
|
||
ПараметрыСтроки.Вставить("СтавкаНДС" , Неопределено); // Число,Обязательно - Ставка НДС (Значения: Неопределено-БезНДС, 0, 5, 7, 10, 20, 18, 105, 107, 110, 118, 120)
|
||
ПараметрыСтроки.Вставить("СуммаНДС" , Неопределено); // Число,Обязательно - Сумма НДС
|
||
|
||
// Реквизиты начиная с ФФД 1.05
|
||
// Перечисление - ПризнакиСпособаРасчета - (ФФД, Тег 1214, Расшифровка - таблица 28)
|
||
ПараметрыСтроки.Вставить("ПризнакСпособаРасчета", Неопределено); // Признак способа расчета. Обязательно для ФФД 1.05 и выше.
|
||
|
||
// Реквизиты начиная с ФФД 1.1
|
||
// Перечисление - ПризнакиПредметаРасчета - (ФФД, Тег 1030, Расшифровка - таблица 29)
|
||
ПараметрыСтроки.Вставить("ПризнакПредметаРасчета", Неопределено); // Признак предмета расчета. Обязательно для ФФД 1.1 и выше.
|
||
|
||
// Перечисление - ПризнакиАгента - (ФФД, Тег 1222, Расшифровка - таблица 21)
|
||
ПараметрыСтроки.Вставить("ПризнакАгентаПоПредметуРасчета"); // Необязательно, Признак агента по предмету расчета, Тег 1222.
|
||
ПараметрыСтроки.Вставить("ДанныеАгента" , ПараметрыДанныеАгента()); // Структура - Данные агента, Тег 1223. Заполнение необязательно.
|
||
ПараметрыСтроки.Вставить("ДанныеПоставщика" , ПараметрыДанныеПоставщика()); // Структура - Данные агента, Тег 1224. Заполнение необязательно.
|
||
|
||
ПараметрыСтроки.Вставить("ЕдиницаИзмерения"); // Необязательно, Единица измерения предмета расчета.
|
||
ПараметрыСтроки.Вставить("ДанныеКодаТоварнойНоменклатуры", ПараметрыДанныеКодаТоварнойНоменклатуры()); // Коды товарной номенклатуры.
|
||
ПараметрыСтроки.Вставить("КодВидаНоменклатурнойКлассификации"); // Строка,Необязательно - Код вида номенклатурной классификации.
|
||
|
||
// Реквизиты начиная с ФФД 1.1 (Введены приказом от 9 апреля 2018 г. N ММВ-7-20/207@)
|
||
ПараметрыСтроки.Вставить("КодСтраныПроисхожденияТовара"); // Строка,Необязательно - Цифровой код страны происхождения товара в соответствии с Общероссийским классификатором стран мира.
|
||
ПараметрыСтроки.Вставить("НомерТаможеннойДекларации"); // Строка,Необязательно - Регистрационный номер таможенной декларации.
|
||
ПараметрыСтроки.Вставить("СуммаАкциза"); // Число,Необязательно - Сумма акциза, включенная в стоимость предмета расчета.
|
||
ПараметрыСтроки.Вставить("ДополнительныйРеквизит"); // Строка,Необязательно - Дополнительный реквизит предмета расчета, Тег 1191.
|
||
|
||
// Реквизиты начиная с ФФД 1.2
|
||
|
||
// Дробное количество, рекомендации ЦРПТ "ВЫВОД ТОВАРА ИЗ ОБОРОТА ПРИ РЕАЛИЗАЦИИ КОНЕЧНЫМ ПОТРЕБИТЕЛЯМ (ЧАСТИЧНАЯ ПРОДАЖА)"
|
||
// для 1.05 и 1.1 - пишем в 1191, Формирование и передача фискального документа в ГИС МТ
|
||
// для 1.2 - пишем в 1291
|
||
ПараметрыСтроки.Вставить("ДробноеКоличество", ПараметрыДробноеКоличество());
|
||
ПараметрыСтроки.Вставить("КонтрольнаяМарка"); // Строка,Необязательно - Код контрольной марки. Кодируется текстом в кодировке Base64.
|
||
ПараметрыСтроки.Вставить("КодЕдиницыИзмерения"); // Строка,Обязательно - Код единицы измерения в соответствии с общероссийским классификатором единиц измерения.
|
||
ПараметрыСтроки.Вставить("ОтраслевойРеквизит", ПараметрыОтраслевойРеквизит()); // Структура,Заполнение необязательно - Тэг 1260 - Отраслевой реквизит предмета расчета.
|
||
|
||
// Дополнительные реквизиты не входящие в ФФД.
|
||
ПараметрыСтроки.Вставить("НомерСекции" , 0); // Число,Необязательно - Номер секции ФР (для совместимости), 0-Значение по умолчанию.
|
||
ПараметрыСтроки.Вставить("Штрихкод"); // Строка,Необязательно - Штрихкод
|
||
ПараметрыСтроки.Вставить("ШтрихкодBase64"); // Строка,Необязательно - Штрихкод, Кодируется текстом в кодировке Base64.
|
||
|
||
// Продажа товаров при оказании услуг общественного питания (HORECA)
|
||
ПараметрыСтроки.Вставить("ОбщественноеПитание", Ложь); // Булево,Необязательно - Признак товара, что он реализуется в общественном питании
|
||
|
||
// Продажа товаров в объемно-сортовом учете.
|
||
ПараметрыСтроки.Вставить("ОбъемноСортовойУчет", Ложь); // Булево,Необязательно - Признак товара, что он подлежит объемно-сортовому учету.
|
||
ПараметрыСтроки.Вставить("КоличествоВесовогоТовара", Неопределено); // Число,Необязательно - Количество весового товара при объемно-сортовом учете.
|
||
// Дата производства товара для формирования отраслевых тегов при продаже молочной продукции с нечитаемыми DataMatrix.
|
||
ПараметрыСтроки.Вставить("ДатаПроизводства"); // Дата,Необязательно - Дата производства товара.
|
||
|
||
// Продажа ветеринарного лекарственного препарата
|
||
ПараметрыСтроки.Вставить("ВетеринарныйПрепарат", Ложь); // Булево,Необязательно - Признак товара, ветеринарный лекарственный препарат.
|
||
ПараметрыСтроки.Вставить("ВетеринарноеТребование", Ложь); // Булево,Необязательно - Признак товара, что используется ветеринарное требование.
|
||
ПараметрыСтроки.Вставить("РецептНомер"); // Строка,Необязательно - Номер рецепта\требования
|
||
ПараметрыСтроки.Вставить("РецептДата"); // Дата,Необязательно - Дата рецепта\требования.
|
||
|
||
// Разрешительная система проверки кода
|
||
ПараметрыСтроки.Вставить("ЗапросПроверкиКода", ПараметрыЗапросПроверкиКода()); // Данные запроса проверки кода для разрешительной системы
|
||
|
||
// Устарело. Для совместимости.
|
||
ПараметрыСтроки.Вставить("NTIN"); // Строка,Необязательно - NTIN идентификаторы товара
|
||
|
||
Возврат ПараметрыСтроки;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров текстовой строки для фискализации чека.
|
||
//
|
||
// Параметры:
|
||
// Текст - Строка - Текстовая строка
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыТекстовойСтрокиЧека(Текст = Неопределено) Экспорт;
|
||
|
||
ПараметрыСтроки = Новый Структура();
|
||
ПараметрыСтроки.Вставить("ТекстоваяСтрока"); // Тип строки. Исходящий служебный параметр.
|
||
ПараметрыСтроки.Вставить("Текст", Текст); // Строка,Обязательно - Текстовая строка
|
||
ПараметрыСтроки.Вставить("ПереносСтроки", Ложь); // Булево,Необязательно - Перенос строки, устанавливается значение по умолчанию.
|
||
ПараметрыСтроки.Вставить("Выравнивание" , "Лево"); // Строка,Необязательно - Выравнивание текста, Значения: "Лево", "Право", "Центр".
|
||
Возврат ПараметрыСтроки;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров штрихкода в строке для фискализации чека.
|
||
//
|
||
// Параметры:
|
||
// ТипШтрихкодаЗнач - Строка - Тип штрихкода.
|
||
// ШтрихКодЗнач - Строка - Значение штрихкода.
|
||
// ШтрихКодBase64 - Строка - Значение штрихкода в Base64.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыШтрихкодВСтрокеЧека(ТипШтрихкодаЗнач = Неопределено, ШтрихКодЗнач = Неопределено, ШтрихКодBase64 = Неопределено) Экспорт;
|
||
|
||
ПараметрыСтроки = Новый Структура();
|
||
ПараметрыСтроки.Вставить("ТипШтрихкода", ТипШтрихкодаЗнач); // Строка,Обязательно - Тип штрихкода.
|
||
ПараметрыСтроки.Вставить("ШтрихКод" , ШтрихКодЗнач); // Строка,Обязательно - Значение штрихкода.
|
||
ПараметрыСтроки.Вставить("ШтрихКодBase64", ШтрихКодBase64); // Строка,Обязательно - Значение штрихкода в Base64.
|
||
Возврат ПараметрыСтроки;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров строки оплаты.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыСтрокиОплаты(Сумма = 0) Экспорт
|
||
|
||
ПараметрыСтроки = Новый Структура();
|
||
ПараметрыСтроки.Вставить("ТипОплаты", ПредопределенноеЗначение("Перечисление.ТипыОплатыККТ.Наличные"));
|
||
ПараметрыСтроки.Вставить("Сумма" , Сумма);
|
||
Возврат ПараметрыСтроки;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров детализации строки оплаты.
|
||
//
|
||
// Параметры:
|
||
// НаименованиеТипаОплаты - Строка
|
||
// Сумма - Число
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыДетализацииСтрокиОплаты(НаименованиеТипаОплаты = Неопределено, Сумма = 0) Экспорт
|
||
|
||
ПараметрыСтроки = Новый Структура();
|
||
ПараметрыСтроки.Вставить("НаименованиеТипаОплаты", НаименованиеТипаОплаты); // Строка,Обязательно Текстовая строка
|
||
ПараметрыСтроки.Вставить("Сумма", Сумма);
|
||
Возврат ПараметрыСтроки;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров сведений о безналичной оплате.
|
||
//
|
||
// Параметры:
|
||
// Сумма - Число - Cумма оплаты безналичными
|
||
// ПризнакСпособаОплаты - Число - Признак способа оплаты безналичными
|
||
// Идентификаторы - Строка - Идентификаторы безналичной оплаты
|
||
// ДополнительныеCведения - Строка - Дополнительные сведения о безналичной оплате
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыСведенияОБезналичнойОплате() Экспорт
|
||
|
||
ПараметрыСтроки = Новый Структура();
|
||
ПараметрыСтроки.Вставить("Сумма", 0); // Число,Обязательно - Cумма оплаты безналичными
|
||
ПараметрыСтроки.Вставить("ПризнакСпособаОплаты", 0); // Число,Обязательно - Признак способа оплаты безналичными
|
||
ПараметрыСтроки.Вставить("Идентификаторы"); // Строка,Необязательно - Идентификаторы безналичной оплаты
|
||
ПараметрыСтроки.Вставить("ДополнительныеCведения"); // Строка,Необязательно - Дополнительные сведения о безналичной оплате
|
||
Возврат ПараметрыСтроки;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров строки оплаты.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыДанныеКоррекции() Экспорт
|
||
|
||
ДанныеКоррекции = Новый Структура();
|
||
ДанныеКоррекции.Вставить("ТипКоррекции", 0); // Число,Обязательно - Тип коррекции: 0-самостоятельно, 1-по предписанию.
|
||
ДанныеКоррекции.Вставить("ОписаниеКоррекции"); // Строка,Необязательно - Описание коррекции.
|
||
ДанныеКоррекции.Вставить("ДатаКоррекции"); // ДатаВремя,Обязательно - Дата совершения корректируемого расчета.
|
||
ДанныеКоррекции.Вставить("НомерПредписания"); // Строка,Обязательно - Номер предписания налогового органа.
|
||
Возврат ДанныеКоррекции;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров выполнения операции чека коррекции.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыОперацииЧекаКоррекции() Экспорт;
|
||
|
||
ПараметрыЧека = ПараметрыОперацииФискализацииЧека();
|
||
ПараметрыЧека.Вставить("КорректируемыйДокумент");
|
||
ПараметрыЧека.Вставить("НеприменениеККТ", Ложь);
|
||
ПараметрыЧека.Вставить("ДанныеКоррекции", ПараметрыДанныеКоррекции());
|
||
|
||
Возврат ПараметрыЧека;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров открытия и закрытия смены.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыОткрытияЗакрытияСмены() Экспорт;
|
||
|
||
ПараметрыОперации = ПараметрыВыполненияОперации();
|
||
|
||
ПараметрыОперации.Вставить("АдресРасчетов"); // Строка,Необязательно - Адрес расчетов (Тег 1009).
|
||
ПараметрыОперации.Вставить("МестоРасчетов"); // Строка,Необязательно - Место расчетов (Тег 1187).
|
||
ПараметрыОперации.Вставить("КассаККМ"); //ОпределяемыйТип.КассаБПО,Необязательно - касса ккм для закрытия смены.
|
||
ПараметрыОперации.Вставить("Печать", Истина); // Булево,Необязательно - Необходима печать требуемого документа.
|
||
ПараметрыОперации.Вставить("АвтономнаяККТ", Ложь); // Булево,Необязательно - Признак автономной ККТ.
|
||
ПараметрыОперации.Вставить("ОблачнаяККТ", Ложь); // Булево,Необязательно - Признак облачной ККТ.
|
||
|
||
Возврат ПараметрыОперации;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров инкассацию на фискальном устройстве.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыИнкассации() Экспорт;
|
||
|
||
ПараметрыОперации = ПараметрыВыполненияОперации();
|
||
ПараметрыОперации.Вставить("ДокументОснование" , Неопределено); // Ссылка,Необязательно. Документ по которому формируется операция.
|
||
ПараметрыОперации.Вставить("Организация" , Неопределено); // Ссылка,Необязательно. Организация по которой формируется операция.
|
||
ПараметрыОперации.Вставить("ТорговыйОбъект" , Неопределено); // Ссылка,Необязательно. Объект по которому формируется операция.
|
||
ПараметрыОперации.Вставить("КассаККМ" , Неопределено); // Ссылка,Необязательно. Объект по которому формируется операция.
|
||
|
||
ПараметрыОперации.Вставить("ТипИнкассации"); // Число,Обязательно - Тип инкассации (1-внесение, 0-выемка)
|
||
ПараметрыОперации.Вставить("Сумма", 0); // Число,Обязательно - Сумма инкассации.
|
||
|
||
Возврат ПараметрыОперации;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров печати копии чека.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыПечатьКопииЧека() Экспорт;
|
||
|
||
ПараметрыОперации = ПараметрыВыполненияОперации();
|
||
ПараметрыОперации.Вставить("ДокументСсылка" , Неопределено); // Ссылка - Документ по которому пробивается чек.
|
||
ПараметрыОперации.Вставить("НомерЧекаККТ" , Неопределено); // Строка - Номер фискального чека.
|
||
ПараметрыОперации.Вставить("Аппаратно" , Истина); // Булево - Печать копии чека производиться аппаратно по данным ККТ, иначе по регистру фискальных операций.
|
||
ПараметрыОперации.Вставить("НомерЧека" , Неопределено); // Строка - Номер чека для аппаратной печати чека на ККТ.
|
||
ПараметрыОперации.Вставить("ФискальныйПризнак"); // Строка - Фискальный признак документа.
|
||
Возврат ПараметрыОперации;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров аннулирования чека.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыОперацииАннулированияЧека() Экспорт;
|
||
|
||
ПараметрыОперации = ПараметрыВыполненияОперации();
|
||
ПараметрыОперации.Вставить("ТипРасчета" , ПредопределенноеЗначение("Перечисление.ТипыРасчетаДенежнымиСредствами.ПриходДенежныхСредств"));
|
||
ПараметрыОперации.Вставить("Фискальный" , Истина);
|
||
Возврат ПараметрыОперации;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру печати QR кода на фискальном устройстве.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыПечатиQRКодаНаФискальномУстройстве() Экспорт;
|
||
|
||
ПараметрыОперации = Новый Структура();
|
||
|
||
ПараметрыОперации.Вставить("ТипПлатежнойСистемы"); // ПеречислениеСсылка.ТипыПлатежнойСистемыККТ, Необязательно - Тип платежной системы.
|
||
ПараметрыОперации.Вставить("ИдентификаторОплатыПлатежнойСистемы"); // Строка,Необязательно - Идентификатор оплаты платежных системы.
|
||
ПараметрыОперации.Вставить("QRКод", ПараметрыQRКода()); // Структура,Заполнение необязательно - параметры QR кода в теле чека.
|
||
ПараметрыОперации.QRКод.ТекстПользователя = НСтр("ru='Для совершения платежа отсканируйте QR-код'");
|
||
ПараметрыОперации.Вставить("СуммаОперации", Неопределено); // Число,Необязательно - Сумма операции.
|
||
|
||
Возврат ПараметрыОперации;
|
||
|
||
КонецФункции
|
||
|
||
// Параметры счетчиков операций.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура - Параметры нормализуемых фискальных данных:
|
||
// * КоличествоЧеков - Число -
|
||
// * СуммаЧеков - Число -
|
||
// * КоличествоЧековКоррекции - Число -
|
||
// * СуммаЧековКоррекции - Число -
|
||
//
|
||
Функция ПараметрыСчетчиковОпераций() Экспорт
|
||
|
||
СтруктураРезультат = Новый Структура();
|
||
|
||
СтруктураРезультат.Вставить("КоличествоЧеков");
|
||
СтруктураРезультат.Вставить("СуммаЧеков");
|
||
СтруктураРезультат.Вставить("КоличествоЧековКоррекции");
|
||
СтруктураРезультат.Вставить("СуммаЧековКоррекции");
|
||
|
||
Возврат СтруктураРезультат;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров нормализуемых фискальных данных.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура - Параметры нормализуемых фискальных данных:
|
||
// * ДатаСменыККТ - Число -
|
||
// * НомерСменыККТ - Число -
|
||
// * НомерЧекаККТ - Число -
|
||
// * НомерЧекаЗаСмену - Число -
|
||
// * СтатусСмены - Неопределено -
|
||
// * СчетчикиОперацийПриход - Структура -:
|
||
// ** КоличествоЧеков - Число.
|
||
// ** СуммаЧеков - Число.
|
||
// ** КоличествоЧековКоррекции - Число.
|
||
// ** СуммаЧековКоррекции - Число.
|
||
// * СчетчикиОперацийВозвратПрихода - Структура -:
|
||
// ** КоличествоЧеков - Число.
|
||
// ** СуммаЧеков - Число.
|
||
// ** КоличествоЧековКоррекции - Число.
|
||
// ** СуммаЧековКоррекции - Число.
|
||
// * СчетчикиОперацийРасход - Структура -:
|
||
// ** КоличествоЧеков - Число.
|
||
// ** СуммаЧеков - Число.
|
||
// ** КоличествоЧековКоррекции - Число.
|
||
// ** СуммаЧековКоррекции - Число.
|
||
// * СчетчикиОперацийВозвратРасхода - Структура -:
|
||
// ** КоличествоЧеков - Число.
|
||
// ** СуммаЧеков - Число.
|
||
// ** КоличествоЧековКоррекции - Число.
|
||
// ** СуммаЧековКоррекции - Число.
|
||
// * КоличествоЧеков - Число.
|
||
// * ОстатокНаличных - Число.
|
||
// * ПревышеноВремяОжиданияОтветаОФД - Булево -
|
||
// * КоличествоНепереданныхФД - Неопределено -
|
||
// * НомерПервогоНепереданногоФД - Неопределено -
|
||
// * ДатаПервогоНепереданногоФД - Неопределено -
|
||
// * НеобходимаСрочнаяЗаменаФН - Булево -
|
||
// * ПамятьФНПереполнена - Булево -
|
||
// * РесурсФНИсчерпан - Булево -
|
||
//
|
||
Функция ПараметрыНормализуемыхФискальныхДанных() Экспорт
|
||
|
||
СтруктураРезультат = Новый Структура();
|
||
|
||
СтруктураРезультат.Вставить("ДатаСменыККТ" , Неопределено); // Дата открытой/закрытой смены.
|
||
СтруктураРезультат.Вставить("НомерСменыККТ" , 0); // Номер открытой/закрытой смены.
|
||
СтруктураРезультат.Вставить("НомерЧекаККТ" , 0); // Номер последнего фискального чека.
|
||
СтруктураРезультат.Вставить("НомерЧекаЗаСмену" , 0); // Номер последнего чека за смену.
|
||
СтруктураРезультат.Вставить("СтатусСмены" , Неопределено); // Состояние смены: 1-Закрыта, 2-Открыта, 3-Истекла.
|
||
СтруктураРезультат.Вставить("КоличествоЧеков" , 0); // Количество чеков и чеков коррекции со всеми признаками расчетов
|
||
СтруктураРезультат.Вставить("СчетчикиОперацийПриход" , ПараметрыСчетчиковОпераций()); // Счетчики операций по типу "приход".
|
||
СтруктураРезультат.Вставить("СчетчикиОперацийВозвратПрихода", ПараметрыСчетчиковОпераций()); // Счетчики операций по типу "возврат прихода".
|
||
СтруктураРезультат.Вставить("СчетчикиОперацийРасход" , ПараметрыСчетчиковОпераций()); // Счетчики операций по типу "расход".
|
||
СтруктураРезультат.Вставить("СчетчикиОперацийВозвратРасхода", ПараметрыСчетчиковОпераций()); // Счетчики операций по типу "возврат расхода".
|
||
СтруктураРезультат.Вставить("ОстатокНаличных"); // Остаток наличных денежных средств в кассе
|
||
СтруктураРезультат.Вставить("ПревышеноВремяОжиданияОтветаОФД", Ложь);
|
||
СтруктураРезультат.Вставить("КоличествоНепереданныхФД" , Неопределено); // Количество непереданных документов.
|
||
СтруктураРезультат.Вставить("НомерПервогоНепереданногоФД", Неопределено); // Номер первого непереданного документ.
|
||
СтруктураРезультат.Вставить("ДатаПервогоНепереданногоФД" , Неопределено); // Дата и время первого из непереданных документов.
|
||
|
||
СтруктураРезультат.Вставить("НеобходимаСрочнаяЗаменаФН" , Ложь); // Признак необходимости срочной замены ФН.
|
||
СтруктураРезультат.Вставить("ПамятьФНПереполнена" , Ложь); // Признак переполнения памяти ФН.
|
||
СтруктураРезультат.Вставить("РесурсФНИсчерпан" , Ложь); // Признак исчерпания ресурса ФН.
|
||
СтруктураРезультат.Вставить("СрокДействияФН" , Неопределено); // Срок действия ФН
|
||
|
||
Возврат СтруктураРезультат;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров печати текста.
|
||
//
|
||
// Параметры:
|
||
// СтрокиТекста - Строка
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыПечатиТекста(СтрокиТекста = Неопределено) Экспорт
|
||
|
||
Параметры = Новый Структура();
|
||
Параметры.Вставить("СтрокиТекста", СтрокиТекста);
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров запрос КМ.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура - параметры запроса КМ:
|
||
// * ИдентификаторЗапроса - Строка - Уникальный идентификатор запроса
|
||
// * ВыполнятьВалидацию - Булево - выполнять проверку кода маркировки средствами БПО
|
||
// * ИгнорироватьРезультатПроверкиКМ - Булево - игнорировать результат проверки КМ и автоматически подтверждать продажу товара.
|
||
// * ЗапросПроверкиКМСредствамиККТ - Булево - выполнять запрос проверки КМ на удаленном сервере ОИСМ (ИСМП).
|
||
// Обычно этот флаг сбрасывается в Ложь при использовании объемно-сортового учета.
|
||
// * ОжидатьПолучениеОтветаОИСМ - Булево - Будет ли ожидаться получение ответа от ОИСМ. (ИСМП)
|
||
// * ОтправлятьНаСерверОИСМ - Булево - (устарела) Запрос КМ формируется локально или отправляется на сервер ОИСМ.
|
||
// * Количество - Число - Количество
|
||
// * ДробноеКоличество - см. ОборудованиеЧекопечатающиеУстройстваКлиентСервер.ПараметрыДробноеКоличество.
|
||
// * КонтрольнаяМарка - Строка - Код контрольной марки. Кодируется текстом в кодировке Base64.
|
||
// * КодЕдиницыИзмерения - Строка - Код единицы измерения в соответствии с общероссийским классификатором единиц
|
||
// измерения. Если значение реквизита заполнено, используется он, иначе МераКоличестваПредметаРасчета.
|
||
// * МераКоличестваПредметаРасчета - ПеречислениеСсылка.МераКоличестваПредметаРасчетаККТ - Мера количества предмета расчета.
|
||
// Тэг 2108. Значение из таблицы 114 (ФФД).
|
||
// * ПланируемыйСтатусТовара - ПеречислениеСсылка.
|
||
// * Наименование - Строка - строковое наименование предмета расчета, для отображения в журнате операций провенрки кода маркировки
|
||
// * ДополнительныеПараметры - Неопределено, Структура - дополнительные параметры которые могут быть переданы в операцию,
|
||
// это значение вернется в оповещении при выполнении операции.
|
||
// * ЗапросРазрешенияПродажиКМ - Булево - выполнялся запрос разрешения продажи
|
||
// * АдресСервераЗапросаРазрешения - Строка - адрес сервера где выполнялся запрос разрешения
|
||
// * ТекстЗапросаРазрешения - Строка - текст запроса для получения разрешения
|
||
// * КодОтветаРазрешения - Неопределено, Строка - код ответа который получен от удаленного сервера, если код не задан, а значение флага
|
||
// ЗапросРазрешенияПродажиКМ установлено в Истина, тогда код будет содержать текст Таймаут.
|
||
// * РезультатЗапросаРазрешения - Строка - JSON - строка, ответ от удаленного сервера ГИС МТ
|
||
// * ИдентификаторЗапросаРазрешения - Строка - идентификатор запроса полученного разрешения
|
||
// * ВремяЗапросаРазрешения - Неопределено, Строка, Дата - таймштамп полученный с удаленого сервера
|
||
// * ПродажаРазрешена - Булево - продажа разрешена, на форме записи будет отображение, что продажа разрешена.
|
||
// * ПричинаЗапрета - Строка - Причина запрета продажи, для отображения на форме записи
|
||
// * ДополнительныеСведения - Массив из см. ДополнительноеСведениеЗапросаКМ
|
||
//
|
||
Функция ПараметрыЗапросКМ() Экспорт
|
||
|
||
Параметры = Новый Структура();
|
||
Параметры.Вставить("Результат", Истина);
|
||
Параметры.Вставить("ТекстОшибки");
|
||
|
||
Параметры.Вставить("ИдентификаторЗапроса", "");
|
||
Параметры.Вставить("ВыполнятьВалидацию", Ложь);
|
||
Параметры.Вставить("ИгнорироватьРезультатПроверкиКМ", Ложь);
|
||
Параметры.Вставить("ЗапросПроверкиКМСредствамиККТ", Истина);
|
||
Параметры.Вставить("ОжидатьПолучениеОтветаОИСМ", Истина);
|
||
Параметры.Вставить("ОтправлятьНаСерверОИСМ", Истина);
|
||
Параметры.Вставить("Количество", 0);
|
||
Параметры.Вставить("ДробноеКоличество", ПараметрыДробноеКоличество());
|
||
Параметры.Вставить("КонтрольнаяМарка", "");
|
||
Параметры.Вставить("КодЕдиницыИзмерения", "");
|
||
Параметры.Вставить("МераКоличестваПредметаРасчета");
|
||
Параметры.Вставить("ПланируемыйСтатусТовара");
|
||
Параметры.Вставить("Наименование");
|
||
Параметры.Вставить("ДополнительныеПараметры", Неопределено);
|
||
|
||
// запрос к серверу ГИС МТ
|
||
Параметры.Вставить("ЗапросРазрешенияПродажиКМ", Ложь);
|
||
Параметры.Вставить("АдресСервераЗапросаРазрешения", "");
|
||
Параметры.Вставить("ТекстЗапросаРазрешения", "");
|
||
Параметры.Вставить("КодОтветаРазрешения", Неопределено);
|
||
Параметры.Вставить("РезультатЗапросаРазрешения", "");
|
||
Параметры.Вставить("ИдентификаторЗапросаРазрешения", "");
|
||
Параметры.Вставить("ВремяЗапросаРазрешения", Неопределено);
|
||
Параметры.Вставить("ПродажаРазрешена", Ложь);
|
||
Параметры.Вставить("ПричинаЗапрета", "");
|
||
Параметры.Вставить("ДополнительныеСведения", Новый Массив);
|
||
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Дополнительное сведение запроса КМ для отображения на форме записи операции
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура:
|
||
// * Заголовок - Строка - заголовок элемента
|
||
// * Значение - Произвольный
|
||
Функция ДополнительноеСведениеЗапросаКМ() Экспорт
|
||
|
||
Результат = Новый Структура;
|
||
Результат.Вставить("Заголовок", "");
|
||
Результат.Вставить("Значение");
|
||
Возврат Результат;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров запрос КМ.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура -Параметры проверки КМ:
|
||
// * ОтображатьФорму - Булево - отображать форму с прогрессом выполнения средставми библиотеки
|
||
// * ОжидатьПолученияОтветаПроверкиКМ - Булево - (не используется) ожидать завершения запроса от удаленного сервера ОИСМ (ИСМП).
|
||
// * ЗапросыКМ - Массив из см. ПараметрыЗапросКМ - массив запросов КМ
|
||
//
|
||
Функция ПараметрыПроверкиКМ() Экспорт
|
||
|
||
Параметры = Новый Структура();
|
||
Параметры.Вставить("ОтображатьФорму", Ложь);
|
||
Параметры.Вставить("ОжидатьПолученияОтветаПроверкиКМ", Ложь); // было ОжидатьПолучениеОтветаОИСМ
|
||
Параметры.Вставить("ЗапросыКМ", Новый Массив());
|
||
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров запрос КМ.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура:
|
||
// * ИдентификаторЗапроса - Строка - Уникальный идентификатор запроса
|
||
//
|
||
Функция ПараметрыПодтверждениеКМ() Экспорт
|
||
|
||
Параметры = Новый Структура();
|
||
Параметры.Вставить("ИдентификаторЗапроса"); // Строка,Обязательно - Уникальный идентификатор запроса
|
||
Параметры.Вставить("Выбытие", Истина); // Булево,Обязательно - КМ будет реализована в состав документа о реализации маркированного товара.
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру пакетной операции для добавления ее в очередь чеков
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура:
|
||
// * ТипОперации - ПеречислениеСсылка.ТипыПакетнойОперацииВОчередиЧеков
|
||
// * ИдентификаторЭТ - СправочникСсылка.ПодключаемоеОборудование - Эквайринговый терминал для обработки операции
|
||
// * СлипЧекВТелеФискального - Булево, Неопределено - Выводить слип-чек в теле фискального, Истина - слип-чек будет выведен
|
||
// в теле фискального, Ложь - короткий слип-чек не будет выводиться, Неопределено - короткий слип-чек
|
||
// будет выводиться если поддерживает драйвер оборудования.
|
||
// * ПараметрыЭквайринговойОперации - Структура:
|
||
// ** ВидОплаты - Строка -
|
||
// ** ПроцентКомиссии - Число -
|
||
// ** РеквизитыКартыQR - Строка -
|
||
// * ПараметрыПродажаСВыдачейНаличных - Структура:
|
||
// ** СуммаВыдачи - Число - сумма выдачи наличных, в случае операции продажа с выдачей наличных
|
||
// ** ДанныеАгента - см. ОборудованиеЧекопечатающиеУстройстваКлиентСервер.ПараметрыДанныеАгента
|
||
// ** ДанныеПоставщика - см. ОборудованиеЧекопечатающиеУстройстваКлиентСервер.ПараметрыДанныеПоставщика
|
||
// ** ДокументОснованиеВыдачи - ОпределяемыйТип.ОснованиеФискальнойОперацииБПО, Неопределено -
|
||
// ** ДокументОснованиеВозврата - ОпределяемыйТип.ОснованиеФискальнойОперацииБПО, Неопределено -
|
||
//
|
||
Функция ПараметрыПакетнойОперацииВОчередиЧеков() Экспорт
|
||
|
||
Параметры = Новый Структура();
|
||
Параметры.Вставить("ТипОперации", ПредопределенноеЗначение("Перечисление.ТипыПакетнойОперацииВОчередиЧеков.НеПакетнаяОперация"));
|
||
Параметры.Вставить("ИдентификаторЭТ");
|
||
Параметры.Вставить("СлипЧекВТелеФискального");
|
||
|
||
ПараметрыЭквайринговойОперации = Новый Структура();
|
||
ПараметрыЭквайринговойОперации.Вставить("ВидОплаты");
|
||
ПараметрыЭквайринговойОперации.Вставить("ПроцентКомиссии");
|
||
ПараметрыЭквайринговойОперации.Вставить("РеквизитыКартыQR", "");
|
||
|
||
Параметры.Вставить("ПараметрыЭквайринговойОперации", ПараметрыЭквайринговойОперации);
|
||
|
||
ПараметрыПродажаСВыдачейНаличных = Новый Структура();
|
||
ПараметрыПродажаСВыдачейНаличных.Вставить("СуммаВыдачи");
|
||
ПараметрыПродажаСВыдачейНаличных.Вставить("ДанныеАгента", ПараметрыДанныеАгента());
|
||
ПараметрыПродажаСВыдачейНаличных.Вставить("ДанныеПоставщика", ПараметрыДанныеПоставщика());
|
||
ПараметрыПродажаСВыдачейНаличных.Вставить("ДокументОснованиеВыдачи", Неопределено);
|
||
ПараметрыПродажаСВыдачейНаличных.Вставить("ДокументОснованиеВозврата", Неопределено);
|
||
|
||
Параметры.Вставить("ПараметрыПродажаСВыдачейНаличных", ПараметрыПродажаСВыдачейНаличных);
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
// Параметры фискальной операции.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура - Параметры фискальной операции:
|
||
// * Кассир - ОпределяемыйТип.СубъектПерсональныхДанныхБПО
|
||
// * ДокументОснование - ОпределяемыйТип.ОснованиеФискальнойОперацииБПО
|
||
// * Организация - ОпределяемыйТип.ОрганизацияБПО
|
||
// * ТорговыйОбъект - ОпределяемыйТип.ТорговыйОбъектБПО
|
||
// * НомерСменыККТ - Число -
|
||
// * НомерЧекаККТ - Число -
|
||
// * СтатусСмены - Число -
|
||
// * ДатаВремя - Дата
|
||
// * ПараметрыXML - Строка -
|
||
// * РезультатXML - Строка -
|
||
// * КассоваяСмена - ДокументСсылка.КассоваяСмена
|
||
// * ТестовыеЧеки - Булево
|
||
// * ТекстЧека - Строка
|
||
// * ДополнительныеПараметры - Произвольный
|
||
// * Результат - Булево -
|
||
// * ТекстОшибки - Строка
|
||
//
|
||
Функция ПараметрыФискальнойОперации() Экспорт
|
||
|
||
ДанныеОперации = Новый Структура();
|
||
ДанныеОперации.Вставить("Кассир");
|
||
ДанныеОперации.Вставить("ДокументОснование");
|
||
ДанныеОперации.Вставить("Организация");
|
||
ДанныеОперации.Вставить("ТорговыйОбъект");
|
||
|
||
ДанныеОперации.Вставить("НомерСменыККТ" , 0);
|
||
ДанныеОперации.Вставить("НомерЧекаККТ" , 0);
|
||
ДанныеОперации.Вставить("СтатусСмены", 0);
|
||
ДанныеОперации.Вставить("ДатаВремя");
|
||
ДанныеОперации.Вставить("ПараметрыXML", "");
|
||
ДанныеОперации.Вставить("РезультатXML", "");
|
||
ДанныеОперации.Вставить("КассоваяСмена");
|
||
ДанныеОперации.Вставить("ТестовыеЧеки");
|
||
ДанныеОперации.Вставить("ТекстЧека");
|
||
ДанныеОперации.Вставить("ДополнительныеПараметры");
|
||
ДанныеОперации.Вставить("Результат", Истина);
|
||
ДанныеОперации.Вставить("ТекстОшибки");
|
||
|
||
Возврат ДанныеОперации;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру данных запроса проверки кода для разрешительной системы.
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыЗапросПроверкиКода() Экспорт
|
||
|
||
Параметры = Новый Структура();
|
||
Параметры.Вставить("ИдентификаторЗапроса"); // Строка,Обязательно - Уникальный идентификатор запроса.
|
||
Параметры.Вставить("ВременнаяМетка"); // Строка,Обязательно - Дата и время с точностью до миллисекунд формирования запроса в текстовом виде.
|
||
// Реализация с 1 сентября 2025 года
|
||
Параметры.Вставить("ИдентификаторЭкземпляра"); // Строка,Обязательно - Идентификатор экземпляра ЛМ ЧЗ inst
|
||
Параметры.Вставить("ВерсияБазы"); // Строка,Обязательно - Версия базы, на которой осуществлялась проверка ver
|
||
Возврат Параметры;
|
||
|
||
КонецФункции
|
||
|
||
#КонецОбласти
|
||
|
||
#Область QRКодЧекаККТ
|
||
|
||
// Функция возвращает структуру параметров QR кода чека ККТ.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция ПараметрыQRКодаЧекаККТ() Экспорт
|
||
|
||
ПараметрыШтрихкода = Новый Структура();
|
||
ПараметрыШтрихкода.Вставить("ДатаВремяРасчета"); // Дата и время осуществления расчета
|
||
ПараметрыШтрихкода.Вставить("СуммаРасчета", 0); // Сумма расчета в рублях и копейках
|
||
ПараметрыШтрихкода.Вставить("НомерФискальногоНакопителя"); // Заводской номер фискального накопителя
|
||
ПараметрыШтрихкода.Вставить("НомерФискальногоДокумента"); // Порядковый номер фискального документа
|
||
ПараметрыШтрихкода.Вставить("ФискальныйПризнак"); // Фискальный признак документ
|
||
ПараметрыШтрихкода.Вставить("ПризнакРасчета"); // Признак расчета, перечисление
|
||
ПараметрыШтрихкода.Вставить("ПризнакРасчетаКод"); // Признак расчета, код
|
||
Возврат ПараметрыШтрихкода;
|
||
|
||
КонецФункции
|
||
|
||
// Функция расшифровывает QR код для чека ККТ. Структура описана в документе ФФД в разделе 61.
|
||
//
|
||
// Параметры:
|
||
// ЗначениеQRКода - Строка
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция РасшифроватьQRКодЧекаККТ(ЗначениеQRКода) Экспорт
|
||
|
||
ДанныеШтрихкода = ПараметрыQRКодаЧекаККТ();
|
||
ОборудованиеЧекопечатающиеУстройстваКлиентСерверЛокализация.РасшифроватьQRКодЧекаККТ(ЗначениеQRКода, ДанныеШтрихкода);
|
||
Возврат ДанныеШтрихкода;
|
||
|
||
КонецФункции
|
||
|
||
// Функция формирует QR код для чека ККТ. Структура описана в документе ФФД в разделе 61.
|
||
//
|
||
// Параметры:
|
||
// ПараметрыQRКода - Структура
|
||
// Возвращаемое значение:
|
||
// Строка.
|
||
//
|
||
Функция СформироватьQRКодЧекаККТ(ПараметрыQRКода) Экспорт
|
||
|
||
ДанныеQRКода = "";
|
||
ОборудованиеЧекопечатающиеУстройстваКлиентСерверЛокализация.СформироватьQRКодЧекаККТ(ПараметрыQRКода, ДанныеQRКода);
|
||
Возврат ДанныеQRКода;
|
||
|
||
КонецФункции
|
||
|
||
#КонецОбласти
|
||
|
||
#Область КодыОФД
|
||
|
||
///////////////////////////////////////////////////////////////////////////////
|
||
// Система налогообложения
|
||
|
||
// Получить код системы налогообложения ККТ.
|
||
//
|
||
// Параметры:
|
||
// СистемаНалогообложенияККТ - ПеречислениеСсылка.ТипыСистемНалогообложенияККТ - Система налогообложения ККТ.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Произвольный, Число - Код системы налогообложения ККТ
|
||
Функция КодСистемыНалогообложенияККТ(СистемаНалогообложенияККТ) Экспорт
|
||
|
||
Код = 0;
|
||
ОборудованиеЧекопечатающиеУстройстваКлиентСерверЛокализация.КодСистемыНалогообложенияККТ(Код, СистемаНалогообложенияККТ);
|
||
Возврат Код;
|
||
|
||
КонецФункции
|
||
|
||
// Получить систему налогообложения ККТ по коду
|
||
//
|
||
// Параметры:
|
||
// КодСистемыНалогообложенияККТ - Число - Код системы налогообложения ККТ.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Произвольный, ПеречислениеСсылка.ТипыСистемНалогообложенияККТ - Система налогообложения ККТПо коду
|
||
Функция СистемаНалогообложенияККТПоКоду(КодСистемыНалогообложенияККТ) Экспорт
|
||
|
||
Значение = 0;
|
||
ОборудованиеЧекопечатающиеУстройстваКлиентСерверЛокализация.СистемаНалогообложенияККТПоКоду(Значение, КодСистемыНалогообложенияККТ);
|
||
Возврат Значение;
|
||
|
||
КонецФункции
|
||
|
||
// Получить наименование системы налогообложения по коду.
|
||
//
|
||
// Параметры:
|
||
// СистемаНалогообложения - Число, Произвольный - Система налогообложения
|
||
// Кратко - Булево - Кратко
|
||
//
|
||
// Возвращаемое значение:
|
||
// Строка, Произвольный - Наименование системы налогообложения
|
||
Функция НаименованиеСистемыНалогообложения(СистемаНалогообложения, Кратко = Ложь) Экспорт;
|
||
|
||
Наименование = 0;
|
||
ОборудованиеЧекопечатающиеУстройстваКлиентСерверЛокализация.НаименованиеСистемыНалогообложения(Наименование, СистемаНалогообложения, Кратко);
|
||
Возврат Наименование;
|
||
|
||
КонецФункции
|
||
|
||
///////////////////////////////////////////////////////////////////////////////
|
||
// Коды видов документов
|
||
|
||
// Возвращает код вида документа удостоверяющего личность ККТ.
|
||
//
|
||
// Параметры:
|
||
// ВидДокументаУдостоверяющегоЛичность - ПеречислениеСсылка - Вид документа удостоверяющего личность
|
||
//
|
||
// Возвращаемое значение:
|
||
// Произвольный, Число - Код вид документа удостоверяющего личность
|
||
Функция КодВидДокументаУдостоверяющегоЛичность(ВидДокументаУдостоверяющегоЛичность) Экспорт
|
||
|
||
Код = 0;
|
||
ОборудованиеЧекопечатающиеУстройстваКлиентСерверЛокализация.КодВидДокументаУдостоверяющегоЛичность(Код, ВидДокументаУдостоверяющегоЛичность);
|
||
Возврат Код;
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает вида документа удостоверяющего личность ККТ по коду.
|
||
//
|
||
// Параметры:
|
||
// КодВидаДокументаУдостоверяющегоЛичность - Число - Код вида документа удостоверяющего личность.
|
||
//
|
||
// Возвращаемое значение:
|
||
// ПеречислениеСсылка, Произвольный - Вид документа удостоверяющего личность по коду
|
||
Функция ВидДокументаУдостоверяющегоЛичностьПоКоду(КодВидаДокументаУдостоверяющегоЛичность) Экспорт
|
||
|
||
Значение = "";
|
||
ОборудованиеЧекопечатающиеУстройстваКлиентСерверЛокализация.ВидДокументаУдостоверяющегоЛичностьПоКоду(Значение, КодВидаДокументаУдостоверяющегоЛичность);
|
||
Возврат Значение;
|
||
|
||
КонецФункции
|
||
|
||
///////////////////////////////////////////////////////////////////////////////
|
||
// Коды расчетов, признаков расчетов и предметов расчетов
|
||
|
||
// Получить код расчета денежными средствами.
|
||
//
|
||
// Параметры:
|
||
// ТипРасчета - ПеречислениеСсылка.ТипыРасчетаДенежнымиСредствами - Тип расчета.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Произвольный, Число - Код расчета денежными средствами
|
||
Функция КодРасчетаДенежнымиСредствами(ТипРасчета) Экспорт
|
||
|
||
ТипыРасчета = Новый Соответствие();
|
||
ТипыРасчета.Вставить(ПредопределенноеЗначение("Перечисление.ТипыРасчетаДенежнымиСредствами.ПриходДенежныхСредств") , 1);
|
||
ТипыРасчета.Вставить(ПредопределенноеЗначение("Перечисление.ТипыРасчетаДенежнымиСредствами.ВозвратДенежныхСредств") , 2);
|
||
ТипыРасчета.Вставить(ПредопределенноеЗначение("Перечисление.ТипыРасчетаДенежнымиСредствами.РасходДенежныхСредств") , 3);
|
||
ТипыРасчета.Вставить(ПредопределенноеЗначение("Перечисление.ТипыРасчетаДенежнымиСредствами.ВозвратРасходаДенежныхСредств"), 4);
|
||
|
||
Возврат ТипыРасчета.Получить(ТипРасчета);
|
||
|
||
КонецФункции
|
||
|
||
// Получить наименование кода расчета денежными средствами по коду.
|
||
//
|
||
// Параметры:
|
||
// КодРасчета - ПеречислениеСсылка.ТипыРасчетаДенежнымиСредствами - Тип расчета.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Строка - Наименование кода расчета денежными средствами
|
||
Функция НаименованиеКодаРасчетаДенежнымиСредствами(КодРасчета) Экспорт
|
||
|
||
ТипыРасчета = Новый Соответствие();
|
||
ТипыРасчета.Вставить(1, НСтр("ru='ПРИХОД'")); // Чек продажи
|
||
ТипыРасчета.Вставить(2, НСтр("ru='ВОЗВРАТ ПРИХОДА'")); // Чек возврата продажи
|
||
ТипыРасчета.Вставить(3, НСтр("ru='РАСХОД'")); // Чек покупки
|
||
ТипыРасчета.Вставить(4, НСтр("ru='ВОЗВРАТ РАСХОДА'")); // Чек возврата покупки
|
||
|
||
Возврат ТипыРасчета.Получить(КодРасчета);
|
||
|
||
КонецФункции
|
||
|
||
// Получить типа расчета денежными средствами по коду.
|
||
//
|
||
// Параметры:
|
||
// КодПризнакаРасчета - Число - Код признака расчета.
|
||
//
|
||
// Возвращаемое значение:
|
||
// ПеречислениеСсылка.ТипыРасчетаДенежнымиСредствами, Произвольный - Расчет денежными средствами по коду
|
||
Функция РасчетДенежнымиСредствамиПоКоду(КодПризнакаРасчета) Экспорт
|
||
|
||
ТипыРасчета = Новый Соответствие();
|
||
ТипыРасчета.Вставить(1, ПредопределенноеЗначение("Перечисление.ТипыРасчетаДенежнымиСредствами.ПриходДенежныхСредств"));
|
||
ТипыРасчета.Вставить(2, ПредопределенноеЗначение("Перечисление.ТипыРасчетаДенежнымиСредствами.ВозвратДенежныхСредств"));
|
||
ТипыРасчета.Вставить(3, ПредопределенноеЗначение("Перечисление.ТипыРасчетаДенежнымиСредствами.РасходДенежныхСредств"));
|
||
ТипыРасчета.Вставить(4, ПредопределенноеЗначение("Перечисление.ТипыРасчетаДенежнымиСредствами.ВозвратРасходаДенежныхСредств"));
|
||
|
||
Возврат ТипыРасчета.Получить(КодПризнакаРасчета);
|
||
|
||
КонецФункции
|
||
|
||
// Получить код признака способа расчета.
|
||
//
|
||
// Параметры:
|
||
// ПризнакСпособаРасчета - ПеречислениеСсылка.ПризнакиСпособаРасчета - Признак способа расчета.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Произвольный, Число - Код признака способа расчета
|
||
Функция КодПризнакаСпособаРасчета(ПризнакСпособаРасчета) Экспорт
|
||
|
||
ПризнакиСпособаРасчета = Новый Соответствие();
|
||
ПризнакиСпособаРасчета.Вставить(ПредопределенноеЗначение("Перечисление.ПризнакиСпособаРасчета.ПредоплатаПолная") , 1);
|
||
ПризнакиСпособаРасчета.Вставить(ПредопределенноеЗначение("Перечисление.ПризнакиСпособаРасчета.ПредоплатаЧастичная") , 2);
|
||
ПризнакиСпособаРасчета.Вставить(ПредопределенноеЗначение("Перечисление.ПризнакиСпособаРасчета.Аванс") , 3);
|
||
ПризнакиСпособаРасчета.Вставить(ПредопределенноеЗначение("Перечисление.ПризнакиСпособаРасчета.ПередачаСПолнойОплатой") , 4);
|
||
ПризнакиСпособаРасчета.Вставить(ПредопределенноеЗначение("Перечисление.ПризнакиСпособаРасчета.ПередачаСЧастичнойОплатой"), 5);
|
||
ПризнакиСпособаРасчета.Вставить(ПредопределенноеЗначение("Перечисление.ПризнакиСпособаРасчета.ПередачаБезОплаты") , 6);
|
||
ПризнакиСпособаРасчета.Вставить(ПредопределенноеЗначение("Перечисление.ПризнакиСпособаРасчета.ОплатаКредита") , 7);
|
||
|
||
Возврат ПризнакиСпособаРасчета.Получить(ПризнакСпособаРасчета);
|
||
|
||
КонецФункции
|
||
|
||
// Получить признак способа расчета по коду.
|
||
//
|
||
// Параметры:
|
||
// КодПризнакаСпособаРасчета - Число - Код признака способа расчета.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Произвольный, ПеречислениеСсылка.ПризнакиСпособаРасчета - Признак способа расчета по коду
|
||
Функция ПризнакСпособаРасчетаПоКоду(КодПризнакаСпособаРасчета) Экспорт
|
||
|
||
ПризнакиСпособаРасчета = Новый Соответствие();
|
||
ПризнакиСпособаРасчета.Вставить(1, ПредопределенноеЗначение("Перечисление.ПризнакиСпособаРасчета.ПредоплатаПолная"));
|
||
ПризнакиСпособаРасчета.Вставить(2, ПредопределенноеЗначение("Перечисление.ПризнакиСпособаРасчета.ПредоплатаЧастичная"));
|
||
ПризнакиСпособаРасчета.Вставить(3, ПредопределенноеЗначение("Перечисление.ПризнакиСпособаРасчета.Аванс"));
|
||
ПризнакиСпособаРасчета.Вставить(4, ПредопределенноеЗначение("Перечисление.ПризнакиСпособаРасчета.ПередачаСПолнойОплатой"));
|
||
ПризнакиСпособаРасчета.Вставить(5, ПредопределенноеЗначение("Перечисление.ПризнакиСпособаРасчета.ПередачаСЧастичнойОплатой"));
|
||
ПризнакиСпособаРасчета.Вставить(6, ПредопределенноеЗначение("Перечисление.ПризнакиСпособаРасчета.ПередачаБезОплаты"));
|
||
ПризнакиСпособаРасчета.Вставить(7, ПредопределенноеЗначение("Перечисление.ПризнакиСпособаРасчета.ОплатаКредита"));
|
||
|
||
Возврат ПризнакиСпособаРасчета.Получить(КодПризнакаСпособаРасчета);
|
||
|
||
КонецФункции
|
||
|
||
// Получить наименование признака способа расчета по коду.
|
||
//
|
||
// Параметры:
|
||
// КодПризнакаСпособаРасчета - Число, Произвольный - Код признака способа расчета
|
||
//
|
||
// Возвращаемое значение:
|
||
// Строка, Произвольный - Наименование признака способа расчета
|
||
Функция НаименованиеПризнакаСпособаРасчета(КодПризнакаСпособаРасчета) Экспорт;
|
||
|
||
ПризнакиСпособаРасчета = Новый Соответствие();
|
||
|
||
ПризнакиСпособаРасчета.Вставить(1, НСтр("ru='ПРЕДОПЛАТА 100%'"));
|
||
ПризнакиСпособаРасчета.Вставить(2, НСтр("ru='ПРЕДОПЛАТА'"));
|
||
ПризнакиСпособаРасчета.Вставить(3, НСтр("ru='АВАНС'"));
|
||
ПризнакиСпособаРасчета.Вставить(4, НСтр("ru='ПОЛНЫЙ РАСЧЕТ'"));
|
||
ПризнакиСпособаРасчета.Вставить(5, НСтр("ru='ЧАСТИЧНЫЙ РАСЧЕТ И КРЕДИТ'"));
|
||
ПризнакиСпособаРасчета.Вставить(6, НСтр("ru='ПЕРЕДАЧА В КРЕДИТ'"));
|
||
ПризнакиСпособаРасчета.Вставить(7, НСтр("ru='ОПЛАТА КРЕДИТА'"));
|
||
|
||
Возврат ПризнакиСпособаРасчета.Получить(КодПризнакаСпособаРасчета);
|
||
|
||
КонецФункции
|
||
|
||
// Получить код признака способа расчета.
|
||
//
|
||
// Параметры:
|
||
// ПризнакПредметаРасчета - ПеречислениеСсылка.ПризнакиПредметаРасчета - Признак предмета расчета.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Произвольный, Число - Код признака предмета расчета
|
||
Функция КодПризнакаПредметаРасчета(ПризнакПредметаРасчета) Экспорт
|
||
|
||
Код = 0;
|
||
ОборудованиеЧекопечатающиеУстройстваКлиентСерверЛокализация.КодПризнакаПредметаРасчета(Код, ПризнакПредметаРасчета);
|
||
Возврат Код;
|
||
|
||
КонецФункции
|
||
|
||
// Получить признак способа расчета по коду.
|
||
//
|
||
// Параметры:
|
||
// КодПризнакаПредметаРасчета - Число - Код признака предмета расчета.
|
||
//
|
||
// Возвращаемое значение:
|
||
// ПеречислениеСсылка.ПризнакиПредметаРасчета, Произвольный - Признак предмета расчета по коду
|
||
Функция ПризнакПредметаРасчетаПоКоду(КодПризнакаПредметаРасчета) Экспорт
|
||
|
||
Значение = 0;
|
||
ОборудованиеЧекопечатающиеУстройстваКлиентСерверЛокализация.ПризнакПредметаРасчетаПоКоду(Значение, КодПризнакаПредметаРасчета);
|
||
Возврат Значение;
|
||
|
||
КонецФункции
|
||
|
||
// Получить наименование признака предмета расчета по коду.
|
||
//
|
||
// Параметры:
|
||
// КодПризнакаПредметаРасчета -Число - Код признака предмета расчета.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Строка, Произвольный - Наименование признака предмета расчета
|
||
Функция НаименованиеПризнакаПредметаРасчета(КодПризнакаПредметаРасчета) Экспорт
|
||
|
||
Наименование = "";
|
||
ОборудованиеЧекопечатающиеУстройстваКлиентСерверЛокализация.НаименованиеПризнакаПредметаРасчета(Наименование, КодПризнакаПредметаРасчета);
|
||
Возврат Наименование;
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает текстовое представление типа оплаты на ККТ по версии ФФД
|
||
//
|
||
// Параметры:
|
||
// ТипОплатыККТ - ПеречислениеСсылка.ТипыОплатыККТ
|
||
// ВерсияФФД - Строка - "1.0", "1.1", "1.2"
|
||
//
|
||
// Возвращаемое значение:
|
||
// Строка.
|
||
Функция НаименованиеТипаОплатыККТ(ТипОплатыККТ, ВерсияФФД) Экспорт
|
||
|
||
Наименование = "";
|
||
ОборудованиеЧекопечатающиеУстройстваКлиентСерверЛокализация.НаименованиеТипаОплатыККТ(Наименование, ТипОплатыККТ, ВерсияФФД);
|
||
Возврат Наименование;
|
||
|
||
КонецФункции
|
||
|
||
// Устанавливает признак того что система налогообложения ОСН
|
||
//
|
||
// Параметры:
|
||
// ЭтоОСН - Булево
|
||
// СистемаНалогообложения - ПеречислениеСсылка.ТипыСистемНалогообложенияККТ
|
||
//
|
||
Процедура ЯвляетсяОСН(ЭтоОСН, СистемаНалогообложения) Экспорт
|
||
|
||
Если СистемаНалогообложения = ПредопределенноеЗначение("Перечисление.ТипыСистемНалогообложенияККТ.ОСН") Тогда
|
||
ЭтоОСН = Истина;
|
||
Иначе
|
||
ЭтоОСН = Ложь;
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
#КонецОбласти
|
||
|
||
#Область УстаревшиеПроцедурыИФункции
|
||
|
||
// ++ Локализация
|
||
|
||
#Область КодыОФД
|
||
|
||
///////////////////////////////////////////////////////////////////////////////
|
||
// Коды признаков агентов
|
||
|
||
// Устарела: следует использовать ОборудованиеЧекопечатающиеУстройстваРФКлиентСервер.КодПризнакаАгента.
|
||
// Получить признак агента по коду.
|
||
//
|
||
// Параметры:
|
||
// КодПризнакаАгента - ПеречислениеСсылка.ПризнакиАгента - Код признака агента
|
||
//
|
||
// Возвращаемое значение:
|
||
// Произвольный, Число - Код признака агента
|
||
Функция КодПризнакаАгента(КодПризнакаАгента) Экспорт
|
||
|
||
Возврат ОборудованиеЧекопечатающиеУстройстваРФКлиентСервер.КодПризнакаАгента(КодПризнакаАгента);
|
||
|
||
КонецФункции
|
||
|
||
// Устарела: следует использовать ОборудованиеЧекопечатающиеУстройстваРФКлиентСервер.ПризнакАгентаПоКоду.
|
||
// Получить код типа признака агента.
|
||
//
|
||
// Параметры:
|
||
// ПризнакАгента - Число - Признак агента
|
||
//
|
||
// Возвращаемое значение:
|
||
// ПеречислениеСсылка.ПризнакиАгента, Произвольный - Признак агента по коду
|
||
Функция ПризнакАгентаПоКоду(ПризнакАгента) Экспорт
|
||
|
||
Возврат ОборудованиеЧекопечатающиеУстройстваРФКлиентСервер.ПризнакАгентаПоКоду(ПризнакАгента);
|
||
|
||
КонецФункции
|
||
|
||
///////////////////////////////////////////////////////////////////////////////
|
||
// Коды изменений сведений ККТ
|
||
|
||
// Устарела: следует использовать ОборудованиеЧекопечатающиеУстройстваРФКлиентСервер.КодПричиныИзмененияСведенийККТ.
|
||
// Получить код причины изменения сведений о ККТ.
|
||
//
|
||
// Параметры:
|
||
// ПричинаИзмененияСведенийККТ - ПеречислениеСсылка.ПричиныИзмененияСведенийККТ - Причина изменения сведений ККТ.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Произвольный, Число - Код причины изменения сведений ККТ
|
||
Функция КодПричиныИзмененияСведенийККТ(ПричинаИзмененияСведенийККТ) Экспорт
|
||
|
||
Возврат ОборудованиеЧекопечатающиеУстройстваРФКлиентСервер.КодПричиныИзмененияСведенийККТ(ПричинаИзмененияСведенийККТ);
|
||
|
||
КонецФункции
|
||
|
||
///////////////////////////////////////////////////////////////////////////////
|
||
// Коды маркировки
|
||
|
||
// Устарела: следует использовать МенеджерОборудованияМаркировка.КодПланируемыйСтатусМаркируемогоТовара.
|
||
// Получить код планируемого статус маркируемого товара
|
||
//
|
||
// Параметры:
|
||
// ПланируемыйСтатусМаркируемогоТовара - ПеречислениеСсылка - Планируемый статус маркируемого товара.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Число - Код планируемого статус маркируемого товара по ОФД
|
||
//
|
||
Функция КодПланируемыйСтатусМаркируемогоТовара(ПланируемыйСтатусМаркируемогоТовара) Экспорт
|
||
|
||
Возврат ОборудованиеЧекопечатающиеУстройстваВызовСервера.КодПланируемыйСтатусМаркируемогоТовара(ПланируемыйСтатусМаркируемогоТовара);
|
||
|
||
КонецФункции
|
||
|
||
// Устарела: следует использовать МенеджерОборудованияМаркировка.КодОтветаОИСМОСтатусеТовара.
|
||
// Получить код ответ ОИСМ о статусе товара
|
||
//
|
||
// Параметры:
|
||
// ОтветОИСМОСтатусеТовара - ПеречислениеСсылка.ОтветОИСМОСтатусеТовара - Ответ от ИСМО.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Число - Ответ ОИСМ о статусе товара по ОФД
|
||
//
|
||
Функция КодОтветаОИСМОСтатусеТовара(ОтветОИСМОСтатусеТовара) Экспорт
|
||
|
||
Возврат ОборудованиеЧекопечатающиеУстройстваВызовСервера.КодОтветаОИСМОСтатусеТовара(ОтветОИСМОСтатусеТовара);
|
||
|
||
КонецФункции
|
||
|
||
// Устарела: следует использовать МенеджерОборудованияМаркировка.ОтветОИСМОСтатусеТовараПоКоду.
|
||
// Получить ответ ОИСМ о статусе товара по коду.
|
||
//
|
||
// Параметры:
|
||
// ОтветОИСМОСтатусеТовара - Число - Ответ от ИСМО.
|
||
//
|
||
// Возвращаемое значение:
|
||
// ПеречислениеСсылка.ОтветОИСМОСтатусеТовара - Ответ ОИСМ.
|
||
//
|
||
Функция ОтветОИСМОСтатусеТовараПоКоду(ОтветОИСМОСтатусеТовара) Экспорт
|
||
|
||
Возврат ОборудованиеЧекопечатающиеУстройстваВызовСервера.ОтветОИСМОСтатусеТовараПоКоду(ОтветОИСМОСтатусеТовара);
|
||
|
||
КонецФункции
|
||
|
||
// Устарела: следует использовать МенеджерОборудованияМаркировка.КодТипаМаркировкиККТ.
|
||
// Получить код типа маркировки ККТ по коду.
|
||
//
|
||
// Параметры:
|
||
// ТипМаркировкиККТ - ПеречислениеСсылка.ТипыМаркировкиККТ - Тип маркировки ККТ.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Строка, Произвольный - Код типа маркировки ККТ
|
||
Функция КодТипаМаркировкиККТ(ТипМаркировкиККТ) Экспорт
|
||
|
||
Возврат ОборудованиеЧекопечатающиеУстройстваВызовСервера.КодТипаМаркировкиККТ(ТипМаркировкиККТ);
|
||
|
||
КонецФункции
|
||
|
||
// Устарела: следует использовать МенеджерОборудованияМаркировка.ТипМаркировкиККТПоКоду.
|
||
// Получить код типа маркировки ККТ.
|
||
//
|
||
// Параметры:
|
||
// КодТипМаркировкиККТ - Число - Код тип маркировки ККТ
|
||
//
|
||
// Возвращаемое значение:
|
||
// Произвольный, ПеречислениеСсылка.ТипыМаркировкиККТ - Тип маркировки ККТПо коду
|
||
Функция ТипМаркировкиККТПоКоду(КодТипМаркировкиККТ) Экспорт
|
||
|
||
Возврат ОборудованиеЧекопечатающиеУстройстваВызовСервера.ТипМаркировкиККТПоКоду(КодТипМаркировкиККТ);
|
||
|
||
КонецФункции
|
||
|
||
// Устарела: следует использовать МенеджерОборудованияМаркировка.СтатусРезультатаЗапросаКМПоКоду.
|
||
// Получить статус результата запроса КМ по коду.
|
||
//
|
||
// Параметры:
|
||
// КодСтатуса - Число - Код статуса.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Произвольный, ПеречислениеСсылка.СтатусРезультатаЗапросаКМ - Статус результата запроса КМПо коду
|
||
Функция СтатусРезультатаЗапросаКМПоКоду(КодСтатуса) Экспорт
|
||
|
||
Возврат ОборудованиеЧекопечатающиеУстройстваВызовСервера.СтатусРезультатаЗапросаКМПоКоду(КодСтатуса);
|
||
|
||
КонецФункции
|
||
|
||
///////////////////////////////////////////////////////////////////////////////
|
||
// Коды единицы измерения
|
||
|
||
// Устарела: следует использовать ОборудованиеЧекопечатающиеУстройстваРФКлиентСервер.КодМерыКоличестваПредметаРасчетаККТ.
|
||
// Код меры количества предмета расчета ККТ.
|
||
//
|
||
// Параметры:
|
||
// МераКоличестваПредметаРасчетаККТ - ПеречислениеСсылка.МераКоличестваПредметаРасчетаККТ - Мера количества предмета расчета ККТ
|
||
//
|
||
// Возвращаемое значение:
|
||
// Произвольный, Число - Код меры количества предмета расчета ККТ
|
||
Функция КодМерыКоличестваПредметаРасчетаККТ(МераКоличестваПредметаРасчетаККТ) Экспорт
|
||
|
||
Возврат ОборудованиеЧекопечатающиеУстройстваРФКлиентСервер.КодМерыКоличестваПредметаРасчетаККТ(МераКоличестваПредметаРасчетаККТ);
|
||
|
||
КонецФункции
|
||
|
||
// Устарела: следует использовать ОборудованиеЧекопечатающиеУстройстваРФКлиентСервер.МераКоличестваПредметаРасчетаККТПоКоду.
|
||
// Получить меру количества предмета расчета по коду.
|
||
//
|
||
// Параметры:
|
||
// КодМерыКоличестваПредметаРасчетаККТ - ПеречислениеСсылка.МераКоличестваПредметаРасчетаККТ - Код меры количества предмета расчета ККТ
|
||
//
|
||
// Возвращаемое значение:
|
||
// Произвольный, ПеречислениеСсылка.МераКоличестваПредметаРасчетаККТ - Мера количества предмета расчета ККТПо коду
|
||
Функция МераКоличестваПредметаРасчетаККТПоКоду(КодМерыКоличестваПредметаРасчетаККТ) Экспорт
|
||
|
||
Возврат ОборудованиеЧекопечатающиеУстройстваРФКлиентСервер.МераКоличестваПредметаРасчетаККТПоКоду(КодМерыКоличестваПредметаРасчетаККТ);
|
||
|
||
КонецФункции
|
||
|
||
// Устарела: следует использовать ОборудованиеЧекопечатающиеУстройстваРФКлиентСервер.МераКоличестваПредметаРасчетаПоКодуЕдиницыИзмерения.
|
||
// Получить меру количества предмета расчета по коду единицы измерения.
|
||
//
|
||
// Параметры:
|
||
// КодЕдиницыИзмерения - Число - Код единицы измерения.
|
||
//
|
||
// Возвращаемое значение:
|
||
// ПеречислениеСсылка.МераКоличестваПредметаРасчетаККТ, Произвольный - Мера количества предмета расчета по коду единицы измерения
|
||
Функция МераКоличестваПредметаРасчетаПоКодуЕдиницыИзмерения(КодЕдиницыИзмерения) Экспорт
|
||
|
||
Возврат ОборудованиеЧекопечатающиеУстройстваРФКлиентСервер.МераКоличестваПредметаРасчетаПоКодуЕдиницыИзмерения(КодЕдиницыИзмерения);
|
||
|
||
КонецФункции
|
||
|
||
|
||
#Область НефискальныйДокумент
|
||
|
||
// АПК: 142-выкл обратная совместимость
|
||
|
||
// Устарела: следует использовать механизм ШаблоныФискальныхДокументов.ШаблонКассовыйЧек.
|
||
// Функция формирует текст нефискального документа по шаблону.
|
||
//
|
||
// Параметры:
|
||
// ТипДокумента - Число
|
||
// ОбщиеПараметры - Структура - где:
|
||
// * ПозицииЧека - Массив из Структура - где:
|
||
// ** Наименование - Строка - .
|
||
// ** ДанныеПоставщика - Структура - где:
|
||
// *** Наименование - Строка - .
|
||
// ** ДанныеАгента - Структура - где:
|
||
// *** ОператорПеревода - Структура -
|
||
// *** Наименование - Строка - .
|
||
// * ДанныеПоставщика - Структура - где:
|
||
// ** Наименование - Строка - .
|
||
// * ДанныеАгента - Структура - где:
|
||
// ** ОператорПеревода - Структура -
|
||
// ** Наименование - Строка - .
|
||
// ШиринаСтроки - Число
|
||
// ДополнительныйТекст - Строка
|
||
// ФорматФФД - Строка
|
||
// ПолеПодписи - Булево - выводить поле подписи
|
||
//
|
||
// Возвращаемое значение:
|
||
// Строка - .
|
||
//
|
||
Функция СформироватьТекстНефискальногоДокумента(ТипДокумента, ОбщиеПараметры, ШиринаСтроки = 32, ДополнительныйТекст = Неопределено, ФорматФФД = "1.1", ПолеПодписи = Истина) Экспорт
|
||
|
||
Возврат ОборудованиеЧекопечатающиеУстройстваВызовСервера.СформироватьФискальныйДокументТекст(ТипДокумента, ОбщиеПараметры, Неопределено, ФорматФФД, ШиринаСтроки);
|
||
|
||
КонецФункции
|
||
|
||
// АПК: 142-вкл
|
||
|
||
// Устарела: следует использовать механизм ШаблоныФискальныхДокументов.ШаблонКассовыйЧек.
|
||
// Функция формирует текст нефискального чека по шаблону.
|
||
//
|
||
// Параметры:
|
||
// ОбщиеПараметры - Структура - см. СформироватьТекстНефискальногоДокумента()
|
||
// ШиринаСтроки - Число
|
||
// ФорматФФД - Строка
|
||
// ПолеПодписи - Булево - выводить поле подписи
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура.
|
||
//
|
||
Функция СформироватьТекстНефискальногоЧека(ОбщиеПараметры, ШиринаСтроки = 32, ФорматФФД = "1.1", ПолеПодписи = Истина) Экспорт
|
||
|
||
Возврат ОборудованиеЧекопечатающиеУстройстваВызовСервера.СформироватьФискальныйДокументТекст(0, ОбщиеПараметры, Неопределено, ФорматФФД, ШиринаСтроки);
|
||
|
||
КонецФункции
|
||
|
||
#КонецОбласти
|
||
|
||
#КонецОбласти
|
||
|
||
// -- Локализация
|
||
|
||
#КонецОбласти
|
||
|
||
#КонецОбласти
|
||
|
||
#Область СлужебныйПрограммныйИнтерфейс
|
||
|
||
// Возвращает Истина если используется ККТ без подключения оборудования
|
||
//
|
||
// Параметры:
|
||
// ПараметрыОперации - Структура - параметры выполнения операции.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево
|
||
Функция ЭтоККТБезПодключения(ПараметрыОперации) Экспорт
|
||
|
||
Возврат ЗначениеЗаполнено(ПараметрыОперации)
|
||
И ПараметрыОперации.Свойство("КассаККМ")
|
||
И ЗначениеЗаполнено(ПараметрыОперации.КассаККМ);
|
||
|
||
КонецФункции
|
||
|
||
#КонецОбласти
|
||
|
||
#Область СлужебныеПроцедурыИФункции
|
||
|
||
// Выстраивает строку по длине поля, если поле длинное - переносит на следующую строку.
|
||
//
|
||
// Параметры:
|
||
// Текст - Неопределено, Строка - Текст
|
||
// ДлинаПоля - Число - Длина поля
|
||
// ДобСимвол - Строка - Доб символ
|
||
// ПоЦентру - Булево - По центру
|
||
//
|
||
// Возвращаемое значение:
|
||
// Неопределено, Строка - Построить поле переносом
|
||
Функция ПостроитьПолеПереносом(Знач Текст, Знач ДлинаПоля, ДобСимвол = "", ПоЦентру = Ложь) Экспорт
|
||
|
||
ДобСимвол = ?(ПустаяСтрока(ДобСимвол), " ", ДобСимвол);
|
||
|
||
Если СтрДлина(Текст) > ДлинаПоля Тогда
|
||
ТекстПолный = "";
|
||
Пока СтрДлина(Текст) > ДлинаПоля Цикл
|
||
ТекстПолный = ТекстПолный + ?(ПустаяСтрока(ТекстПолный), "", Символы.ПС) + Лев(Текст, ДлинаПоля);
|
||
Текст = Сред(Текст, ДлинаПоля + 1);
|
||
КонецЦикла;
|
||
ТекстПолный = ТекстПолный + ?(ПустаяСтрока(Текст), "", Символы.ПС + Текст);
|
||
Иначе
|
||
Если ПоЦентру Тогда
|
||
ТекстПолный = Текст;
|
||
ДобавлятьСправа = Истина;
|
||
Пока СтрДлина(ТекстПолный) < ДлинаПоля Цикл
|
||
Если ДобавлятьСправа Тогда
|
||
ТекстПолный = ТекстПолный + ДобСимвол;
|
||
Иначе
|
||
ТекстПолный = ДобСимвол + ТекстПолный;
|
||
КонецЕсли;
|
||
ДобавлятьСправа = Не ДобавлятьСправа;
|
||
КонецЦикла;
|
||
Иначе
|
||
ТекстПолный = Текст;
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
|
||
Возврат ТекстПолный;
|
||
|
||
КонецФункции
|
||
|
||
// Обрезает передаваемую строку по длине поля, если поле слишком короткое - дополняет символами.
|
||
//
|
||
// Параметры:
|
||
// Текст - Строка - Текст
|
||
// ДлинаПоля - Число - Длина поля
|
||
// ДобСимвол - Строка - Доб символ
|
||
// ДобавлятьСправа - Булево - если истина добавлять ДобСимвол справа, иначе слева.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Строка.
|
||
//
|
||
Функция ПостроитьПоле(Знач Текст, Знач ДлинаПоля, ДобСимвол = "", ДобавлятьСправа = Истина) Экспорт
|
||
|
||
ДобСимвол = ?(ПустаяСтрока(ДобСимвол), " ", ДобСимвол);
|
||
|
||
ТекстПолный = Лев(Текст, ДлинаПоля);
|
||
Пока СтрДлина(ТекстПолный) < ДлинаПоля Цикл
|
||
Если ДобавлятьСправа Тогда
|
||
ТекстПолный = ТекстПолный + ДобСимвол;
|
||
Иначе
|
||
ТекстПолный = ДобСимвол + ТекстПолный;
|
||
КонецЕсли;
|
||
КонецЦикла;
|
||
|
||
Возврат ТекстПолный;
|
||
|
||
КонецФункции
|
||
|
||
// Формирует строку из двух полей, если передается одно поле дополняет символами до нужного размера.
|
||
//
|
||
// Параметры:
|
||
// Текст1 - Строка
|
||
// Текст2 - Строка
|
||
// ДлинаПоля - Число
|
||
//
|
||
// Возвращаемое значение:
|
||
// Строка.
|
||
//
|
||
Функция ВыстроитьПоля(Знач Текст1, Знач Текст2 = "", Знач ДлинаПоля = 32) Экспорт
|
||
|
||
Если ПустаяСтрока(Текст2) Тогда
|
||
ТекстПолный = ПостроитьПоле(Текст1, СтрДлина(Текст1) + Цел((ДлинаПоля - СтрДлина(Текст1))/2), , Ложь);
|
||
ТекстПолный = ПостроитьПоле(ТекстПолный, ДлинаПоля);
|
||
ИначеЕсли СтрДлина(Текст1) + СтрДлина(Текст2) < ДлинаПоля Тогда
|
||
ТекстПолный = ПостроитьПоле(Текст1, ДлинаПоля - СтрДлина(Текст2)) + Текст2;
|
||
Иначе
|
||
ТекстПолный = ПостроитьПоле(Текст1, ДлинаПоля) + Символы.ПС + ПостроитьПоле(Текст2, ДлинаПоля, ,Ложь)
|
||
КонецЕсли;
|
||
|
||
Возврат ТекстПолный;
|
||
|
||
КонецФункции
|
||
|
||
// Выровнять передаваемую строку по длине поля, если поле слишком короткое - дополняет символами.
|
||
//
|
||
// Параметры:
|
||
// Текст - Строка - Текст
|
||
// ДлинаПоля - Число - Длина поля
|
||
// Выравнивание - Строка - Выравнивание
|
||
// ДобСимвол - Строка - Доб символ
|
||
//
|
||
// Возвращаемое значение:
|
||
// Строка - Выровненное поле
|
||
Функция ВыровнятьПоле(Знач Текст, Знач ДлинаПоля = 32, Знач Выравнивание = "Лево", ДобСимвол = "") Экспорт
|
||
|
||
ДобСимвол = ?(ПустаяСтрока(ДобСимвол), " ", ДобСимвол);
|
||
НачПозиция = Истина;
|
||
ТекстПолный = Лев(Текст, ДлинаПоля);
|
||
Пока СтрДлина(ТекстПолный) < ДлинаПоля Цикл
|
||
Если Выравнивание = "Лево" Тогда
|
||
ТекстПолный = ТекстПолный + ДобСимвол;
|
||
ИначеЕсли Выравнивание = "Право" Тогда
|
||
ТекстПолный = ДобСимвол + ТекстПолный;
|
||
Иначе
|
||
Если НачПозиция Тогда
|
||
ТекстПолный = ТекстПолный + ДобСимвол;
|
||
НачПозиция = Ложь;
|
||
Иначе
|
||
ТекстПолный = ДобСимвол + ТекстПолный;
|
||
НачПозиция = Истина;
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
КонецЦикла;
|
||
|
||
Возврат ТекстПолный;
|
||
|
||
КонецФункции
|
||
|
||
#КонецОбласти |