Доработка конфигурации УПП 1.2  для работы с ШТРИХ-МПЕЙ-Ф

25.05.20

Интеграция - ККМ

Работа с ККТ ШТРИХ-МПЕЙ-Ф на примере доработки конфигурации УПП 1.2 (1.2.19.1).

Скачать исходный код

Наименование Файл Версия Размер
Редактирование конфигурации УПП 1.2  для работы с ШТРИХ-МПЕЙ-Ф:
.epf 24,79Kb
0
.epf 24,79Kb Скачать

 

  1. Изменение конфигурации УПП.

Для того чтобы конфигурация  УПП, редакция 1.2(1.2.19.1)  смогла обмениваться заказами с ККТ Штрих-МПЕЙ-Ф используем логику обмена конфигурации и Штрих-М Кассира текстовыми файлами.

Во-первых, включим в документе “ЗаказПокупателя”(Форма документа) поддержку обработки

Функция ПоддерживаетсяВидТО(Вид) Экспорт

                Результат = Ложь;

                Если Вид = Перечисления.ВидыТорговогоОборудования.СканерШтрихКода

                               Или Вид = Перечисления.ВидыТорговогоОборудования.СчитывательМагнитныхКарт

                               Или Вид = Перечисления.ВидыТорговогоОборудования.ККМOffLine Тогда//>>

                               Результат = Истина;

                КонецЕсли;

                Возврат Результат;              

КонецФункции // ПоддерживаетсяВидТО()

Добавим на форме заказа новую кнопку “в М-ПЕЙ”, означающую выгрузку данных из документа и процедурой:

Процедура ОсновныеДействияФормыМ_ПЕЙ(Кнопка)

                Если Товары.Количество() = 0 Тогда

                               Предупреждение("Список товаров пуст.");

                               Возврат;

                КонецЕсли;

                мСерверТО = ПолучитьСерверТО();

                МассивККМ = мСерверТО.ПолучитьСписокУстройств(

                                Перечисления.ВидыТорговогоОборудования.ККМOffLine,

                                Справочники.КассыККМ.ПустаяСсылка());

                 

                мСписокККМ    = Новый СписокЗначений();

                ККМ           = Неопределено;

                Вид           = Неопределено;

                Представление = Неопределено;

                Для Каждого ККМ Из МассивККМ Цикл

                               мСерверТО.ПолучитьПредставлениеУстройства(ККМ, Вид, Представление);

                               Если (Представление="Штрих-М: MPAY-Ф") Тогда

                                               мСписокККМ.Добавить(ККМ, Представление);

                                               ККМOffline = мСписокККМ[0].Значение;;

                                               Прервать;

                               КонецЕсли;           

                КонецЦикла;                                                       

                Шапка = ЗаполнитьШапку();

                Результат = мСерверТО.ВыгрузитьЗаказыККМ(ККМOffline, Ссылка, Шапка);

                Если НЕ ЗначениеЗаполнено(Результат) Тогда

                               КолВо = Товары.Количество() + Услуги.Количество();

                               ОписаниеРезультата = "Выгрузка заказов завершена успешно.

                                                                                                               |Выгружено " + СокрЛП(КолВо) + " строк.";

                Иначе

                               ОписаниеРезультата = мСерверТО.ПолучитьТекстОшибкиККМOfflineТО(Результат);

                КонецЕсли;

                Предупреждение(ОписаниеРезультата);

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

И описание функций  “СтатусЗаказа” и “ЗаполнитьШапку”

 

Функция ЗаполнитьШапку()

                СтрукВз = Новый Структура("store, date, number, externalnumber, doctype, uuid, posted, status, deliveryaddress, customer, prepayment");

                СтрукВз.store                                       = Ссылка.СкладГруппа.Код;

                СтрукВз.date                                         = Ссылка.Дата;

                СтрукВз.number                                   = Ссылка.Номер;//Ссылка.НомерИнтернетЗаказа;

                СтрукВз.externalnumber       = Ссылка.Номер;

                СтрукВз.doctype                   = "30";

                СтрукВз.uuid                                        = Строка(Ссылка.УникальныйИдентификатор());

                СтрукВз.posted                                     = ?(Ссылка.Проведен,1,0);

                СтрукВз.status                                      = СтатусЗаказа();

                СтрукВз.deliveryaddress       = Ссылка.АдресДоставки;  

                СтрукВз.customer                 = Ссылка.Контрагент.Наименование;//Ссылка.НаименованиеПокупателя; 

                СтрукВз.prepayment                             = Ссылка.СуммаОплаты;   

               

                Возврат СтрукВз;

КонецФункции

//>>

Функция СтатусЗаказа()

                Если (Ссылка._СтатусЗаказа = Перечисления.MI_СтатусЗаказаПокупателя.НеВыполненныйЗаказ) Тогда

                               возврат "open";

                ИначеЕсли (Ссылка._СтатусЗаказа = Перечисления.MI_СтатусЗаказаПокупателя.ЗаказВыполнен) Тогда

                                Возврат "close";

                ИначеЕсли (Ссылка._СтатусЗаказа = Перечисления.MI_СтатусЗаказаПокупателя.ЗаказОтменен) Тогда

                               Возврат "cancel";  

                ИначеЕсли (Ссылка._СтатусЗаказа = Перечисления.MI_СтатусЗаказаПокупателя.ОтказОтВыполненияНаТекущейКкм) Тогда

                               Возврат "reject";

                Иначе

                               Возврат "";

                КонецЕсли;

КонецФункции

Как видно из функции “СтатусЗаказа” необходимо добавить новое перечисление “ MI_СтатусЗаказаПокупателя ”, которое будет использоваться в статусе документа “Заказпокупателя”

 

Добавим в документ реквизит “_СтатусЗаказа”, который будет влиять на выгрузку в МПЕЙ:

Также необходимо изменить обработку “ТОСервер”(Модуль объекта), добавим функция “ВыгрузитьЗаказыККМ”:

Функция ВыгрузитьЗаказыККМ(Идентификатор, Товары, Шапка) Экспорт

	Обработка = Неопределено;
	Объект    = Неопределено;
	Результат = ПолучитьОбъектДрайвера(Идентификатор, Обработка, Объект);
	Если НЕ ЗначениеЗаполнено(Результат) Тогда
		Результат  = Обработка.ВыгрузитьЗаказы(Объект, Товары, Шапка);
		мОписаниеОшибки = Объект.ОписаниеОшибки;
	Иначе
		мОписаниеОшибки = ПолучитьТекстОшибкиПодключенияТО("ККМ Off-Line");
	КонецЕсли;
	Возврат Результат;
КонецФункции 

2. Создание обработки для выгрузки в МПЕЙ

Создадим обработку “ShtrihMPAYOffline_v1.epf”:

         Отредактируем основную функцию “ВыгрузитьТовары”:

Функция ВыгрузитьТовары(Объект, Товары, ЧастичнаяВыгрузка = Неопределено) Экспорт
	Результат = мНетОшибки;
	Файл      = Новый ТекстовыйДокумент();
	Товар     = Неопределено;
	Разделитель = ";";

	Файл.ДобавитьСтроку("##@@&&");
	Файл.ДобавитьСтроку("#");

	Если ЧастичнаяВыгрузка <> Неопределено Тогда
		Если ЧастичнаяВыгрузка Тогда
			Файл.ДобавитьСтроку("$$$ADD");
		Иначе
			Файл.ДобавитьСтроку("$$$CLR");
		КонецЕсли;
	КонецЕсли;
	//>>
	ЗаполнитьГруппыТоваров(Файл,Товары);
	//<<
Для Каждого Товар Из Товары Цикл
		Если ТипЗнч(Товар.КодТовара) <> Тип("Массив") Тогда
			Гр_Родитель_Код = Справочники.Номенклатура.НайтиПоНаименованию(Товар.Номенклатура).Родитель.Код;
			КодГр = Преоб(Гр_Родитель_Код);
			Если КодГр=-1 Тогда
				КодГр = 0;;
			КонецЕсли;	
			Строка = Формат(Товар.ПЛУ, "ЧЦ=13; ЧДЦ=0; ЧГ=0")   + Разделитель +
			Формат(Товар.КодТовара, "ЧЦ=13; ЧДЦ=0; ЧГ=0")      + Разделитель +
			ИсключитьСпецСимв(Товар.Номенклатура)              + Разделитель +
			ИсключитьСпецСимв(Товар.Номенклатура)              + Разделитель +
			Формат(Товар.Цена, "ЧЦ=15; ЧДЦ=2; ЧРД=.; ЧГ=0")    + Разделитель +
			Формат(Товар.Остаток, "ЧЦ=17; ЧДЦ=3; ЧРД=.; ЧГ=0") + Разделитель +
			"0"                                                + Разделитель +
			?(Товар.ВесовойТовар, "1", "0")                    + Разделитель +
			"0"                                                + Разделитель +
			"0"                                                + Разделитель +
			"0"                                                + Разделитель +
			"0"                                                + Разделитель +
			"0"                                                + Разделитель +
			"0"                                                + Разделитель +
			"0"                                                + Разделитель +
			Формат(КодГр, "ЧЦ=13; ЧДЦ=0; ЧГ=0")      		   + Разделитель + //16-Код род группы
			"1";
			Файл.ДобавитьСтроку(Строка);
		Иначе

Где функция “ЗаполнитьГруппыТоваров”:

Функция ЗаполнитьГруппыТоваров(Файл,Товары)

               

                Для каждого Товар из Товары Цикл

                               Тов = Справочники.Номенклатура.НайтиПоНаименованию(Товар.Номенклатура);

                               Если Тов.Пустая() Тогда

                                               Сообщить("Для товара "+ Товар.Номенклатура+" не нашли соответствие!");

                               Иначе

                                               ДобавитьРодителя(Тов.Родитель);

                               КонецЕсли;           

                КонецЦикла;

                Разделитель = ";";

                Для каждого Гр из ТабГрупп Цикл

                               КодГр = Преоб(Гр.Группа.Код);

                               Если КодГр=-1 Тогда

                                               Продолжить;

                               КонецЕсли;           

                               КодГрР = Преоб(Гр.Группа.Родитель.Код);

                               Строка = Формат(КодГр, "ЧЦ=13; ЧДЦ=0; ЧГ=0")                       + Разделитель +

                                               ""                                                                                                                                                                         + Разделитель +

                                               Гр.Группа.Наименование                                    + Разделитель +

                                               Гр.Группа.наименование                              + Разделитель +

                                               ""                                                                                                                                                                                        + Разделитель +

                                               ""                                                                                                                                                                                                         + Разделитель +

                                               "0"                                                                         + Разделитель +

                                               "0"                                                                                                                            + Разделитель +

                                               "0"                                                              + Разделитель +//9

                                               "0"                                                                      + Разделитель +

                                               "0"                                                              + Разделитель +

                                               "0"                                                                      + Разделитель +

                                               "0"                                                                         + Разделитель +

                                               "0"                                                                         + Разделитель +

                                               "0"                                                                         + Разделитель +

                                               Формат(КодГрР, "ЧЦ=13; ЧДЦ=0; ЧГ=0")                                                     + Разделитель +//16-Код род группы

                                               "0"                                                 + Разделитель ;//17-Товар или группа: для    группы “0”

                                               Файл.ДобавитьСтроку(Строка);

                КонецЦикла;        

                Возврат Истина;

КонецФункции

И другие дополнительные функции:

 

Функция ИсключитьСпецСимв(НаимТовара)

                Если Найти(НаимТовара,";")>0 Тогда

                               Врем = СтрЗаменить(НаимТовара,";","##");

                               Возврат Врем;

                КонецЕсли;

                Возврат   НаимТовара;

КонецФункции     

Процедура ДобавитьРодителя (Родитель)

                Если Родитель.Пустая() Тогда

                               Возврат;

                Иначе

                               СтрПоиска = Новый структура("Группа",Родитель.Ссылка);

                               Масс = ТабГрупп.НайтиСтроки(СтрПоиска);

                               Если Масс.Количество()=0 Тогда

                                               стр = ТабГрупп.Добавить();

                                               стр.Группа = Родитель.Ссылка;

                               КонецЕсли;           

                               ДобавитьРодителя(Родитель.Родитель);

                КонецЕсли;           

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



Функция Преобразовать(Строка) Экспорт

                ии=1;

                Сум="";

                Пока ии<СтрДлина(Строка)+1 Цикл

                               Стр = Сред(Строка,ии,1);

                               Попытка

                                               а=Число(Стр);

                                               Сум=Сум+Стр;

                               Исключение

                                               ф=0;

                               КонецПопытки;    

                               ии=ии+1;

                КонецЦикла;        

                Возврат Сум;

КонецФункции     



Функция Преоб(Б)

                Попытка

                               А = Число(Б);

                               Возврат Преобразовать(А);

                Исключение

                               Возврат -1;

                КонецПопытки;    

КонецФункции 

    

 

  1. Настройка

Подключить обработку «ShtrihMPAYOffline_v1.epf»

    1. Открыть «Подключение и настройка торгового оборудования»

    1. Заполнить параметры выгрузки заказа. Путь файл заказа «…pos.spr» - файл который по умолчанию стоит в МПЕЙ

    1. Нажать кнопку «Проверка», если все корректно то выйдет сообщение «торговое оборудование настроено корректно».

 

 

  1. Создадим заказ покупателя и заполним все поля. Статус заказ и т.д.

  1. Выгрузка происходит по кнопке «Выгрузка заказа-> в- МПЕЙ».
  2. Полученные данные на флэшке(они должны находится в корне), вставляем в МПЕЙ
  3. Заходим в «Меню», «0.Еще…» -> «1.Обмен» -> «1.Файловый обмен» -> «1.Загрузка справочника». Если все успешно, система сообщит сколько строк было загружено

Просмотр заказа «Меню» -> «9.Подбор заказа»

4. Примечание:

          -  Описание работы с Штрих-М ПЕЙ-Ф https://wiki.sftserv.ru/index.php/Выгрузка_товаров_в_ККТ_ШТРИХ-МПЕЙ-Ф

- Ссылка для загрузки заказа https://kkm.solutions/wiki/doku.php?id=кассир5:форматобменаданными:заказпокупателя

УПП Штрих-МПЕЙ ШТРИХ-MPAY-Ф

См. также

ККТ-ОНЛАЙН 54-ФЗ: Обработка для работы онлайн касс АТОЛ, ШТРИХ, VIKI PRINT и т.д. МАРКИРОВКА (Разрешит. режим) + ЭКВАЙРИНГ + БЕСПЛАТНЫЙ ДЕМО

ККМ Кассовые операции Розничная торговля Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 1.6 1С:Бухгалтерия автономного учреждения 1С:CRM ПРОФ, КОРП Россия Платные (руб)

Универсальная обработка для обслуживания любых фискальных регистраторов (ККТ), в том числе Веб сервер АТОЛ. Работает в соответствии с 54-ФЗ. (ФФД 1.0, ФФД 1.05, ФФД 1.1). Подключайте любую онлайн кассу к практически любой конфигурации. Нет необходимости обновлять 1С. Можно бесплатно скачать и протестировать. Может работать одновременно с несколькими онлайн-кассами, либо одной с разных рабочих мест. (через RDP, TCP\IP или веб-сервер) Позволяет разделить один чек сразу на несколько ККТ или на несколько систем налогообложения. Поддерживает разрешительный режим. Можно настроить собственный шаблонов чека. Можно использовать эквайринг там, где он не поддерживается. Работает на LINUX и Windows ЭМУЛЯТОР + ЭКВАЙРИНГ + МАРКИРОВКА + ПОДДЕРЖКА ФФД 1.2

6000 руб.

27.02.2017    766490    4694    9501    

2792

54-ФЗ и Разрешительный режим. Обработки для подключения онлайн-касс к 1С 8 (поддержка Маркировки) + Эмулятор + ФФД 1.2

ККМ Кассовые операции Розничная торговля Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия автономного учреждения Россия Платные (руб)

Обработка осуществляет обслуживание ККТ АТОЛ, Штрих и Меркурий для конфигураций "УТ 10.3", "КА 1.1", "УПП 1.3", "Розница 1.0", "БП 2.0" и других отраслевых решений, построенных на основе указанных выше конфигурациях. Поддерживает возможность параллельно пробития чеков на одной ККМ несколькими пользователями. Поддерживает Веб-сервер Атол. Соответствует требованиям 54-ФЗ. Поддерживает ФФД 1.0, 1.05, 1.1 и 1.2. Разделяет чеки по нескольким СНО. Поддерживает механизмы подключения ККТ по TCP/IP, для работы через RDP или интернет. Поддержка маркировки и разрешительного режима.

5400 руб.

25.05.2015    318020    1851    3012    

998

Печать кассовых чеков на одну ККМ с нескольких рабочих мест для 1С:УТ11.х, КА2.х, Розница 2.х, УНФ, ERP 2.х, БП 3, БГУ2

ККМ Кассовые операции Розничная торговля Обмен с ГосИС Бухгалтерский учет Оперативный учет Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение конфигурации для УТ 11.4, 11.5, КА 2.4, 2.5, Розница 3.0, 2.3 и 2.2, УНФ 1.6, УНФ 3x, ERP 2.4, 2.5, БП 3, БГУ2 (Управляемые формы) позволяет выполнять печать кассовых чеков на одну ККМ 54-ФЗ с нескольких рабочих мест. НИКАКИХ НАСТРОЕК В РАЗРАБОТКЕ - ПОДКЛЮЧИЛ И ПЕЧАТАЙ. Если у вас несколько отделов и одна ККМ - печатайте на одной ККМ! Если у вас две ККМ и одна поломалась - печатайте на одной ККМ, пока ремонтируете другую!

4000 руб.

27.08.2018    116933    993    565    

835

Обработка 1С для печати чеков на кассе ККТ АТОЛ.ОНЛАЙН

ККМ Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Печать чеков по документам 1С РеализацияТоваров (РасходнаяНакладная), КорректировкаРеализации, СчетНаОплату, ЗаказКлиента, ЧекККМ, ПоступлениеНаРС. Соответствует требованиям 54-ФЗ. Одна облачная касса может использоваться всеми подразделениями организации, без привязки к рабочим местам. Электронные чеки отправляются на email клиента и всегда доступны в 1С, по требованию можно распечатать. Легкая настройка: после регистрации кассы на сайте АТОЛ.ОНЛАЙН, в обработке необходимо указать логин, пароль и идентификатор группы ККТ (берутся в личном кабинете АТОЛ.ОНЛАЙН). Одну кассу можно использовать с 1С при расчетах с физ. и юр. лицами и для интернет-магазина. HTTPS протокол интеграции API v4 / ФФД 1.05 или API v5 / ФФД 1.2.

21600 руб.

23.08.2022    10732    27    4    

24

Обмен между 1С:Розница и Frontol 6 по организациям (Розница - Фронтол)

ККМ Розничная торговля Платформа 1С v8.3 Оперативный учет 1С:Розница 2 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Обмен между 1С:Розница и Frontol 6 при торговле от нескольких организаций, а также ряд других полезных функций. Данный модуль незаменим для тех, кто ведёт учет по нескольким организациям в 1С:Розница, а на РМК (рабочее место кассира) установлен Frontol, или планируется его установка. Подходит для 1С:Розница 2.3./ 3.0, 1С:УНФ 3.0

1500 руб.

22.03.2019    79034    406    476    

167

Разбитие чека ККМ по группам товаров и пробитие их на разных кассах, подключенных к одному рабочему месту. Расширение для УТ 11.5, УТ 11.4, КА 2.5

Кассовые операции ККМ Платформа 1С v8.3 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Расширение для 1С:Управление торговлей 11.5 и 11.4, которое позволяет из рабочего места кассира разбивать чек ККМ на несколько чеков и пробивать их на разных кассах подключенных к одному РМК. Можно пробивать разные группы товаров по разным организациям на разных кассовых аппаратах.

5880 руб.

22.08.2022    10127    15    15    

19

Управление ККМ Атол и Штрих нового поколения (он-лайн ККТ под 54-ФЗ) с помощью текстового ini.файла для 1с77, 1с8Х любых конфигураций

Кассовые операции ККМ Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Программа для управления ККМ Атол и Штрих нового поколения (он-лайн ККТ под 54-ФЗ) с помощью текстового файла (ini файла) с изменениями  включена 1 лицензия  Для любых программ, которые умеют работать с текстовыми файлами. Внутри комплекта есть готовые к использованию обработки

4800 руб.

31.07.2017    165368    564    604    

197

Пробитие чека ККМ с разных складов через РМК в УТ 11

Кассовые операции ККМ Платформа 1С v8.3 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Россия Управленческий учет Платные (руб)

Расширение для 1С:Управление торговлей 11.5, которое позволяет пробивать чеки ККМ и списывать товар с разных складов. Склад списание товара можно указывать в табличной части рабочего места кассира (РМК).

5880 руб.

12.04.2023    8036    30    2    

24
Оставьте свое сообщение