xmlTSDGalery/CommonModules/ОборудованиеЧекопечатающиеУстройстваРФКлиентСервер/Ext/Module.bsl
kykaevv 88098aa86f Initial commit: конфигурация ТСД с обменом УНФ.
Включает перемещение по ячейкам, стикеровку МП, синхронизацию справочников и обработку кодов маркировки.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 12:50:57 +03:00

276 lines
32 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#Область ПрограммныйИнтерфейс
#Область КодыОФД
///////////////////////////////////////////////////////////////////////////////
// Коды изменений сведений ККТ
// Возвращает код причины изменения сведений о ККТ.
//
// Параметры:
// ПричинаИзмененияСведенийККТ - ПеречислениеСсылка.ПричиныИзмененияСведенийККТ - Причина изменения сведений ККТ.
//
// Возвращаемое значение:
// Произвольный, Число - Код причины изменения сведений ККТ
Функция КодПричиныИзмененияСведенийККТ(ПричинаИзмененияСведенийККТ) Экспорт
ПричиныИзмененияСведенийККТ = Новый Соответствие();
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ЗаменаФН") , 0);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ЗаменаОФД") , 1);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ИзменениеНаименованияПользователя"), 2);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ИзменениеАдреса") , 3);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ПереводВРежимПередачиДанных") , 4);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ПереводВАвтономныйРежим") , 5);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ИзменениеВерсии") , 6);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ИзменениеСистемНалогообложения") , 7);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ИзменениеНомераУстройства") , 8);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ПереводВНеавтоматическийРежим") , 9);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ПереводВАвтоматическийРежим") , 10);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ВключениеБСО") , 11);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ВыключениеБСО") , 12);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ВключениеРежимаРасчетовВИнтернет") , 13);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ВыключениеРежимаРасчетовВИнтернет"), 14);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ВключениеРежимаАгента") , 15);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ВыключениеРежимаАгента") , 16);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ВключениеРежимаАзартныхИгр") , 17);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ВыключениеРежимаАзартныхИгр") , 18);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ВключениеРежимаЛотереи") , 19);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ВыключениеРежимаЛотереи") , 20);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.ИзменениеВерсииФФД") , 21);
ПричиныИзмененияСведенийККТ.Вставить(ПредопределенноеЗначение("Перечисление.ПричиныИзмененияСведенийККТ.Иное") , 31);
Возврат ПричиныИзмененияСведенийККТ.Получить(ПричинаИзмененияСведенийККТ);
КонецФункции
///////////////////////////////////////////////////////////////////////////////
// Коды признаков агентов
// Возвращает признак агента по коду.
//
// Параметры:
// КодПризнакаАгента - ПеречислениеСсылка.ПризнакиАгента - Код признака агента
//
// Возвращаемое значение:
// Произвольный, Число - Код признака агента
Функция КодПризнакаАгента(КодПризнакаАгента) Экспорт
ПризнакиАгента = Новый Соответствие();
ПризнакиАгента.Вставить(ПредопределенноеЗначение("Перечисление.ПризнакиАгента.БанковскийПлатежныйАгент") , 0);
ПризнакиАгента.Вставить(ПредопределенноеЗначение("Перечисление.ПризнакиАгента.БанковскийПлатежныйСубагент"), 1);
ПризнакиАгента.Вставить(ПредопределенноеЗначение("Перечисление.ПризнакиАгента.ПлатежныйАгент") , 2);
ПризнакиАгента.Вставить(ПредопределенноеЗначение("Перечисление.ПризнакиАгента.ПлатежныйСубагент") , 3);
ПризнакиАгента.Вставить(ПредопределенноеЗначение("Перечисление.ПризнакиАгента.Поверенный") , 4);
ПризнакиАгента.Вставить(ПредопределенноеЗначение("Перечисление.ПризнакиАгента.Комиссионер") , 5);
ПризнакиАгента.Вставить(ПредопределенноеЗначение("Перечисление.ПризнакиАгента.Агент") , 6);
Возврат ПризнакиАгента.Получить(КодПризнакаАгента);
КонецФункции
// Возвращает код типа признака агента.
//
// Параметры:
// ПризнакАгента - Число - Признак агента
//
// Возвращаемое значение:
// ПеречислениеСсылка.ПризнакиАгента, Произвольный - Признак агента по коду
Функция ПризнакАгентаПоКоду(ПризнакАгента) Экспорт
ПризнакиАгента = Новый Соответствие();
ПризнакиАгента.Вставить(0, ПредопределенноеЗначение("Перечисление.ПризнакиАгента.БанковскийПлатежныйАгент"));
ПризнакиАгента.Вставить(1, ПредопределенноеЗначение("Перечисление.ПризнакиАгента.БанковскийПлатежныйСубагент"));
ПризнакиАгента.Вставить(2, ПредопределенноеЗначение("Перечисление.ПризнакиАгента.ПлатежныйАгент"));
ПризнакиАгента.Вставить(3, ПредопределенноеЗначение("Перечисление.ПризнакиАгента.ПлатежныйСубагент"));
ПризнакиАгента.Вставить(4, ПредопределенноеЗначение("Перечисление.ПризнакиАгента.Поверенный"));
ПризнакиАгента.Вставить(5, ПредопределенноеЗначение("Перечисление.ПризнакиАгента.Комиссионер"));
ПризнакиАгента.Вставить(6, ПредопределенноеЗначение("Перечисление.ПризнакиАгента.Агент"));
Возврат ПризнакиАгента.Получить(ПризнакАгента);
КонецФункции
///////////////////////////////////////////////////////////////////////////////
// Коды единицы измерения
// Возвращает код меры количества предмета расчета ККТ.
//
// Параметры:
// МераКоличестваПредметаРасчетаККТ - ПеречислениеСсылка.МераКоличестваПредметаРасчетаККТ - Мера количества предмета расчета ККТ
//
// Возвращаемое значение:
// Произвольный, Число - Код меры количества предмета расчета ККТ
Функция КодМерыКоличестваПредметаРасчетаККТ(МераКоличестваПредметаРасчетаККТ) Экспорт
МерыКоличества = Новый Соответствие();
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Штука"), 0);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Грамм"), 10);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Килограмм"), 11);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Тонна"), 12);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Сантиметр"), 20);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Дециметр"), 21);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Метр"), 22);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.КвадратныйСантиметр"), 30);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.КвадратныйДециметр"), 31);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.КвадратныйМетр"), 32);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Миллилитр"), 40);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Литр"), 41);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.КубическийМетр"), 42);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.КиловаттЧас"), 50);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Гигакалория"), 51);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.СуткиДень"), 70);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Час"), 71);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Минута"), 72);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Секунда"), 73);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Килобайт"), 80);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Мегабайт"), 81);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Гигабайт"), 82);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Терабайт"), 83);
МерыКоличества.Вставить(ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.ИныеЕдиницыИзмерения"), 255);
Возврат МерыКоличества.Получить(МераКоличестваПредметаРасчетаККТ);
КонецФункции
// Возвращает меру количества предмета расчета по коду.
//
// Параметры:
// КодМерыКоличестваПредметаРасчетаККТ - ПеречислениеСсылка.МераКоличестваПредметаРасчетаККТ - Код меры количества предмета расчета ККТ
//
// Возвращаемое значение:
// Произвольный, ПеречислениеСсылка.МераКоличестваПредметаРасчетаККТ - Мера количества предмета расчета ККТ по коду
//
Функция МераКоличестваПредметаРасчетаККТПоКоду(КодМерыКоличестваПредметаРасчетаККТ) Экспорт
МерыКоличества = Новый Соответствие();
МерыКоличества.Вставить(0, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Штука"));
МерыКоличества.Вставить(10, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Грамм"));
МерыКоличества.Вставить(11, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Килограмм"));
МерыКоличества.Вставить(12, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Тонна"));
МерыКоличества.Вставить(20, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Сантиметр"));
МерыКоличества.Вставить(21, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Дециметр"));
МерыКоличества.Вставить(22, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Метр"));
МерыКоличества.Вставить(30, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.КвадратныйСантиметр"));
МерыКоличества.Вставить(31, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.КвадратныйДециметр"));
МерыКоличества.Вставить(32, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.КвадратныйМетр"));
МерыКоличества.Вставить(40, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Миллилитр"));
МерыКоличества.Вставить(41, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Литр"));
МерыКоличества.Вставить(42, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.КубическийМетр"));
МерыКоличества.Вставить(50, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.КиловаттЧас"));
МерыКоличества.Вставить(51, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Гигакалория"));
МерыКоличества.Вставить(70, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.СуткиДень"));
МерыКоличества.Вставить(71, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Час"));
МерыКоличества.Вставить(72, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Минута"));
МерыКоличества.Вставить(73, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Секунда"));
МерыКоличества.Вставить(80, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Килобайт"));
МерыКоличества.Вставить(81, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Мегабайт"));
МерыКоличества.Вставить(82, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Гигабайт"));
МерыКоличества.Вставить(83, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Терабайт"));
МерыКоличества.Вставить(255, ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.ИныеЕдиницыИзмерения"));
Возврат МерыКоличества.Получить(КодМерыКоличестваПредметаРасчетаККТ);
КонецФункции
// Возвращает меру количества предмета расчета по коду единицы измерения.
//
// Параметры:
// КодЕдиницыИзмерения - Число - Код единицы измерения.
//
// Возвращаемое значение:
// ПеречислениеСсылка.МераКоличестваПредметаРасчетаККТ, Произвольный - Мера количества предмета расчета по коду единицы измерения
Функция МераКоличестваПредметаРасчетаПоКодуЕдиницыИзмерения(КодЕдиницыИзмерения) Экспорт
МерыКоличества = Новый Соответствие();
МерыКоличества.Вставить("796", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Штука"));
МерыКоличества.Вставить("163", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Грамм"));
МерыКоличества.Вставить("166", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Килограмм"));
МерыКоличества.Вставить("168", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Тонна"));
МерыКоличества.Вставить("004", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Сантиметр"));
МерыКоличества.Вставить("005", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Дециметр"));
МерыКоличества.Вставить("006", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Метр"));
МерыКоличества.Вставить("051", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.КвадратныйСантиметр"));
МерыКоличества.Вставить("053", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.КвадратныйДециметр"));
МерыКоличества.Вставить("055", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.КвадратныйМетр"));
МерыКоличества.Вставить("111", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Миллилитр"));
МерыКоличества.Вставить("112", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Литр"));
МерыКоличества.Вставить("113", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.КубическийМетр"));
МерыКоличества.Вставить("245", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.КиловаттЧас"));
МерыКоличества.Вставить("233", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Гигакалория"));
МерыКоличества.Вставить("359", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.СуткиДень"));
МерыКоличества.Вставить("356", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Час"));
МерыКоличества.Вставить("355", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Минута"));
МерыКоличества.Вставить("354", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Секунда"));
МерыКоличества.Вставить("256", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Килобайт"));
МерыКоличества.Вставить("257", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Мегабайт"));
МерыКоличества.Вставить("2553", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Гигабайт"));
МерыКоличества.Вставить("2554", ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.Терабайт"));
МерыКоличества = МерыКоличества.Получить(Строка(КодЕдиницыИзмерения));
Если МерыКоличества = Неопределено Тогда
МерыКоличества = ПредопределенноеЗначение("Перечисление.МераКоличестваПредметаРасчетаККТ.ИныеЕдиницыИзмерения");
КонецЕсли;
Возврат МерыКоличества;
КонецФункции
// Возвращает код единицы измерения по ККТ коду.
//
// Параметры:
// КодМерыКоличестваПредметаРасчетаККТ - Число - Код меры количества предмета расчета ККТ.
//
// Возвращаемое значение:
// Строка
//
Функция КодЕдиницыИзмеренияПоККТКоду(КодМерыКоличестваПредметаРасчетаККТ) Экспорт
МерыКоличества = Новый Соответствие();
МерыКоличества.Вставить(0, "796");
МерыКоличества.Вставить(10, "163");
МерыКоличества.Вставить(11, "166");
МерыКоличества.Вставить(12, "168");
МерыКоличества.Вставить(20, "004");
МерыКоличества.Вставить(21, "005");
МерыКоличества.Вставить(22, "006");
МерыКоличества.Вставить(30, "051");
МерыКоличества.Вставить(31, "053");
МерыКоличества.Вставить(32, "055");
МерыКоличества.Вставить(40, "111");
МерыКоличества.Вставить(41, "112");
МерыКоличества.Вставить(42, "113");
МерыКоличества.Вставить(50, "245");
МерыКоличества.Вставить(51, "233");
МерыКоличества.Вставить(70, "359");
МерыКоличества.Вставить(71, "356");
МерыКоличества.Вставить(72, "355");
МерыКоличества.Вставить(73, "354");
МерыКоличества.Вставить(80, "256");
МерыКоличества.Вставить(81, "257");
МерыКоличества.Вставить(82, "2553");
МерыКоличества.Вставить(83, "2554");
КодЕдиницыИзмерения = МерыКоличества.Получить(КодМерыКоличестваПредметаРасчетаККТ);
Возврат КодЕдиницыИзмерения;
КонецФункции
#КонецОбласти
#КонецОбласти