0. donchess 18 18.01.12 14:50 Сейчас в теме

Обработка "Загрузка данных в электронные весы Digi SM-100"

Обработка "Загрузка данных в электронные весы Digi SM-100" формирует файл с PLU кодами номенклатуры и загружает его в весы.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. grivigen 18.01.12 14:50 Сейчас в теме
Проще и удобнее выгрузку в весы DIGI SM делать через внешнюю компоненту DigiSM.dll. Для 7.7 типа так :
scales=CreateObject("DigiSM.TDigiSM");
scales.IPAddress = IP;
scales.Connect = 1;
scales.InitPLU();
scales.PLUName = NAME;
scales.UnitPrice = PRICE;
scales.EANData = "23"+Article+"000000";
scales.LabelFormat1 = 17;
scales.BarcodeFormat = 5;
scales.WritePLU(CODE);
scales.Connect = 0;
2. donchess 18 19.01.12 01:38 Сейчас в теме
Спасибо. Согласен. Естественно пробовал через .dll. Вернулся к варианту с утилитой.
Под Win7 почему-то подвисает (но утилита работает !?) + как всегда : запуск магазина в конце недели, оборудование разное - разобраться не успел. Подозреваю .dll - поставщик оборудования дал 4 шт., время создания у всех одинаково, но размер файла +- 200 Кб.
3. mnimoprog 15 28.08.12 23:16 Сейчас в теме
А в какой момент происходит выгрузка данных из 1с???
Это работает на wind 7???
4. donchess 18 29.08.12 11:47 Сейчас в теме
(3) mnimoprog,
1.На Win7 - работает.
2.Запись во внешний файл
9. Victorpj 2 23.01.14 13:58 Сейчас в теме
Каким образом выполнить выгрузку номенклатуры из 1С82 с помощью обработки?
Прикрепленные файлы:
10. donchess 18 23.01.14 15:42 Сейчас в теме
(9) Victorpj, Регистрируем весы в торговом оборудовании и выбираем "Выгрузка данных в весы с печатью этикеток"
21. grivigen 17.05.16 16:05 Сейчас в теме
Ну и в догонку для примера на 1с 7.7
Процедура ВыгрузитьНастройкиDigiSM()
	//Текст=СоздатьОбъект("Текст");
	//Текст.Открыть(КаталогИБ()+"F34.DAT");
	ФС.УстТекКаталог(КаталогВременныхФайлов());
	
	scales=CreateObject("DigiSM.TDigiSM");
	
	ТзВесов.ВыбратьСтроки();
	Пока ТзВесов.ПолучитьСтроку() = 1 Цикл
		Если (ТзВесов.Блок <>  1)и((ТзВесов.ТипВесов = Перечисление.Весы.DigiSM100)или( ТзВесов.ТипВесов = Перечисление.Весы.DigiSM300)) тогда
			ErrCode = 0;
			scales.IPAddress =ТзВесов.IP;       
			Попытка 
				scales.Connect = 1; //Сообщить("Выгружаем в весы "+ScalesName+" c IP="+IP);
			Исключение
				Сообщить("Ошибка подключения к весам "+ТзВесов.Наименование+" c IP="+ТзВесов.IP+Симв(10)+
				"Возможно весы выключены или повреждено сетевое оборудование.");
				Продолжить;
				//Возврат;
			КонецПопытки;  
			scales.Font=4; 
			//ТзВесов.ТипВесов = Перечисление.Весы.DigiSM300
			НаимМаг = СокрЛП(СтрЗаменить(НаимМагазина,"і","i"));
			scales.ShopName = ?(ТзВесов.Кодировка = Перечисление.Кодировки.CP866,AnsiToOem(СокрЛП(НаимМаг)),СокрЛП(НаимМаг));	
			
			scales.ShopLabel = 1;   

			
			scales.NumLine = 1;
			scales.Font=2; 
			
			scales.Text = ?(ТзВесов.Кодировка = Перечисление.Кодировки.CP866,AnsiToOem("цiнa"),"цiнa");	
			scales.TextLabel = 1;
			ErrCode = scales.WriteText(1);
			
			
			scales.Text = ?(ТзВесов.Кодировка = Перечисление.Кодировки.CP866,AnsiToOem("вартiсть"),"вартiсть");	
			scales.TextLabel = 2;
			ErrCode = scales.WriteText(2);
			
			scales.Text = ?(ТзВесов.Кодировка = Перечисление.Кодировки.CP866,AnsiToOem("вага"),"вага");	//"вага"
			scales.TextLabel = 3;
			ErrCode = scales.WriteText(3);
			
			scales.Text = ?(ТзВесов.Кодировка = Перечисление.Кодировки.CP866,AnsiToOem("арт"),"арт");	
			scales.TextLabel = 4;
			ErrCode = scales.WriteText(4);
			
			scales.Text = ?(ТзВесов.Кодировка = Перечисление.Кодировки.CP866,AnsiToOem("дiйсн"),"дiйсн");	
			scales.TextLabel = 5;
			ErrCode = scales.WriteText(5);
			
			scales.Text = ?(ТзВесов.Кодировка = Перечисление.Кодировки.CP866,AnsiToOem("запак"),"запак");	
			scales.TextLabel = 6;
			ErrCode = scales.WriteText(6);

			scales.Text = ?(ТзВесов.Кодировка = Перечисление.Кодировки.CP866,AnsiToOem("кiльк"),"кiльк");	
			scales.TextLabel = 7;
			ErrCode = scales.WriteText(7);												
						
			NumRec = 1;
			ErrCode = scales.WriteShopName(NumRec); 
			Если ErrCode <> 0 тогда
				Если ErrCode = 5 Тогда
					сообщить("Ошибка 5: Ошибка записи."); 
				ИначеЕсли ErrCode = 6 тогда	
					сообщить("Ошибка 6: Нет свободной памяти"); 
				Иначе
					сообщить("Ошибка "+ErrCode); 
				КонецЕсли; 
			КонецЕсли;     
			scales.Connect = 0;
			
			// Выгрузка формата этикетки 1 - весовая 2 - штучная -- внутри F34.DAT !!!
			Текст=СоздатьОбъект("Текст");
			Преф = "";
			Если  ТзВесов.ТипВесов = Перечисление.Весы.DigiSM300 Тогда
				Преф = "_sm300";
				Текст.КодоваяСтраница(0);
			Иначе
				Преф = "_sm100";
				Текст.КодоваяСтраница(1);
			КонецЕсли;
			
			Если ФС.СуществуетФайл(КаталогИБ()+"F34"+Преф+".DAT") = 1 Тогда
				Текст.Открыть(КаталогИБ()+"F34"+Преф+".DAT");
			Иначе
				Сообщить("Нет файла "+КаталогИБ()+"F34"+Преф+".DAT - настройки формата этикетки не выгружены !!!");
				Продолжить;
			КонецЕсли;
			


			Текст.Записать(КаталогВременныхФайлов()+"SM"+Прав(ТзВесов.IP,3)+"F34.DAT");
			ФС.КопироватьФайл(КаталогИБ()+"twswtcp.exe",КаталогВременныхФайлов()+"twswtcp.exe",0);  
			КомандаСистемы(КаталогВременныхФайлов()+"twswtcp.exe F34.DAT "+Прав(ТзВесов.IP,3));
		
		КонецЕсли;     
	КонецЦикла;      
	scales=0;
КонецПроцедуры
Показать
13. Shuffler 62 14.01.15 06:50 Сейчас в теме
Работает ли обработка на рознице 2.1
roman3d; seva1405; kuznetcov_pavel@list.ru; +3 Ответить
14. seva1405 28 20.04.15 14:58 Сейчас в теме
Пишет "Не указан файл выгрузки" все сделал по инструкции, в чем может быть проблема?
15. pioneex 21.04.15 13:59 Сейчас в теме
Приветствую. УТ 10.3 (10.3.32.1). Сначала обнаруживает ошибку (в приложенном скриншоте). При повторной выгрузке выходит следующее сообщение: "Невозможно осуществить выгрузку по следующим причинам: Не указан файл выгрузки".
Прикрепленные файлы:
16. seva1405 28 21.04.15 19:10 Сейчас в теме
(15) pioneex, я в этом месте Номенклатура.Наименование поправил на Номенклатура, а вот вторую ошибку так и не победил.
17. donchess 18 22.04.15 21:48 Сейчас в теме
(16) seva1405, см. скриншот - заполнить поле "каталог".
(15) pioneex, я в этом месте Номенклатура.Наименование поправил на Номенклатура - да, в УТ 10.3 передается наименование (спасибо за ответ). Мне досталась пописаная УТ украины, в которую передавалась ссылка на номенклатуру.
19. chesnokov-a-v 99 13.05.16 17:16 Сейчас в теме
Прошу помощи.
Почему-то при печати этикетки на весах Digi SM100 в штихкоде не печатается код товара (т.е. в штрихкоде идут сначала префиксы, потом нули, а должен быть PLU, ну а дальше печатается вес и контрольный символ). Уже и не знаю куда копать.
Пользуюсь этой консольной программой.
Еще видел библиотеку DigiSM.dll, но не могу найти описание к ней, может у кого есть.
20. grivigen 17.05.16 16:01 Сейчас в теме
Давно делал уже может всё и не вспомню, но так по памяти. В весах digi сделано всё весьма заморочно. Вам нужно в программе LabelMaster создать свою этикетку сохранить файлы f34.dat и какой то ещё *.dat. Потом выгрузить это в весы через QloadSM ??? или SIS2002 ??? или как у меня через
twswtcp.exe . Обязательно в виндовом файле c:\Windows\System32\drivers\etc\hosts прописать (свои!!! IP) :
192.168.2.191 S0191
192.168.2.192 S0192
192.168.2.193 S0193
Пример для выгрузки весов S0191 в командной строке набрать twswtcp.exe F34.DAT 191
Причем там есть две этикетки - этикетка чеков и этикетка весового товара - они разные !!!
А еще есть настройки спеков в весах. Вот мои:
|Инструкция по настройке Digi SM100 :
|
| ***************************************************************************  
| Вход в Z - режим -> нажать 4 раза кн. с двумя стрелками 
| Для SPEC : * - вперед,[Номер SPEC][X] - переход,
|            в конце [PLU]  для записи или [->T<-] - отмена   
| ***************************************************************************
| 
| 
| 1) Установить первые три байта IP в Z-режиме :
|      [>0<] + [0][4][1][6]  -> 
|      ввод 3 байт IP xxx.xxx.xxx -> [PLU]
|
| 2) Установить SPEC в Z-режиме:
|      [>0<] + [1][4][1]  
|      
|     SPEC1 = 0 (количество !!!) - печать к-ва для штучной
|     SPEC17 = 1 (ДД-ММ-ГГ)           
|	  SPEC18 - количество строк названия товара при печати чека 
|			 	(0 - 2 строки, 1 - 1 строка) 
|     SPEC37 -  2 (плотность печати)
|	  SPEC38 -  2 (яркость печати)
| 	  SPEC131  = 1 (разрешить печать кол-ва)
|     SPEC135  = IP (уст. последний байт IP)
|	  SPEC137  = выравнивание ингридиентов по центру = 1, не выравнивать = 0 
|     SPEC230  = 1 (автопечать этикетки после вызова PLU)
|	  NB: SPEC230  = 0 - если надо печатать и штучные !!!  	
|     -> * -> [PLU]
| 
| 3) Частичный сброс памяти весов в Z-режиме :
|     [>0<] + [2][3][0] -> 3 раза [X] -> [*] -> [C]
|      
|     м.б. после сброса - Уст режим печати этикеток:
|               [>0<] + кн. с двумя стрелками 
|
| 4) Выключить/включить весы, выгрузить название магазина,
|     выгрузить формат этикетки, выгрузить товар.
Показать


Ну как то так
22. grivigen 17.05.16 16:16 Сейчас в теме
И еще форматы этикеток и штрих кодов в весах идут по номерам
может вам подойдет какая то стандартная этикетка.
У меня:
// формат этикетки 1 = 17 - весовая 18 = 2 - штучная -- внутри F34.DAT !!!
		Если ТЗ.ШтучныйВВесы = 1 тогда
			scales.Weighed = 0;
			scales.BarcodeFormat = 5;
			scales.LabelFormat1 = 18; // 18 штучная
			scales.EANData = "23"+Прав(ТЗ.Артикул,5)+"000000";
		Иначе
			scales.Weighed = 1;
			scales.BarcodeFormat = 5;
			scales.LabelFormat1 = 17;// весовая
			scales.EANData = "23"+Прав(ТЗ.Артикул,5)+"000000";
		КонецЕсли;
Показать
23. PRoman 74 24.08.16 15:56 Сейчас в теме
А как зарегистрировать dll?
При регистрации через regsvr32 пишет "Модуль ... загружено но не удалось выполнить вызов DLLRegisterServer...." Windows 7
24. user619890_igorlint 08.10.16 20:52 Сейчас в теме
А интересно на рознице 2.2 будет работать?
29. st8899 15.03.17 12:43 Сейчас в теме
28. METAL 94 08.12.16 13:33 Сейчас в теме
У кого-нибудь работает на Win8? Win10?
30. SoftIce 40 05.05.17 21:55 Сейчас в теме
Имя ProgId ? (AddIn. ?)

И что делать если часть товара весовые, а часть штучные?
Я так понял у вас только весовой учитывается.
31. user619890_igorlint 05.05.17 22:20 Сейчас в теме
(30)Причем здесь весовой или не весовой. Все зависит от префикса который вы ставите в настройках. обычно это 2 весовой а 1 не весовой.
32. user619890_igorlint 05.05.17 22:22 Сейчас в теме
Да и dll у digi платная. а которая бесплатная она дает регестрировать только 10 товаров и все. )))
36. Cat-Ek 21.03.18 19:14 Сейчас в теме
Скачала. В весах выходят кракозябры вместо русских букв. Что делать? Где-то в весах кодировку задавать?
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Разработчик 1С
Москва
зарплата от 100 000 руб. до 160 000 руб.
Полный день

Программист 1С
Москва
зарплата от 80 000 руб.
Полный день

Консультант-аналитик 1С
Санкт-Петербург
Полный день

Консультант-аналитик 1С
Москва
зарплата от 120 000 руб. до 120 000 руб.
Полный день

Удаленный ИТ-журналист
Санкт-Петербург
По совместительству