|
v7: Подключение весов Dibal | ☑ | ||
---|---|---|---|---|
0
kupec
26.04.23
✎
18:23
|
Доброго всем дня. Кто-нибудь подружил данные весы с 7.7, есть ли опыт?
https://www.datakrat.ru/hardware/vesi-elektronnie/vesi-torgovie/vesi-s-pechatyu-etiketok/vesi-torgovie-s-pechatyu-etiketok-dibal-serii-500#ПО На сайте есть пример и описание (Для восьмерки), скачал, установил, вроде как все запустилось...но при подаче команды записи PLU в весы, 1С рушится с ошибкой. Буду рад любой помощи (Кроме Переходите на восьмерку). Заранее спасибо |
|||
1
NorthWind
26.04.23
✎
19:12
|
А для других языков нет? Может, по COM стукнуться к ним?
|
|||
2
trdm
26.04.23
✎
21:05
|
(0) > (Кроме Переходите на восьмерку)
пф. просто сделай из v8 шлюз и все.. |
|||
3
Волшебник
26.04.23
✎
21:09
|
(2) Интересная архитектура...
|
|||
4
АгентБезопасной Нацио
27.04.23
✎
08:54
|
"ТЕЛЕКАРГА" - говорящее название...
(0) ну там же есть возможность работать как с веб-сервером - и чего тебе еще надо? |
|||
5
kupec
27.04.23
✎
10:27
|
(4) а как им воспользоваться? Веб сервер в самих весах?
|
|||
6
kupec
27.04.23
✎
10:34
|
(1) по COM не интересно, так как весы в торговом зале будут, на витрине
|
|||
7
АгентБезопасной Нацио
27.04.23
✎
10:58
|
(4) ну написано же "встроенный веб-сервер (опция)" - если есть опция, значит пользуйся.
так еще и коммуникационный драйвер есть в комплекте, и SDK, и обработки. смотри как работают в снеговике, делай так же в клюшках. Не работает снеговиковая обработка - смотри SDK и работай через драйвер |
|||
8
kupec
27.04.23
✎
11:15
|
Вот если бы кто поделился коммуникационным драйвером. Было бы очень полезно. Так как весы приобрели Б/У, то соответственно никакой документации и никакого ПО НЕТ.
|
|||
9
Kigo_Kigo
27.04.23
✎
11:20
|
(8) Там обработка для восьмрки, адаптиру ее под 7, в чем проблема, для начала выполни вот это
Функция СоздатьОбъектДрайвера() // Инициализация переменных ОбъектВесы = Неопределено; Драйвер = Неопределено; ОписаниеОшибки = ""; // Получение значений параметров ПараметрыОбъекта = Новый Структура; ПараметрыОбъекта.Вставить("Весы", Весы); Попытка ПрогИД = "dklink.Dibal1CDriver"; ПодключитьВнешнююКомпоненту(ПрогИД); Драйвер = Новый COMОбъект(ПрогИД); Исключение ОписаниеОшибки = "Невозможно подключить внешнюю компоненту. | Проверьте, что внешняя компонента корректно установлена и имеет ту же версию, | что и требуемая обработкой обслуживания."; КонецПопытки; ОбъектВесы = Новый Структура("Параметры, Драйвер, ОписаниеОшибки", ПараметрыОбъекта, Драйвер, ОписаниеОшибки); Возврат ОбъектВесы; КонецФункции // СоздатьОбъектДрайвера() |
|||
10
Kigo_Kigo
27.04.23
✎
11:24
|
точнее вот это
Функция СоздатьОбъектДрайвера() ПутьК_ДЛЛ = "ПутьК ДЛЛ"//если закинуть в Базу или BIN, то просто имя длл Попытка ПодключитьВнешнююКомпоненту(ПутьК_ДЛЛ);//Тоже не обязательно, можно и без этой строчки если ДЛЛ зарегана ДрайверВесов = СоздатьОбъет("dklink.Dibal1CDriver"); Исключение ОписаниеОшибки = "Невозможно подключить внешнюю компоненту. | Проверьте, что внешняя компонента корректно установлена и имеет ту же версию, | что и требуемая обработкой обслуживания."; КонецПопытки; Возврат ДрайверВесов ; КонецФункции // СоздатьОбъектДрайвера() |
|||
11
Kigo_Kigo
27.04.23
✎
11:51
|
Выполнил вот это в семерке
Процедура Сформировать() Попытка ДрайверВесов = СоздатьОбъект("dklink.Dibal1CDriver"); Сообщить(ДрайверВесов.ОписаниеРезультата); Исключение Сообщить("Невозможно подключить внешнюю компоненту"); КонецПопытки; КонецПроцедуры Получил сообщение "Невозможно загрузить настройки весов" Так что все работает в семерке - дерзай, там ничего сложного повыдергивать из восьметки |
|||
12
Kigo_Kigo
27.04.23
✎
11:34
|
"Невозможно загрузить настройки весов" - это мне уже сам драйвер ответил
|
|||
13
kupec
27.04.23
✎
11:36
|
ВесыДибал=СоздатьОбъект("dklink.Dibal1CDriver");
ВесыДибал.Действие = "M"; ВесыДибал.НомерВесов = 0; ВесыДибал.ПЛУ = 1; Сообщить(ВесыДибал.ПЛУ); ВесыДибал.ПрямаяКнопка = 1; ВесыДибал.Название = "1"; ВесыДибал.Цена = 99.99; ВесыДибал.Секция = 1; ВесыДибал.СрокГодности = 30; ВесыДибал.EAN = "2200001HHHHH"; ВесыДибал.Тип = 0; ВесыДибал.Ингредиенты = "2"; ВесыДибал.Цена2 = 99.99; ВесыДибал.Название2 = "3"; Сообщить(1); ВесыДибал.SetRecord(); Вот код обработки. Вылетает на ВесыДибал.SetRecord() Вот ошибка Сигнатура проблемы: Имя события проблемы: APPCRASH Имя приложения: 1cv7s.exe Версия приложения: 7.70.0.27 Отметка времени приложения: 4573fcd8 Имя модуля с ошибкой: StackHash_d959 Версия модуля с ошибкой: 6.1.7601.18798 Отметка времени модуля с ошибкой: 5507b3e0 Код исключения: c0000374 Смещение исключения: 000cea0b Версия ОС: 6.1.7601.2.1.0.256.1 Код языка: 1049 Дополнительные сведения 1: d959 Дополнительные сведения 2: d959d9be57f44fba1621a6fd303307cf Дополнительные сведения 3: eae1 Дополнительные сведения 4: eae1c098fc88e2bbe0027853ca725918 |
|||
14
Kigo_Kigo
27.04.23
✎
11:37
|
Функция Выгрузить(ОбъектВесы, PLU, КодТовара, Наименование, Цена)
Результат = Истина; пКодТовара = 0; Если ТипЗнч(КодТовара) = Тип("Строка") Тогда пКодТовара = Прав(КодТовара, 5); Иначе пКодТовара = КодТовара; КонецЕсли; ОбъектВесы.Драйвер.НомерВесов = ОбъектВесы.Параметры.Весы; ОбъектВесы.Драйвер.Действие = "A"; // A – добавление, М – изменение, B – удаление (латинские буквы) ОбъектВесы.Драйвер.ПЛУ = PLU; ОбъектВесы.Драйвер.ПрямаяКнопка = ?(PLU>999, 999, PLU); ОбъектВесы.Драйвер.Название = ?(СтрДлина(СокрЛП(Наименование)) > 20, Лев(СокрЛП(Наименование), 20), СокрЛП(Наименование)); ОбъектВесы.Драйвер.Название2 = ?(СтрДлина(СокрЛП(Наименование)) > 20, Сред(СокрЛП(Наименование), 21, 20), ""); ОбъектВесы.Драйвер.Тип = 0; // 0 – весовой, 1 – штучный ОбъектВесы.Драйвер.Секция = 50; // (целое) – номер секции, настроенный в весах ОбъектВесы.Драйвер.ФорматЭтикетки = 1; // (целое) – номер формата этикетки, который должен печататься для данного товара (настраивается в весах) ОбъектВесы.Драйвер.Цена = Формат(Цена, "ЧЦ=15; ЧДЦ=2; ЧН=0; ЧГ=0"); // (вещественное) – дополнительная цена ОбъектВесы.Драйвер.СрокГодности = ""; // (строка) – значение в днях (например, 30), либо конкретная дата в формате «dd/MM/yyyy» ОбъектВесы.Драйвер.Тара = 0; // (вещественное) – вес упаковки (тары) товара ОбъектВесы.Драйвер.EAN = "2" + Формат(ПрефиксВТ, "ЧЦ=1") + Формат(Число(пКодТовара),"ЧЦ=5; ЧГ=0; ЧВН=") + "HHHHH" ; // (строка) – штрихкод товара, для весового товара символ «H» - заполнитель веса, например, «2212345HHHHH», для штучного товара – все 12 символов ШК (контрольная цифра вычисляется весами) ОбъектВесы.Драйвер.Ингредиенты = ""; // (строка) – состав товара без переносов, до 1024 символов ОбъектВесы.Драйвер.УстановитьЗапись(); Если ПерехватОшибки(ОбъектВесы) Тогда ОбъектВесы.ОписаниеОшибки = ОбъектВесы.Драйвер.ОписаниеРезультата; Результат = Ложь; КонецЕсли; Возврат Результат; КонецФункции // Выгрузить() |
|||
15
Kigo_Kigo
27.04.23
✎
11:38
|
(13) Пробуй
УстановитьЗапись() |
|||
16
Kigo_Kigo
27.04.23
✎
11:38
|
а не SetRecord();
|
|||
17
Kigo_Kigo
27.04.23
✎
11:38
|
тыж с 1с-ной компонентой работаешь
|
|||
18
Kigo_Kigo
27.04.23
✎
11:40
|
и да почему ВесыДибал.Действие = "M";? пробуй для начала "A"латинская
|
|||
19
kupec
27.04.23
✎
11:42
|
(15) Я пробовал и то и то. Результат один и тот же
(18) Пробовал, все тоже самое |
|||
20
Kigo_Kigo
27.04.23
✎
11:50
|
+ я надеюсь ты копоненту запустил и настроил весы, что бы они виделись?
После ВесыДибал=СоздатьОбъект("dklink.Dibal1CDriver"); Напиши Сообщить(ВесыДибал.ОписаниеРезультата) Что пишет? |
|||
21
kupec
27.04.23
✎
11:48
|
Вот код
ВесыДибал=СоздатьОбъект("dklink.Dibal1CDriver"); ВесыДибал.Действие = "П"; ВесыДибал.НомерВесов = 0; ВесыДибал.ПЛУ = 1; ВесыДибал.ПрямаяКнопка = 1; ВесыДибал.Название = "1"; ВесыДибал.Цена = 99.99; ВесыДибал.Секция = 1; ВесыДибал.СрокГодности = 30; ВесыДибал.EAN = "2200001HHHHH"; ВесыДибал.Тип = 0; ВесыДибал.Ингредиенты = "2"; ВесыДибал.Цена2 = 99.99; ВесыДибал.Название2 = "3"; ВесыДибал.УстановитьЗапись(); //Сообщить(ВесыДибал.Результат); //Сообщить(ВесыДибал.ОписаниеРезультата);Возврат; //ВесыДибал.SetRecord(); //Сообщить(Результат); Если ВесыДибал.Результат <> 0 Тогда Сообщить("Код " + ВесыДибал.Результат + ". " + ВесыДибал.ОписаниеРезультата); Сообщить("НЕ Успех!"); Иначе Сообщить("Успех!"); КонецЕсли Вот результат Код 2. Указанное значение Action(Действие) ("П") недопустимо. Строка должна состоять из одного латинского символа: A, M или B НЕ Успех! Т.е. драйвер отработал. Именно ошибка при связи с весами с правильными параметрами. Пробую телнет на порт и адрес весов, связь проходит. В конфигурацию весы добавил. |
|||
22
Kigo_Kigo
27.04.23
✎
11:50
|
kupec Так тебе черным по белому написано где косячиш, какое нахер действие "П" ?
ОбъектВесы.Драйвер.Действие = "A"; // A – добавление, М – изменение, B – удаление (латинские буквы) |
|||
23
kupec
27.04.23
✎
11:55
|
Ты спросил, запустил ли я компоненту, я сделал не правильное действие, компонента вернула ошибку. Я нашел способ показать это. Естественно код у меня вот такой
ВесыДибал=СоздатьОбъект("dklink.Dibal1CDriver"); ВесыДибал.Действие = "A"; ВесыДибал.НомерВесов = 1; ВесыДибал.ПЛУ = 1; ВесыДибал.ПрямаяКнопка = 1; ВесыДибал.Название = "1"; ВесыДибал.Цена = 99.99; ВесыДибал.Секция = 1; ВесыДибал.СрокГодности = 30; ВесыДибал.EAN = "2200001HHHHH"; ВесыДибал.Тип = 0; ВесыДибал.Ингредиенты = "2"; ВесыДибал.Цена2 = 99.99; ВесыДибал.Название2 = "3"; ВесыДибал.УстановитьЗапись(); //Сообщить(ВесыДибал.Результат); //Сообщить(ВесыДибал.ОписаниеРезультата);Возврат; //ВесыДибал.SetRecord(); //Сообщить(Результат); Если ВесыДибал.Результат <> 0 Тогда Сообщить("Код " + ВесыДибал.Результат + ". " + ВесыДибал.ОписаниеРезультата); Сообщить("НЕ Успех!"); Иначе Сообщить("Успех!"); КонецЕсли Рушится на УстановитьЗапись() |
|||
24
kupec
27.04.23
✎
11:57
|
Кстати, вчера видно поправил настройки на неправильный порт. Рушилась именно 1cv7s.exe
Сейчас поставил правильный порт. Рушится компонента дибала - Dibalscop.dll Имя события проблемы: BEX Имя приложения: 1cv7s.exe Версия приложения: 7.70.0.27 Отметка времени приложения: 4573fcd8 Имя модуля с ошибкой: Dibalscop.dll Версия модуля с ошибкой: 1.0.1.8 Отметка времени модуля с ошибкой: 50a3af7f Смещение исключения: 000167d4 Код исключения: c000000d Данные исключения: 00000000 Версия ОС: 6.1.7601.2.1.0.256.1 Код языка: 1049 Дополнительные сведения 1: 94fc Дополнительные сведения 2: 94fc35ab386fed6b39274d8a27976297 Дополнительные сведения 3: 3c41 Дополнительные сведения 4: 3c41ca99f18e2e2b6721dfdf75350593 Ознакомьтесь с заявлением о конфиденциальности в Интернете: http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0419 Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом: C:\Windows\system32\ru-RU\erofflps.txt |
|||
25
Kigo_Kigo
27.04.23
✎
11:58
|
(23) пробуй передавать не числа, а строки, многие компоненты этим грешат, не понимают числа как таковые, они их сами по идее форматят
ВесыДибал=СоздатьОбъект("dklink.Dibal1CDriver"); ВесыДибал.Действие = "A"; ВесыДибал.НомерВесов = "1"; ВесыДибал.ПЛУ = "1"; ВесыДибал.ПрямаяКнопка = "1"; ВесыДибал.Название = "1"; ВесыДибал.Цена = "99.99"; ВесыДибал.Секция = "1"; ВесыДибал.СрокГодности = "30"; ВесыДибал.EAN = "2200001HHHHH"; ВесыДибал.Тип = "0"; ВесыДибал.Ингредиенты = "2"; ВесыДибал.Цена2 = "99.99"; ВесыДибал.Название2 = "3"; |
|||
26
Kigo_Kigo
27.04.23
✎
11:59
|
тут надо смотреть мануал по формату передачи значений
|
|||
27
kupec
27.04.23
✎
12:00
|
||||
28
kupec
27.04.23
✎
12:01
|
Инструкция
https://dropmefiles.com/ggD7Y |
|||
29
Kigo_Kigo
27.04.23
✎
12:09
|
Давай для начала уберем лишнее, и у тебя кривой ЕАН 13, еще надо поиграться с разделителем в цене точка или запятая
ВесыДибал.НомерВесов = 1; ВесыДибал.Действие = "A"; // A – добавление, М – изменение, B – удаление (латинские буквы) ВесыДибал.ПЛУ = 1; ВесыДибал.ПрямаяКнопка = 1 ВесыДибал.Название = "Весы 1"; ВесыДибал.Название2 = ?""; ВесыДибал.Тип = 0; // 0 – весовой, 1 – штучный ВесыДибал.Секция = 1; // (целое) – номер секции, настроенный в весах ВесыДибал.ФорматЭтикетки = 1; // (целое) – номер формата этикетки, который должен печататься для данного товара (настраивается в весах) ВесыДибал.Цена = 99.99; // (вещественное) – дополнительная цена ВесыДибал.СрокГодности = ""; // (строка) – значение в днях (например, 30), либо конкретная дата в формате «dd/MM/yyyy» ВесыДибал.Тара = 0; // (вещественное) – вес упаковки (тары) товара ВесыДибал.EAN = "4894001572750" ОВесыДибал.Ингредиенты = ""; // (строка) – состав товара без переносов, до 1024 символов |
|||
30
Kigo_Kigo
27.04.23
✎
12:09
|
+ Название имхо должно совпадать с название ПЛУ в драйвере
|
|||
31
Kigo_Kigo
27.04.23
✎
12:15
|
ВесыДибал.Название = "Весы 1";
|
|||
32
kupec
27.04.23
✎
12:22
|
(31) дык это название товра
//" ScaleNumber/НомерВесов (целое) - логический номер весов //" Action/Действие (строка) - A - добавление, М - изменение, B - удаление (латинские буквы) //" PLU/ПЛУ (целое) - уникальный номер товара в весах (от 1 до 999 999) //" DirectKey/ПрямаяКнопка (целое) - код клавиши для весов самообслуживания (от 1 до 999) //" Price/Цена (вещественное) - цена товара //" Name/Название (строка) - название товара (20 символов) //" Name2/Название2 (строка) - дополнительное название товара (20 символов) //" Type/Тип (целое) - тип товара, 0 - весовой, 1 - штучный //" Section/Секция (целое) - номер секции, настроенный в весах //" LabelFormat/ФорматЭтикетки (целое) - номер формата этикетки, который должен печататься для данного товара (настраивается в весах) //" Price2/Цена2 (вещественное) - дополнительная цена //" ExpiryDate/СрокГодности (строка) - значение в днях (например, 30), либо конкретная дата в формате "dd/MM/yyyy" //" Tare/Тара (вещественное) - вес упаковки (тары) товара //" EAN/EAN (строка) - штрихкод товара, для весового товара символ "H" - заполнитель веса, например, "2212345HHHHH", для штучного товара - все 12 символов ШК (контрольная цифра вычисляется весами) //" Ingredient/Ингредиенты (строка) - состав товара без переносов, до 1024 символов |
|||
33
Kigo_Kigo
27.04.23
✎
12:23
|
(32) а ну хер с ним, как в (29) что то получилось?
|
|||
34
kupec
27.04.23
✎
12:28
|
ВесыДибал=СоздатьОбъект("dklink.Dibal1CDriver");
ВесыДибал.Действие = "A"; ВесыДибал.НомерВесов = 1; ВесыДибал.ПЛУ = 1; ВесыДибал.УстановитьЗапись(); Если ВесыДибал.Результат <> 0 Тогда Сообщить("Код " + ВесыДибал.Результат + ". " + ВесыДибал.ОписаниеРезультата); Сообщить("НЕ Успех!"); Иначе Сообщить("Успех!"); КонецЕсли Оставил вот так, все равно вылет |
|||
35
MWWRuza
27.04.23
✎
14:05
|
Ну, если так сложно с обменом с весами непосредственно из 1с77(все может быть, хотя...), то может пойти "другим путем" - ?
Вы говорите, есть родное ПО: 1. DFS (Dibal Friendly Software) А в нем нет случаем импорта базы товаров из какого-то "нормального" формата? Ну, типа, txt, csv, xls, xlsx, dbf, xml - ? Практически во всех утилитах, всех производителей, так или иначе, такое предусмотрено(Ваши конкретные - не видел ни разу, х.з... Но, должно что-то быть). Можно, как минимум на первое время, пока с драйвером не разрулите, создавать файл импорта из 1с, загружать его в родной софт, и уже с помощью него грузить в весы? В некоторых утилитах, бывает даже предусмотрен режим "автоматического загрузчика" - появился файл в каталоге обмена, прога его увидела, загрузила в весы и удалила... |
|||
36
kupec
27.04.23
✎
14:27
|
(35) Согласен, но вот где достать этот софт. Написал в датакрат, они молчат, на сайте не скачивается, или может я просто не нашел, как это делается
|
|||
37
NorthWind
27.04.23
✎
14:35
|
(36) на олегоне в обменнике не смотрели? Там у них много добра, и на довольно редкие вещи встречается.
|
|||
38
NorthWind
27.04.23
✎
14:38
|
Ну да, есть чего-то. https://storage.olegon.ru/supermag/index.php?dir=Оборудование%2FВесы%2FDibal%2F
|
|||
39
kupec
27.04.23
✎
14:38
|
||||
40
kupec
27.04.23
✎
14:39
|
Ну тоже самое ))) вчера там лазил, нашел только мануал, саму программу не нашел
|
|||
41
NorthWind
27.04.23
✎
14:43
|
а в корне вот эта самая DFS лежит, про которую выше писали, рар-архив на 400 метров?
И SDK там же? |
|||
42
kupec
27.04.23
✎
14:50
|
может там интересно и Коммуникационный драйвер для Windows. Но что то не могу найти
|
|||
43
NorthWind
27.04.23
✎
14:54
|
(42) После папок 4-й файл сверху это SDK, 3-й это DFS.
DFS помимо себя ставит кучу хлама - дрова для доступа к базам Access 2007, MySQL и еще что-то. На вид штука дико громоздкая, поэтому я бы начал с SDK |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |