|
v7: Печать QR кода 7.7 | ☑ | ||
---|---|---|---|---|
0
Mafiozaa
21.09.20
✎
03:19
|
Приветствую, возникла сложность, полез в тест драйвер 4.15,зашел в печать графики, увидел PrintBarcodeGraph,залез в обработку выставил настройку баркода, но по итогу даже qrcodom даже не пахнет,
|
|||
1
big
21.09.20
✎
05:40
|
||||
2
victuan1
21.09.20
✎
05:53
|
Если Способ = -1 Тогда
//источник Штрих-М-ПТК, печать QR кодов, ЕГАИС (пост 177) //http://egais2016.ru/forum/viewtopic.php?t=4102&start=10#p30835 Объект.BarCode = АдресЧека; Объект.BarcodeType = 3; Объект.BarWidth = Коэф; Объект.LineNumber = 130*Коэф; //Объект.FirstLineNumber = 1; Объект.PrintBarcodeText = 0; //не выводим текст ШК Объект.BarcodeAlignment = 0; //по центру // Объект.Password = Пароль; //повторное обращение Объект.PrintBarcodeGraph(); Объект.Barcode = ""; //освободим память, занятую штрихкодом ИначеЕсли Способ = 0 Тогда //источник http://forum.infostart.ru/forum40/topic152404/message1571904/#message1571904 Объект.BarCode = АдресЧека; Объект.BarcodeType = 3; //Объект.BarcodeStartBlockNumber = 0; Объект.BarcodeParameter1 = 0; Объект.BarcodeParameter2 = 0; Объект.BarcodeParameter3 = Коэф; //Размер точки, 3-8 Объект.BarcodeParameter4 = 0; Объект.BarcodeParameter5 = 0; Объект.BarcodeAlignment = 0; //по центру // Объект.Password = Пароль; //повторное обращение Объект.LoadAndPrint2DBarcode(); Объект.Barcode = ""; //освободим память, занятую штрихкодом ИначеЕсли Способ = 1 Тогда //источник: http://forum.shtrih-m.ru/viewtopic.php?f=1&t=31385&start=15 DataHex = ПараметрыФР.Получить("АдресЧекаHex"); Объект.BarcodeDataLength = СтрДлина(DataHex) / 2; j = -1; size = 128; //загрузка блоков данных по 128 байт Пока СтрДлина(DataHex) > 0 Цикл j = j + 1; Объект.BlockType = 0; Объект.BlockNumber = j; Объект.BlockDataHex = Left(DataHex, size); // Объект.Password = Пароль; //повторное обращение Объект.LoadBlockData(); Если Объект.ResultCode <> 0 Тогда прервать КонецЕсли; DataHex = Mid(DataHex, size+1); КонецЦикла; Если Объект.ResultCode = 0 Тогда Объект.BarcodeType = 3; Объект.BarcodeStartBlockNumber = 0; Объект.BarcodeParameter1 = 0; Объект.BarcodeParameter2 = 0; Объект.BarcodeParameter3 = Коэф; //Размер точки, 3-8 Объект.BarcodeParameter4 = 0; Объект.BarcodeParameter5 = 0; Объект.BarcodeAlignment = 0; //по центру // Объект.Password = Пароль; //повторное обращение Объект.Print2DBarcode(); КонецЕсли; //Объект.BarcodeDataLength = 0; //для i = 0 по j Цикл //очистим память ФР от данных штрихкода // Объект.BlockType = 0; // Объект.BlockNumber = i; // Объект.BlockDataHex = ""; // Объект.Password = Пароль; // Объект.LoadBlockData(); //КонецЦикла; Иначе //зарезевировано для др. команд - пока означает, не выводить QR-код //******************* КонецЕсли; |
|||
3
Mafiozaa
22.09.20
✎
03:07
|
(2) (1) Где бы не вызывал процедуру,все равно не печатает,посмотрите может я что то не то делаю
Перем ОписаниеРезультата; Перем ШиринаСтроки; //****************************************************************************** Функция ПолучитьОписаниеРезультата(Объект) Возврат Объект.ResultCodeDescription; КонецФункции // ПолучитьОписаниеРезультата() //******************************************************************************** // Эта функция будет работать только при запуске системы (т.е. подключение и отключение кассы) Функция ОбработкаОшибок(Объект) Если Объект.ResultCode <> 0 Тогда ОписаниеРезультата = ПолучитьОписаниеРезультата(Объект); Если Объект.ResultCode = 88 Тогда Объект.ContinuePrint(); КонецЕсли; Возврат 1; Иначе Возврат 0; КонецЕсли; КонецФункции //******************************************************************************** Функция ОбработкаОшибокПриПечати(Объект); Код = Объект.ResultCode; Если Код <> 0 Тогда Если (Код = 88) Тогда Объект.ContinuePrint(); Возврат "Повтор"; Иначе Возврат Вопрос("ОШИБКА ККМ: " + Объект.ResultCodeDescription + ".","Повтор+Отмена"); КонецЕсли; Иначе Возврат 0; КонецЕсли; КонецФункции //******************************************************************************** Функция ПечатьСтроки(Стр,Объект) Пока "на экране окно вопроса" = "на экране окно вопроса" Цикл Объект.UseReceiptRibbon = 1; Объект.UseJournalRibbon = 1; Объект.StringForPrinting = Стр; Объект.PrintString(); Результат = ОбработкаОшибокПриПечати(Объект); Если Результат = "Отмена" Тогда Объект.CancelCheck(); Возврат 0; ИначеЕсли Результат = 0 Тогда Возврат 1; КонецЕсли; КонецЦикла; КонецФункции //******************************************************************************** Функция ПечататьПоСередине(СтрНаим,Длина,Объект) Если СтрДлина(СтрНаим) <= Длина Тогда СтрокаПробелов = ""; ЧислоПробелов = Окр((Длина - СтрДлина(СтрНаим))/2,0,0); Для Индекс = 1 По ЧислоПробелов Цикл СтрокаПробелов = СтрокаПробелов + " "; КонецЦикла; СтрНаим = СтрокаПробелов + СтрНаим; Если ПечатьСтроки(СтрНаим,Объект) = 0 Тогда Возврат 1; КонецЕсли; Возврат 0; Иначе ТекСтрока = СтрНаим; Пока СтрДлина(СтрНаим) > Длина Цикл ТекСтрока = Лев(СтрНаим,Длина); Если ПечатьСтроки(ТекСтрока,Объект) = 0 Тогда Возврат 1; КонецЕсли; СтрНаим = Прав(СтрНаим,СтрДлина(СтрНаим) - Длина); Если СтрДлина(СтрНаим) <= Длина Тогда СтрокаПробелов = ""; ЧислоПробелов = Окр((Длина - СтрДлина(СтрНаим))/2,0,0); Для Индекс = 1 По ЧислоПробелов Цикл СтрокаПробелов = СтрокаПробелов + " "; КонецЦикла; СтрНаим = СтрокаПробелов + СтрНаим; Если ПечатьСтроки(СтрНаим,Объект) = 0 Тогда Возврат 1; КонецЕсли; КонецЕсли; КонецЦикла; КонецЕсли; Возврат 0; КонецФункции //******************************************************************************** // Бъет строку СтрНаим по циклу на меньшие, длинной Длина и печатает на ККМ Функция БитьНаименованиеИПечатать(СтрНаим,Длина,Объект); Если СтрДлина(СтрНаим) <= Длина Тогда Если ПечатьСтроки(СтрНаим,Объект) = 0 Тогда Возврат 1; КонецЕсли; Возврат 0; Иначе ТекСтрока = СтрНаим; Пока СтрДлина(СтрНаим) > Длина Цикл ТекСтрока = Лев(СтрНаим,Длина); Если ПечатьСтроки(ТекСтрока,Объект) = 0 Тогда Возврат 1; КонецЕсли; СтрНаим = Прав(СтрНаим,СтрДлина(СтрНаим) - Длина); Если СтрДлина(СтрНаим) <= Длина Тогда Если ПечатьСтроки(СтрНаим,Объект) = 0 Тогда Возврат 1; КонецЕсли; КонецЕсли; КонецЦикла; КонецЕсли; Возврат 0; КонецФункции //******************************************************************************** Функция Подключить(Компонента, ПрогИд, Пароль, Объект) Рез = 0; Объект = ""; Если ЗагрузитьВнешнююКомпоненту(Компонента) = 0 Тогда ОписаниеРезультата = "не удалось загрузить внешнюю компоненту """ + Компонента + """"; Иначе Объект = СоздатьОбъект("AddIn." + ПрогИд); // Создание объекта внешней компоненты КонецЕсли; Если ПустоеЗначение(Объект) = 1 Тогда ОписаниеРезультата = "ну удалось создать объект внешней компоненты с программым идентификатром AddIn." + ПрогИд; Иначе Объект.Password = Пароль; Объект.Connect(); Если ОбработкаОшибок(Объект) = 1 Тогда Иначе Рез = 1; КонецЕсли; Объект.Disconnect(); КонецЕсли; Возврат Рез; КонецФункции //******************************************************************************** Функция Отключить(Объект) Рез = 0; Если ПустоеЗначение(Объект) = 1 Тогда Рез = 1; // нет объекта, ничего не нужно отключать Иначе // пеключим ФР нерабочий режим Объект.Password = 30; Объект.Disconnect(); Если ОбработкаОшибок(Объект) = 1 Тогда Иначе Рез = 1; КонецЕсли; КонецЕсли; Возврат Рез; КонецФункции //******************************************************************************** Функция ВозвратПозиции(Отдел,Сумма,Количество,Объект) Пока "на экране окно вопроса" = "на экране окно вопроса" Цикл Объект.StringForPrinting = ""; Объект.Price = Сумма; Объект.Quantity = Количество; Объект.Department = Отдел; Объект.ReturnSale(); Результат = ОбработкаОшибокПриПечати(Объект); Если Результат = "Отмена" Тогда Объект.CancelCheck(); Возврат 0; ИначеЕсли Результат = 0 Тогда Возврат 1; КонецЕсли; КонецЦикла; КонецФункции //******************************************************************************** Функция ЗакрытиеЧека(СуммаЧека,Получено,Объект) Пока "на экране окно вопроса" = "на экране окно вопроса" Цикл Если (СуммаЧека = Получено) Или (Получено = 0) Тогда Объект.Summ1 = СуммаЧека; Иначе Объект.Summ1 = Получено; КонецЕсли; Объект.CloseCheck(); Результат = ОбработкаОшибокПриПечати(Объект); Если Результат = "Отмена" Тогда Объект.CancelCheck(); Возврат 0; ИначеЕсли Результат = 0 Тогда Возврат 1; КонецЕсли; КонецЦикла; КонецФункции //******************************************************************************** Функция РегистрацияПозиции(Отдел,Сумма,Количество,Объект) Пока "на экране окно вопроса" = "на экране окно вопроса" Цикл Объект.StringForPrinting = ""; Объект.Price = Сумма; Объект.Quantity = Количество; Объект.Department = Отдел; Объект.Sale(); Результат = ОбработкаОшибокПриПечати(Объект); Если Результат = "Отмена" Тогда Объект.CancelCheck(); Возврат 0; ИначеЕсли Результат = 0 Тогда Возврат 1; КонецЕсли; КонецЦикла; КонецФункции //******************************************************************************** Процедура ПечатьQR(Объект) Объект.Password = 30; Объект.Barcode = "123412"; Объект.BarcodeType = 3; Объект.LineNumber = 256; Объект.FirstLineNumber = 1; Объект.BarcodeAlignment = 0; Объект.PrintBarcodeGraph(); КонецПроцедуры //******************************************************************************** Функция ПечататьЧек(Объект, СписокТоваров, СуммаЧека, Получено, Скидка, ПризнВозврата, НомерСекции, НомерЧека) Если ПустоеЗначение(Объект) = 1 Тогда ОписаниеРезультата = "устройство не подключено"; Возврат 0; КонецЕсли; // регистрация товаров РезРегистрация = 1; Пока "на экране окно вопроса" = "на экране окно вопроса" Цикл Объект.Password = 1; Объект.Connect(); Результат = ОбработкаОшибокПриПечати(Объект); Если Результат = "Отмена" Тогда Объект.Disconnect(); Возврат 0; ИначеЕсли Результат = 0 Тогда Прервать; КонецЕсли; КонецЦикла; Пока "на экране окно вопроса" = "на экране окно вопроса" Цикл Объект.GetECRStatus(); Результат = ОбработкаОшибокПриПечати(Объект); Если Результат = "Отмена" Тогда Объект.Disconnect(); Возврат 0; ИначеЕсли Результат = 0 Тогда Прервать; КонецЕсли; КонецЦикла; Если Объект.ECRAdvancedMode = 3 Тогда Объект.ContinuePrint(); Пока "на экране окно вопроса" = "на экране окно вопроса" Цикл Объект.GetECRStatus(); Результат = ОбработкаОшибокПриПечати(Объект); Если Результат = "Отмена" Тогда Объект.Disconnect(); Возврат 0; ИначеЕсли Результат = 0 Тогда Прервать; КонецЕсли; КонецЦикла; КонецЕсли; //Получим ширину ленты, т.к. она разнаф для разных ФР-ов Попытка Пока "на экране окно вопроса" = "на экране окно вопроса" Цикл Объект.GetDeviceMetrics(); Результат = ОбработкаОшибокПриПечати(Объект); Если Результат = "Отмена" Тогда Объект.Disconnect(); Возврат 0; ИначеЕсли Результат = 0 Тогда Прервать; КонецЕсли; КонецЦикла; //Теперь через свойсвто драйвера UModel получим тип устройства и //установим ширину строки, в зависимости от типа устройства ТипУстр=Число(Объект.UModel); Если (ТипУстр=0) ИЛИ (ТипУстр=1) ИЛИ (ТипУстр=4) ИЛИ (ТипУстр=8) Тогда //Штрих-ФР-Ф или Штрих-ФР-К ШиринаСтроки=36; ИначеЕсли (ТипУстр=2) Тогда //Элвес-Мини-ФР-Ф ШиринаСтроки=24; ИначеЕсли (ТипУстр=5) ИЛИ (ТипУстр=11) Тогда //Штрих-950К ШиринаСтроки=40; ИначеЕсли (ТипУстр=6) Тогда //Элвес-ФР-К ШиринаСтроки=32; ИначеЕсли (ТипУстр=7) ИЛИ (ТипУстр=14) Тогда //Штрих-Мини-ФР-К ШиринаСтроки=36; ИначеЕсли (ТипУстр=9) ИЛИ (ТипУстр=12) Тогда //Штрих-Комбо-ФРК ШиринаСтроки=48; Иначе ШиринаСтроки=36; КонецЕсли; Исключение ШиринаСтроки=36; КонецПопытки; Если ПризнВозврата = 0 Тогда СтрокаПечати = "ЧЕК ПРОДАЖИ"; Иначе СтрокаПечати = "ЧЕК ВОЗВРАТА"; КонецЕсли; Если ПечататьПоСередине(СтрокаПечати,ШиринаСтроки,Объект) = 1 Тогда Возврат 0; КонецЕсли; СписокТоваров.ВыбратьСтроки(); Пока СписокТоваров.ПолучитьСтроку() = 1 Цикл Стр = Лев("------------------------------------",ШиринаСтроки); Если ПечатьСтроки(Стр,Объект) = 0 Тогда Возврат 0; КонецЕсли; СтрокаНаименования = СокрЛП(ВРЕГ(Строка(СписокТоваров.НомерСтроки) + "." + СписокТоваров.ТовНаим)); Если БитьНаименованиеИПечатать(СтрокаНаименования,ШиринаСтроки,Объект) = 1 Тогда Возврат 0; КонецЕсли; _ПредстЦена = СОКРЛП(Строка(Формат(СписокТоваров.Цена,"Ч15.2"))); Если СписокТоваров.Количество > 1 Тогда Стр = Строка(СписокТоваров.Количество) + " х " + Строка(_ПредстЦена); Если ПечатьСтроки(Стр,Объект) = 0 Тогда Возврат 0; КонецЕсли; КонецЕсли; А = 0; ПредстСуммаБезСкидки = СОКРЛП(Строка(Формат(СписокТоваров.Цена * СписокТоваров.Количество,"Ч15.2"))); СтрокаСтоимости = "Стоимость"; Пока А < (ШиринаСтроки - СтрДлина(ПредстСуммаБезСкидки) - СтрДлина("Стоимость")) Цикл А = А + 1; СтрокаСтоимости = СтрокаСтоимости + "."; КонецЦикла; СтрокаСтоимости = СтрокаСтоимости + Строка(ПредстСуммаБезСкидки); Если ПечатьСтроки(СтрокаСтоимости,Объект) = 0 Тогда Возврат 0; КонецЕсли; КонецЦикла; СуммаИтого = СуммаЧека; // сумма со скидкой СуммаИтогоСоСкидкой = СуммаЧека; Если ПустоеЗначение(Скидка) = 0 Тогда // сумма без скидки СуммаИтого = СуммаИтого / (1 - Скидка / 100); // Если скидка на все позиции, тогда печатаем в конце чека Если Скидка > 0 Тогда Стр = Лев("------------------------------------",ШиринаСтроки); Если ПечатьСтроки(Стр,Объект) = 0 Тогда Возврат 0; КонецЕсли; А = 0; ПредстСтоимость = СОКРЛП(Строка(Формат(СуммаИтого,"Ч15.2"))); СтрокаСтоимости = "Итого без ск."; Пока А < (ШиринаСтроки - СтрДлина(ПредстСтоимость) - СтрДлина("Итого без ск.")) Цикл А = А + 1; СтрокаСтоимости = СтрокаСтоимости + "."; КонецЦикла; СтрокаСтоимости = СтрокаСтоимости + Строка(ПредстСтоимость); Если ПечатьСтроки(СтрокаСтоимости,Объект) = 0 Тогда Возврат 0; КонецЕсли; А = 0; ПредстСкидка = СОКРЛП(Строка(Формат(Скидка,"Ч15.2"))); СтрокаСкидки = "Скидка"; Пока А < (ШиринаСтроки - СтрДлина(ПредстСкидка) - СтрДлина("Скидка") - СтрДлина("%")) Цикл А = А + 1; СтрокаСкидки = СтрокаСкидки + "."; КонецЦикла; СтрокаСкидки = СтрокаСкидки + Строка(ПредстСкидка) + "%"; Если ПечатьСтроки(СтрокаСкидки,Объект) = 0 Тогда Возврат 0; КонецЕсли; А = 0; //СуммаИтогоСоСкидкой = СуммаИтого * (1 - Скидка/100); ПредстСтоимость = СОКРЛП(Строка(Формат(СуммаИтого * (1 - Скидка/100),"Ч15.2"))); СтрокаСтоимости = "Итого со ск."; Пока А < (ШиринаСтроки - СтрДлина(ПредстСтоимость) - СтрДлина("Итого со ск.")) Цикл А = А + 1; СтрокаСтоимости = СтрокаСтоимости + "."; КонецЦикла; СтрокаСтоимости = СтрокаСтоимости + Строка(ПредстСтоимость); Если ПечатьСтроки(СтрокаСтоимости,Объект) = 0 Тогда Возврат 0; КонецЕсли; ИначеЕсли Скидка < 0 Тогда Стр = Лев("------------------------------------",ШиринаСтроки); Если ПечатьСтроки(Стр,Объект) = 0 Тогда Возврат 0; КонецЕсли; А = 0; ПредстСтоимость = СОКРЛП(Строка(Формат(СуммаИтого,"Ч15.2"))); СтрокаСтоимости = "Итого без над."; Пока А < (ШиринаСтроки - СтрДлина(ПредстСтоимость) - СтрДлина("Итого без над.")) Цикл А = А + 1; СтрокаСтоимости = СтрокаСтоимости + "."; КонецЦикла; СтрокаСтоимости = СтрокаСтоимости + Строка(ПредстСтоимость); Если ПечатьСтроки(СтрокаСтоимости,Объект) = 0 Тогда Возврат 0; КонецЕсли; А = 0; ПредстСкидка = СОКРЛП(Строка(Формат( - Скидка,"Ч15.2"))); СтрокаСкидки = "Надбавка"; Пока А < (ШиринаСтроки - СтрДлина(ПредстСкидка) - СтрДлина("Надбавка") - СтрДлина("%")) Цикл А = А + 1; СтрокаСкидки = СтрокаСкидки + "."; КонецЦикла; СтрокаСкидки = СтрокаСкидки + Строка(ПредстСкидка) + "%"; Если ПечатьСтроки(СтрокаСкидки,Объект) = 0 Тогда Возврат 0; КонецЕсли; А = 0; //СуммаИтогоСоСкидкой = СуммаИтого * (1 - Скидка/100); ПредстСтоимость = СОКРЛП(Строка(Формат(СуммаИтого * (1 - Скидка/100),"Ч15.2"))); СтрокаСтоимости = "Итого с над."; Пока А < (ШиринаСтроки - СтрДлина(ПредстСтоимость) - СтрДлина("Итого с над.")) Цикл А = А + 1; СтрокаСтоимости = СтрокаСтоимости + "."; КонецЦикла; СтрокаСтоимости = СтрокаСтоимости + Строка(ПредстСтоимость); Если ПечатьСтроки(СтрокаСтоимости,Объект) = 0 Тогда Возврат 0; КонецЕсли; КонецЕсли; КонецЕсли; Стр = Лев("===================================",ШиринаСтроки); Если ПечатьСтроки(Стр,Объект) = 0 Тогда Возврат 0; КонецЕсли; СуммаДокумента = СуммаИтогоСоСкидкой; Отдел = Число(НомерСекции); Если ПризнВозврата = 0 Тогда Если РегистрацияПозиции(Отдел,СуммаДокумента,1,Объект) = 0 Тогда Возврат 0; КонецЕсли; Иначе Если ВозвратПозиции(Отдел,СуммаДокумента,1,Объект) = 0 Тогда Возврат 0; КонецЕсли; КонецЕсли; Если (Получено > 0) И (Получено > СуммаЧека) Тогда Если ЗакрытиеЧека(СуммаЧека,Окр(Получено,2,1),Объект) = 0 Тогда Возврат 0; КонецЕсли; Иначе Если ЗакрытиеЧека(СуммаЧека,Окр(0,2,1),Объект) = 0 Тогда Возврат 0; КонецЕсли; КонецЕсли; Если ОбработкаОшибок(Объект) = 0 Тогда Объект.GetECRStatus(); НомерЧека = Объект.OpenDocumentNumber + 1; Иначе Возврат 0; КонецЕсли; Объект.Disconnect(); Возврат 1; КонецФункции //******************************************************************************** Функция ЗакрытьСмену(Объект, ПарольАдмин, ПарольПольз) Рез = 0; Если ПустоеЗначение(Объект) = 1 Тогда ОписаниеРезультата = "устройство не подключено"; Иначе // переключение в режим снятия отчета (нужен пароль администратора) Пока "на экране окно вопроса" = "на экране окно вопроса" Цикл Объект.Password = 1; Объект.Connect(); Результат = ОбработкаОшибокПриПечати(Объект); Если Результат = "Отмена" Тогда Объект.Disconnect(); Возврат 0; ИначеЕсли Результат = 0 Тогда Прервать; КонецЕсли; КонецЦикла; Пока "на экране окно вопроса" = "на экране окно вопроса" Цикл Пароль = ПарольАдмин; Если ВвестиЧисло(Пароль,"Введите пароль",8,0) = 0 Тогда Возврат 0; Конецесли; Объект.Password = Строка(Пароль); Объект.Connect(); Результат = ОбработкаОшибокПриПечати(Объект); Если Результат = "Отмена" Тогда Объект.Disconnect(); Возврат 0; ИначеЕсли Результат = 0 Тогда Прервать; КонецЕсли; КонецЦикла; Объект.GetECRStatus(); Если ОбработкаОшибок(Объект) = 1 Тогда Объект.Disconnect(); Возврат 0; КонецЕсли; Если Объект.ECRAdvancedMode = 3 Тогда Объект.ContinuePrint(); Объект.Password = Строка(Пароль); Объект.GetECRStatus(); Если ОбработкаОшибок(Объект) = 1 Тогда Объект.Disconnect(); Возврат 0; КонецЕсли; КонецЕсли; Если Объект.ECRMode = 4 Тогда Предупреждение("Обнуленная касса!"); Объект.Disconnect(); Возврат 0; КонецЕсли; Если Вопрос("Вы действительно хотите снять суточный отчет с гашением?",3) <> 6 Тогда Объект.Disconnect(); Возврат 0; КонецЕсли; Объект.PrintReportWithCleaning(); ОбработкаОшибок(Объект); Объект.Disconnect(); Рез = 1; КонецЕсли; Возврат Рез; КонецФункции //******************************************************************************** Процедура ПриОткрытии() Перем Объект, НомерЧека, Парам; СтатусВозврата(0); Форма.Параметр.Выгрузить(Парам); Форма.Параметр.УдалитьВсе(); Если Парам.РазмерСписка() = 0 Тогда Рез = 0; ОписаниеРезультата = "в обработку не переданы параметры"; Иначе Процесс = НРег(Парам.Получить("Процесс")); Если Процесс = "подключить" Тогда Компонента = Парам.Получить("Компонента"); ПрогИд = Парам.Получить("ПрогИд"); Пароль = Парам.Получить("ПарольПользователя"); Рез = Подключить(Компонента, ПрогИд, Пароль, Объект); Форма.Параметр.Установить("Объект", Объект); ИначеЕсли Процесс = "отключить" Тогда Объект = Парам.Получить("Объект"); Рез = Отключить(Объект); ИначеЕсли Процесс = "печатать_чек" Тогда Объект = Парам.Получить("Объект"); СписокТоваров = Парам.Получить("СписокТоваров"); СуммаЧека = Парам.Получить("СуммаЧека"); Получено = Парам.Получить("Получено"); ЧекНаВозврат = Парам.Получить("Возврат"); НомерСекции = Парам.Получить("НомерСекции"); Скидка = Парам.Получить("Скидка"); Рез = ПечататьЧек(Объект, СписокТоваров, СуммаЧека, Получено, Скидка, ЧекНаВозврат, НомерСекции, НомерЧека); Форма.Параметр.Установить("НомерЧека", НомерЧека); ИначеЕсли Процесс = "закрыть_смену" Тогда Объект = Парам.Получить("Объект"); Пароль1 = Парам.Получить("ПарольАдминистратора"); Пароль2 = Парам.Получить("ПарольПользователя"); Рез = ЗакрытьСмену(Объект, Пароль1, Пароль2); Иначе ОписаниеРезультата = "неизвестная команда"; Рез = 0; КонецЕсли; КонецЕсли; Форма.Параметр.Установить("Результат" , Рез); Форма.Параметр.Установить("ОписаниеРезультата", ОписаниеРезультата); КонецПроцедуры ОписаниеРезультата = ""; ШиринаСтроки = 40; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |