1С Предприятие 7.7. Конфигурация Бухгалтерия+Торговля+Склад

         

Подключение торгового оборудования в конфигурации


Подключение торгового оборудования в данной конфигурации реализовано при помощи нескольких специализированных обрабо­ток, процедур глобального модуля и модулей форм документов «Чек», «Расходная розничная», «Отчет кассовой смены».

Настройка подключения торгового оборудования на конкретном рабочем месте пользователя целиком реализована в обработке «На­стройка торгового оборудования». По результатам работы данной обработки формируется и записывается файл 1stRozn.txt в Windows каталог компьютера. Этот файл настройки считывается и обрабаты­вается специальной обработкой «ПодключениеТорговогоОборудования», которая производит фактическую загрузку и подключение драйверов торгового оборудования. Вызов обработки файла настрой­ки производится при начале работы системы и после записи файла настройки в обработке «Настройка торгового оборудования».

Подключение сканера штрих-кода, дисплея покупателя и Active­Barcode в конфигурации отличается от метода подключения ККМ.

Поскольку драйверы сканера штрих-кода, дисплея покупателя и ActiveBarcode являются относительно универсальными, поэтому ал­горитм работы со сканером штрих-кода и дисплеем покупателя запи­сан непосредственно в модулях форм документов «Чек» и «Расход­ная розничная».

Кроме того, алгоритм работы со сканером штрих-кода записан непосредственно в модулях форм справочника «Номенклатура» и «Единицы».

Объект ActiveBarcode использован в общей таблице «Этикетка», которая вызывается из всех мест конфигурации при печати этикетки товара.

Драйверы различных моделей ККМ имеют существенные разли­чия в методах их использования, поэтому процедуры работы с драй­верами ККМ вынесены в конфигурации в отдельные специальные обработки (для каждого вида ККМ должна существовать своя собст­венная обработка). Типы ККМ, доступные для подключения к кон­фигурации (для которых существуют драйверы и реализованы спе­циальные обработки обслуживания) заносятся в конфигурации в перечисление «ТипыККМ». В глобальном модуле существует специ­альная функция ИмяОбработкиОбслуживанияККМ(), которая предназначена для определения имени обработки обслуживания для заданного типа ККМ. Текст данной функции должен содержать текст примерно следующего содержания:




Если ККМ.ТипККМ=Перечисление.ТипыККМ.Электроника92 Тогда

Возврат "ОбслуживаниеЭлектроника92";

ИначеЕсли ККМ.ТипККМ=Перечисление.ТипыККМ.Omron2810 Тогда

Возврат "Обслуживание0тгоп2810";



    ИначеЕсли

ККМ.ТипККМ=Перечисление.ТипыККМ.Элвес Тогда

Возврат "ОбслуживаниеККМЭлвес";

ИначеЕсли

ККМ.ТипККМ=Перечисление.ТипыККМ.Штрих Тогда

Возврат "ОбслуживаниеККМЭлвес";

ИначеЕсли

ККМ.ТипККМ=Перечисление.ТипыККМ.Samsung Тогда

Возврат "ОбслуживаниеККМSamsung";

ИначеЕсли

ККМ.ТипККМ=Перечисление.ТипыККМ.MemoPlusII Тогда

Возврат "ОбслуживаниеMemoPlusII" ;

КонецЕсли;

Специальные обработки обслуживания ККМ должны реализовы­вать следующие процессы: «Подключить», «ПечататьЧек», «ЗагрузкаТоваров», «ЗакрытиеСмены». Примерный текст обработки обслу­живания может быть следующим:

//——————————————

Перем ККМ;

Перем Процесс;

Перем Расшифровка;

//——————————————

Процедура ЗакрытиеСмены()

Если ККМ.РежимККМ=ПереЧисление.РежимыККМ.ФР Тогда

// закрытие смены ККМ ХХХХХХХХ в режиме ФР

// ....

ИначеЕсли ККМ.РежимККМ=Перечисление.РежимыККМ.OffLine Тогда

// закрытие смены ККМ ХХХХХХХХ в режиме OffLine

// ....

ИначеЕсли ККМ.РежимККМ=Перечисление.РежимыККМ.OnLine Тогда

// закрытие смены ККМ ХХХХХХХХ в режиме OnLine

// ....

КонецЕсли;

КонецПроцедуры

//——————————————

Процедура ЗагрузкаТоваров()

Если Pa6oтaKKMвOFFLine=0 Тогда

Возврат;

КонецЕсли;

// загрузка товаров в ККМ ХХХХХХХХ в режиме OFFLine

// ....

КонецПроцедуры

//——————————————

Процедура ПечататьЧек()

Док=Расшифровка.Получить("Документ");

Если ПустЗнач(Док)=1 Тогда

Возврат;

КонецЕсли;

// печать чека на ККМ ХХХХХХХХ в режиме ФР

// ....

Док.ЧекПробитККМ=1;

Док.ККМ=ККМ;

КонецПроцедуры

//——————————————

Процедура Подключить()

Если ККМ.РежимККМ=Перечисление.РежимыККМ.ФР Тогда

// подключение ККМ ХХХХХХХХ в режиме ФР

// ....

          ИначеЕсли ККМ.РежимККМ=Перечисление.РежимыККМOffLine Тогда

// подключение ККМ ХХХХХХХХ в режиме OffLine



// ....

ИначеЕсли ККМ.РежимККМ=Перечисление.РежимыККМOnLine Тогда

// подключение ККМ ХХХХХХХХ в режиме OnLine

// ....

КонецЕсли ;

КонецПроцедуры

//——————————————

Процедура ПриОткрытии()

Если глФлагРасшифровки=1 Тогда

Расшифровка=глРасшифровка;

Если Расшифровка.РазмерСписка()<>0 Тогда

ККМ=Расшифровка.Получить("ККМ") ;

Если ПустЗнач(ККМ)=1 Тогда

СтатусВозврата(0) ;

Возврат;

КонецЕсли;

Если НЕ(ККМ.ТипККМ=Перечисление.ТипыККМ.ХХХХХХХХХ) Тогда

Сообщить("Передан неверный тип ККМ") ;

СтатусВозврата(0) ;

Возврат;

КонецЕсли;

Процесс=Расшифровка.Получить("Процесс") ;

Если Процесс="Подключить" Тогда

Подключить();

ИначеЕсли Процесс="ПечататьЧек" Тогда

ПечататьЧек() ;

ИначеЕсли Процесс="ЗагрузкаТоваров" Тогда

ЗагрузкаТоваров() ;

ИначеЕсли Процесс="ЗакрытиеСмены" Тогда

ЗакрытиеСмены();

Иначе

Сообщить("Передан неизвестный процесс");

КонецЕсли;

СтатусВозврата(0) ;

КонецЕсли;

КонецЕсли;

КонецПроцедуры

//——————————————

Образцы специальных обработок обслуживания ККМ можно по­смотреть в поставляемой конфигурации на примере обработок «ОбслуживаниеЭлектроника92» и «Обслуживание Omron2810».

 






Содержание раздела