Загрузка товара с ценами и штрих-кодами EAN-13 в весы серии "Масса-К" для УТ 11.2.2.116 в формате dbf (переписана из обработки ТиС 9.2) на УФ для серверной базы

25.01.16

Учетные задачи - Розничная торговля

В процессе внедрения УТ 11.2 была задача переписать обработку загрузки товаров в весы с печатью этикеток серии "Масса-К" для формирования файла "massa.dbf" из 1С 7.7: Торговля+Склад 9.2. Обработка написана с учетом универсальности работы как в файловом, так и в клиент-серверном режиме. Также учтен возможный отказ от модальности в последующих релизах УТ 11.2. Подробно разбирается формат весов серии "Масса-К". Выгружаются только корректные данные (ШК, Цены). Предусмотрен режим выгрузки только весового товара или по конкретной единице измерения (кг, 0.1 кг). Дополнительно для печати этикетки выгружается информация по каталогу продукции.

Скачать файл

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

Наименование По подписке [?] Купить один файл
ВыгрузкаВВесыМассаДляУТ_11_2_версия 1.0.0.1
.epf 34,81Kb ver:1.0.0.1
11
11 Скачать (1 SM) Купить за 1 850 руб.
Загрузка в весы МассаК для 7.7
.ert 190,50Kb ver:1.0.0.0
6
6 Скачать (1 SM) Купить за 1 850 руб.

Интерфейс обработки для УТ 11.2 нижеследующий:

Для удобства эксплуатации есть проверка заполнения реквизитов и поддержка, связанная с отсутствием модальности в диалоге (тут в помощь стандартный рефакторинг платформы 1С 8.3.7).

В исходных данных к задаче была обработка для ТиС 9.2 и образец файла "massa.dbf" - далее уже сторонним ПО этот файл подгружается в весы серии "Масса-К".

Внешний вид обработки-прототипа для 7.7:

 

Контрольный пример в dbf-редакторе:

 

Скриншот описания полей из dbf-редактора:

 

 

Описание формата из 7.7 следующее (из кода 7.7):

_ИмяФайла = "massa.dbf";
	_РабКаталог=_РабКаталог+_ИмяФайла;
	
	_ДБФ_Товар=СоздатьОбъект("XBase"); 
	
    _ДБФ_Товар.ДобавитьПоле("PRD_ID",  "S", 12,0);              // код товара, реально в типовых не больше 9 
    _ДБФ_Товар.ДобавитьПоле("PRD_NAME","S",255,0);              // наименование товара, реально в типовых не больше 50 
    _ДБФ_Товар.ДобавитьПоле("FLG_CNTR","S",  1,0);              // флаг центровки наименования
	
	_ДБФ_Товар.ДобавитьПоле("PRD_CODE","S", 32,0);              // код товара (дополнительно, опционально) 
    _ДБФ_Товар.ДобавитьПоле("PRD_PLU", "S",  8,0);              // код быстрого вызова товара (опционально)

	_ДБФ_Товар.ДобавитьПоле("PRD_PREF","S",  2,0);           	// префикс штрихкода (опционально)
	_ДБФ_Товар.ДобавитьПоле("PRD_BAR", "S", 13,0);              // штрих-код товара, обычно EAN13         
	                 
    _ДБФ_Товар.ДобавитьПоле("GRP_ID",  "S", 12,0);              // код группы товара
    _ДБФ_Товар.ДобавитьПоле("GRP_NAME","S",255,0);              // наименование группы товара
	
    _ДБФ_Товар.ДобавитьПоле("MSR_ID",  "S",  3,0);              // код базовой единицы измерения товара по ОКЕИ
    _ДБФ_Товар.ДобавитьПоле("MSR_NAME","S", 25,0);              // наименование базовой единицы измерения товара по ОКЕИ
	
    _ДБФ_Товар.ДобавитьПоле("PRD_PRCE","S", 15,0);              // цена товара     
    _ДБФ_Товар.ДобавитьПоле("PRD_CERT","S",  4,0);              // код органа сертификации    
    _ДБФ_Товар.ДобавитьПоле("PRD_CMP1","S",255,0);              // cостав товара - часть 1    
    _ДБФ_Товар.ДобавитьПоле("PRD_CMP2","S",255,0);              // cостав товара - часть 2  
    _ДБФ_Товар.ДобавитьПоле("PRD_TARE","S", 15,0);              // вес тары (упаковки)   
    _ДБФ_Товар.ДобавитьПоле("PRD_LIFE","S", 16,0);              // срок годности 
    _ДБФ_Товар.ДобавитьПоле("PRD_DATE","S", 16,0);              // дата упаковки 
    _ДБФ_Товар.ДобавитьПоле("PRD_INFO","S",255,0);              // информационно-рекламное сообщение
	

Примечание: обработка, видимо, переработанная от фирмы-производителя, раз есть поддержка многих конфигураций: "// 1-ТиС, 2-Комплекс, 3-ПУБ, 4-Бухгалтерия, 5-УСН, 6-Предприниматель, 0-что-то оригинальное"

 Пример номенклатуры для выгрузки в весы:

 

Можно посмотреть, что в УТ 11.2 предусмотрены более гибкие возможности по работе именно с ВЕСОВЫМ товаром - указание веса "невесовой" единицы.

НО, в целях упрощения задачи я выбрал в качестве источника данных УТ 11.2 регистр штрихкодов номенклатуры:

Во-первых, есть запрет в конфигураторе на пустые записи по реквизиту регистра ШК "номенклатура":

 

Во-вторых, не все ШК могут быть заполнены в результате переноса и эксплуатации (лично наткнулся на такие). Дальше то же самое касается и цен номенклатуры (это чаще). Отборы проводятся по нижеприведенным запросам, а окончательная фильтрация с выбросом в лог ошибок:

        Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("ВидЦены", Объект.ВидЦены); // Общий параметр!
	
	Если Объект.ФлагВыгрВесового Тогда
		Запрос.Текст =
		"ВЫБРАТЬ
		|	ШК.Штрихкод,
		|	ШК.Номенклатура,
		|	ЕСТЬNULL(ЦеныПрайс.Цена, 0) КАК Цена,
		|	ШК.Номенклатура.Код КАК Код,
		|	ШК.Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
		|	ШК.Номенклатура.Родитель КАК Родитель,
		|	ШК.Номенклатура.Наименование КАК Наименование,
		|	ШК.Номенклатура.Артикул КАК Артикул,
		|	ШК.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
		|	ШК.Номенклатура.ЕдиницаИзмерения.Код КАК ЕдиницаИзмеренияКод,
		|	ШК.Номенклатура.ЕдиницаИзмерения.Наименование КАК ЕдиницаИзмеренияНаименование,
		|	ШК.Номенклатура.Родитель.Наименование КАК РодительНаименование,
		|	ШК.Номенклатура.Родитель.Код КАК РодительКод
		|ИЗ
		|	РегистрСведений.ШтрихкодыНоменклатуры КАК ШК
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ) КАК ЦеныПрайс
		|		ПО ШК.Номенклатура = ЦеныПрайс.Номенклатура
		|ГДЕ
		|	ЦеныПрайс.ВидЦены = &ВидЦены
		|	И ШК.Номенклатура.ВесИспользовать
		|
		|УПОРЯДОЧИТЬ ПО
		|	ЭтоГруппа УБЫВ,
		|	Наименование";
	Иначе
		Запрос.УстановитьПараметр("парЕдиницаИзмерения", Объект.ЕдИзмер);
		Запрос.Текст = 
		"ВЫБРАТЬ
		|	ШК.Штрихкод,
		|	ШК.Номенклатура,
		|	ЕСТЬNULL(ЦеныПрайс.Цена, 0) КАК Цена,
		|	ШК.Номенклатура.Код КАК Код,
		|	ШК.Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
		|	ШК.Номенклатура.Родитель КАК Родитель,
		|	ШК.Номенклатура.Наименование КАК Наименование,
		|	ШК.Номенклатура.Артикул КАК Артикул,
		|	ШК.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
		|	ШК.Номенклатура.ЕдиницаИзмерения.Код КАК ЕдиницаИзмеренияКод,
		|	ШК.Номенклатура.ЕдиницаИзмерения.Наименование КАК ЕдиницаИзмеренияНаименование,
		|	ШК.Номенклатура.Родитель.Наименование КАК РодительНаименование,
		|	ШК.Номенклатура.Родитель.Код КАК РодительКод
		|ИЗ
		|	РегистрСведений.ШтрихкодыНоменклатуры КАК ШК
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ) КАК ЦеныПрайс
		|		ПО ШК.Номенклатура = ЦеныПрайс.Номенклатура
		|ГДЕ
		|	ЦеныПрайс.ВидЦены = &ВидЦены
		|	И ШК.Номенклатура.ЕдиницаИзмерения = &парЕдиницаИзмерения
		|
		|УПОРЯДОЧИТЬ ПО
		|	ЭтоГруппа УБЫВ,
		|	Наименование";
	КонецЕсли;
	
	//ТЗ = Запрос.Выполнить().Выгрузить(); // ОТЛАДКА Закомментить!!!
	
	Выборка = Запрос.Выполнить().Выбрать(); // Внимание!!! Могут (обязательно) быть дубли по Штрих-кодам (это измерение регистра)
	
	Структ.Вставить("КолЗапросом", Выборка.Количество() );
	Сказать("Получено запросом (с дублями ШК) из базы: "+Структ.КолЗапросом);
	
	Возврат Выборка;

 

В третьих, лог ошибок ведется в ОЗУ на сервере (с целью оптимизации при больших объемах базы). Примечание: в серверном режиме файл создается во временном каталоге Сервера 1С, далее, если все прошло без ошибок, копируется на локальный компьютер по заданному пути. Замечу, что у объекта XBase что в 1С 7.7, что в 1С 8.х есть особенность, что нужно или устанавливать флаг "Автосохранение", или при добавлении каждой записи сохранять программно. В результате такого подхода можно получить в случае сбоя урезанный вариант. В случае фатальной ошибке в моей обработке мы подобного не получим: на локальный ПК с Сервера 1С ничего скопировано не будет, а будет попытка стереть временный файл.


При переносе функционала для УТ 11.2.2.116 предусмотрена выгрузка информации по структуре каталога:

  • поле "GRP_ID" - код группы товара;
  • поле "GRP_NAME" - наименование группы товара.

 Может быть полезной при печати этикеток.

 

Недостатки (в виду упрощения задачи):

1. Отсутствие гибкого отбора: либо только весовой товар (реквизит типа "булево" справочника УТ 11.2 "ВесИспользовать"), либо по конкретной весовой единице измерения (следствие первоначального переноса данных из ТиС 9.2 при переходе на УТ 11.2

По-хорошему все-таки нужно наводить порядок и использовать стандартные возможности УТ 11.2 устанавляивая галочку "весовой" и указывать в карточке номенклатуры массу для невесовых единиц (это уже методология учета пошла).

2. Нет поддержки характеристик. Делалось для продуктовых магазинов, где количество номенклатуры превышает десятки тысяч.

3. Нет индикации процесса выгрузки. По-максимуму предусмотрен контроль ошибок, если произойдет сбой на сервере 1С, через конструкции попытка-исключение. Фрагмент кода ниже

&НаКлиенте
Процедура ПоказатьОшибкиНаКлиенте(Знач Структ, КонецПрограммы = Ложь)
	
	Перем Кол, СписокОшибок, т, Текст;
	
	СписокОшибок = Структ.СписокОшибок;
	Кол = СписокОшибок.Количество();
	Структ.Вставить("КолОшибок", Кол);
	КолЗапросом = Структ.КолЗапросом;
	Если Кол = 0 Тогда
		Если КонецПрограммы Тогда
			Текст = "Все в порядке. Выгрузили "+Структ.КолЗап+" записей о товарах в файл! Ошибок нет!";
			Сказать(Текст);
		КонецЕсли;
	Иначе
		Текст = "--->Файл получен, но есть ошибки! НЕ выгружено: "+Кол+". Подробно: "+Символы.ПС;
		Для т=1 По Кол Цикл
			Текст = Текст +Символы.Таб+т+". - "+СписокОшибок.Получить(т-1).Значение+Символы.ПС; // С отступом и нумерацией!
		КонецЦикла;	
		Текст = Текст + "===>Конец";
		Сказать(Текст);
	КонецЕсли;
	

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

 

Принимаются пожелания и предложения по модификации данной обработке и написанию аналогичных.

Ссылка на первоисточник и документацию тут:

Весы Весы Масса-К МассаК Управление торговлей 11.2 DBF выгрузка в весы обмен с весами масса-к форма выгрузки в Масса-К описание формата *.dbf в весы Масса-К

См. также

Оптовая торговля Розничная торговля ККМ ЭДО и ОФД Обмен с ГосИС Системный администратор Программист Оперативный учет 7.7 Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Платные (руб)

Подключение фискального регистратора к 1С 7.7 в режиме онлайн-кассы (в соответствии с 54-ФЗ). Поддержка крайних версий драйверов ККТ: ДТО 10 и ДТО 8 для Атол, 4.15, 5.16 для Штрих-М. Поддержка протоколов ФФД 1.0, 1.05, 1.1 и 1.2, развитые настройки для применения частичных оплат и авансов в оптовой и розничной торговле. Поддержка чеков коррекции всех версий. Поддержка розничной продажи маркированной продукции (ЕГАИС, табак, обувь, лекарства, шины, одежда, белье, парфюмерия, молочная продукция, вода и пр.). Вывод электронного чека (на е-майл, телефон) по требованию покупателя, поддерживаются комбинированные типы оплаты, режим эмуляции печати чека на ФР. Полный цикл работы из 1С 7.7 с маркировкой Честный ЗНАК (ГИСМТ, ЦРПТ) из 1С 7.7. ЭДО (табак, обувь, шины, одежда, молочная продукция, вода и прочие группы товаров) для розницы и опта (приемка и оптовая отгрузка маркированной продукции). Поддерживается как объемно-сортовой учет (ОСУ) так и поштучный (поэкземплярный) учет.

2000 руб.

28.03.2017    478237    4442    3488    

2457

Бюджетирование и планирование Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Анализ продаж Пользователь Платформа 1С v7.7 Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Система управления запасами для 1С помогает работать с запасами правильно: автоматически рассчитывает потребность и делает заказ поставщику, загружает прайсы, перемещает товары по филиалам, анализирует продажи и позволяет управлять ассортиментом.

28500 руб.

21.04.2017    96360    125    40    

214

Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Обмен с ГосИС Программист Бухгалтер Оперативный учет 7.7 Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 1С:Упрощенное налогообложение 7.7 Сельское хозяйство и рыболовство Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Пищевая промышленность Россия Бухгалтерский учет Управленческий учет Платные (руб)

Полностью автоматизированный обмен между конфигурациями 1С 7.7 и ФГИС Меркурий через Ветис.API для всех видов деятельности (Опт, Розница, Производство). Для организации обмена с ФГИС Меркурий требуется минимальная доработка конфигураций (поддерживается "из коробки" 1С: "Торговля и склад ред. 9.2", 1С: "Комплексная ред. 4.5", 1С: "Бухгалтерия 7.7", 1С: "УСН 7.7", 1С Предприниматель, другие конфигурации по заказу, включая нетиповые и самописные). Модуль разработан таким образом, чтобы минимизировать затраты по внедрению в произвольную конфигурацию на базе 1С 7.7. Вы можете БЕСПЛАТНО скачать демо-версию без ограничения по функционалу и опробовать решение в полном объеме перед покупкой. В данном программном продукте реализованы все технические требования Россельхознадзора по обмену в формате 2.0 и 2.1. Решение прошло опытную эксплуатацию и тестирование на крупных объектах всех видов деятельности: Производство, Опт, Розница.

10000 руб.

21.11.2018    53981    156    105    

70

Оптовая торговля Розничная торговля Обмен с ГосИС Бухгалтер Оперативный учет 7.7 1С:Торговля и склад 7.7 Бухгалтерский учет Акцизы Платные (руб)

Дорогие друзья! Предлагаю Вашему вниманию обработку, предназначенную для обмена данными из Вашей учетной системы с ЕГАИС, через универсальный транспортный модуль (УТМ). В обработке реализован весь функционал обмена: - загрузка справочных данных по контрагентам, производителям, импортерам алкогольной продукции; - загрузка справочных данных по номенклатуре алкогольной продукции; - загрузка остатков; - помощник сопоставления справочных данных и запись их в базу данных; - загрузка приходных ТТН и справок Б от поставщиков, отправка по ним актов всех типов, создание по ним приходных документов; - выгрузка расходных ТТН покупателям; - управление Марками и ведение Регистра 3; Обработку возможно использовать автономно, не внося изменений в Вашу Учетную систему. Код открыт.

6000 руб.

13.11.2015    126792    171    2529    

232

Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v7.7 Конфигурации 1cv7 Россия Платные (руб)

Класс 1С++ для подключения ФИАС (Федеральная информационная адресная система) к любой конфигурации 1С 7.7. Опционально доступно геокодирование адресов и хранение географических координат адресных элементов ФИАС в отдельной БД. В конфигурации, где для ведения адресов используется типовой интерфейс по работе с КЛАДР, встраивается за пару минут.

6000 руб.

15.11.2017    27510    31    71    

29

Розничная торговля Логистика, склад и ТМЦ Пользователь Оперативный учет 7.7 Оперативный учет 1С:Управление торговлей 10 1С:Торговля и склад 7.7 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Обработка служит помощником для распределения товарных запасов между различными складами. В качестве необходимой информации для анализа, руководитель в отчете может наблюдать: 1. Остатки по выбранным складам 2. Продажи с каждого из складов за выбранный период 3. Возможна группировка по свойствам номенклатуры (для УТ10.3)

5900 руб.

08.07.2011    52061    59    2    

34

Файловый обмен (TXT, XML, DBF), FTP Учет документов Распознавание документов и образов Бухгалтер Пользователь Платформа 1С v7.7 Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Конфигурации 1cv7 Россия Платные (руб)

Программный комплекс способный распознавать сотни листов за раз любых сканированных(фото) документов (УПД, ТОРГ12, СФ, паспорт и пр.) и загружать их в любую 1С (БП3.0, УТ, КА, УНФ, УПП, 1С7.7 ТиС, ЗУП3 и пр.), а также формировать архив сканированных документов.<br> Робот применяет до 5 способов распознавания. Максимальное качество загрузки документов из бесплатных OCR. Работает без Интернета.

10800 руб.

13.10.2022    8418    1    12    

9

Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Программист Платформа 1С v8.3 Оперативный учет 7.7 1С:Торговля и склад 7.7 1С:Бухгалтерия 3.0 Бухгалтерский учет Управленческий учет Абонемент ($m)

Обработка и правила обмена данными для выгрузки документов и всех связанных с ними справочников из 1С7.7 ТиС 9.2 в 1С8.3 БП 3.0 через файл XML. В типовых конфигурациях уже есть такое решение. Это немного доработанные правила и сама обработка выгрузки, добавлена возможность устанавливать отбор по выгружаемым документам по Фирме, Контрагенту, Складу, Проекту, Автору, ЮрЛицу. А также это внешняя обработка, что даёт возможность адаптировать её под нетиповую ТиС. Обработка и правила тестировались на платформах: 1С: Предприятие 7.7 и 1С: Предприятие 8.3.18.1334. На типовых конфигурациях: «Торговля + склад», редакция 9.2 (7.70 1004) и «Бухгалтерия предприятия» редакция 3.0 (3.0.96.30).

1 стартмани

13.08.2021    9233    55    Kuzya_brаtsk    8    

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