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

25.05.20

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

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

 

  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-Ф

См. также

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 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    796345    4903    9546    

2858

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

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

4500 руб.

27.08.2018    122194    1025    584    

864

SALE! 25%

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 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 или интернет. Поддержка маркировки и разрешительного режима.

5880 4410 руб.

25.05.2015    335553    1956    3058    

1031

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

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

1800 руб.

22.03.2019    84029    509    478    

182

ККМ Кассовые операции Розничная торговля Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Платные (руб)

«Сервер ККМ» позволяет приложениям работать с фискальными регистраторами по локальной сети или интернет, организовать печать на одном ККМ с нескольких рабочих мест. Поддержка драйверов Атол, Штрих и VikiPrint. Поддержка 54-ФЗ и разрешительного режима, ФФД 1.05,1.2. Подключается к 1С Торговля и склад 7.7, 1С:УТ 10/11, 1С:УНФ, 1С:Розница 1/2, 1С:БП 2/3, 1С КА 1/2., 1С:ERP, УПП. Ускоряет печать из терминального сеанса Windows. Работает с разрешительным режимом даже из старых конфигураций. Предоставляет REST API для печати через веб-сервис.

3000 руб.

02.09.2016    136457    152    193    

181

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

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

5880 руб.

12.04.2023    9335    44    3    

36

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

Обработки осуществляют обслуживание фискальных регистраторов, поддерживаемых драйвером "АТОЛ: Драйвер ККМ v.10.10", "ШТРИХ-М: Драйвер ККМ v 5.16", "ВИКИ: Драйвер CSI v 1.6", для конфигураций БП, УТ, КА, УПП, "Розница 3.0", соответствующих требованиям закона ФЗ-54 о применении контрольно-кассовой техники.Поддержка НДС 20%. Поддержка маркировки 488-ФЗ. Марки. Акциз. Честный знак. Разрешительный режим.

5040 руб.

02.02.2017    276494    557    2375    

558

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

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

4800 руб.

31.07.2017    170855    589    605    

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