Прядченко Александр

9
Рейтинг

chubajs12
Александр Прядченко



  •   Регистрация: 11.03.2012 (12 лет назад)

  •   Был(а) на сайте: 15.04.2024

Подписчики 1

Рейтинг 9

Использование COM весов в 1С на RDP-клиенте

Статья Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free) Нет файла Весы

В статье описана методология подключения COM весов в 1С на RDP-клиенте. В статье нет кода, нет готовых решений, но есть идея, которую можно реализовать самостоятельно.

05.11.2019    8409    chubajs12    18       

9

Комментарии

DevНе печатаются китайские иероглифы#5 16.10.20 8:19
Спасибо за подсказку (4).
Нашел список шрифтов через adobe reader. Понял, что в сохраненном только arial, а при печати набор шрифтов сильно больше.

Оказывается в 1С недостаточно вставить текст определенного шрифта в ячейку. Необходимо в этот шрифт применить на всю ячейку. Если выделить отдельные ячейки под китайский текст и назначить шрифт "PMingLiU.ttf", то при сохранении этот шрифт сохраняется в PDF и все нормально.

Но как всегда есть нюансы:
1. Пришлось отдельно ставить шрифт на клиента
2. Если сделать текст ячейки жирным, то при сохранении в PDF он будет обычным (скорее всего из-за того, что в PDF должен быть сохранен шрифт с жирными буквами, а я его не могу поставить на клиента, т.к. отдельного шрифта нет, а 1С сохраняет то, что нашла в установленных)

Тему можно закрыть
DevНе печатаются китайские иероглифы#3 15.10.20 10:32
(2) Добавить куда?
DevНе печатаются китайские иероглифы#1 15.10.20 9:11
Добрый день.

Столкнулся со следующей проблемой: есть макет с китайскими иероглифами. Стандартно получаю макет в ТабДок, показываю его - все ок. Открытый ТабДок могу распечатать, печать проходит верно, на этикетке есть китайские символы. Печать через принтер "Microsoft Print to PDF" уже открытого ТабДок сохраняет документ правильно.

Но если этот же ТабДок сразу записать в PDF программно, то вместо китайских символов идут квадраты.

Код
   
ТабДокумент = Новый ТабличныйДокумент; 
ТабДокумент = Макет.Получить();
ТабДокумент.АвтоМасштаб = Истина;  

ТабДокумент.Показать();     

ТабДокумент.Записать(ИмяФайлаPdf,"pdf");


Перепробовал разные варианты, но исправить не получается. Кому интересно - образец символов для макета можно взять из PDF. Кто знает решение проблемы опишите пожалуйста.

Прикрепленные файлы:

Через печать.pdf
Через сохранение.pdf
ВКИспользование COM весов в 1С на RDP-клиенте#14 08.11.19 16:14
(12) На самом деле это тоже аналог физического адаптера, которые предлагался выше. Аналог, т.к. есть программа на конечном сервере.
ВКИспользование COM весов в 1С на RDP-клиенте#13 08.11.19 16:02
(12) Отличный вариант, мы его не нашли в свое время.

Но часть проблем остается в нашем случае:
1) На сервере будет множество com-портов. К ним нужно будет обращаться через платные версии драйверов. Бесплатных dll для обращений к нескольким весам на одном устройстве у производителя нет.
2) Клиентские машины с ОС Windows. Мы уже стараемся переводить все на PXE с Linux. В сборку добавляем наш софт и RDP-клиента.
3) При количестве более 20 весов на com-портах на одной машине у нас начинались глюки - периодически устройства отваливались. Возможно, проблема была с драйверами для весов. Возможно в программ-эмуляторе, которую мы использовали. Возможно, еще в чем-то, большего тестирования не делали.

Софт возьму себе на вооружение, возможно, в следующий раз не будем изобретать велосипед.
ВКИспользование COM весов в 1С на RDP-клиенте#10 06.11.19 8:38
(5)
Цитата
универсальный софт
На эту тему подумаем, как правильнее реализовать. Если есть идеи - озвучивайте.

Из трудностей, которые приходят в голову, возникает вопрос в спонтанных телеграммах на устройстве. Если на устройстве генерируется событие, то нужно забрать информацию с устройства.
ВКИспользование COM весов в 1С на RDP-клиенте#9 06.11.19 8:36
(8)
Цитата
скачивается на сайте производителя бесплатная софтинка эмулятора COM-порта
Это то, что я назвал "первый вариант работы". Есть ограничения, плюсы и минусы для такого варианта работы. Но повторюсь, если устройств мало, то это отличный вариант.
ВКИспользование COM весов в 1С на RDP-клиенте#7 06.11.19 8:17
(6) Если я правильно понимаю, то при использовании любого преобразователя порта есть два варианта работы:
- либо эмуляция com устройства на конечном сервере через доп.софт от эмулятора,
- либо работа по ethernet.

Первый вариант ограничивает нас на использование большого количества устройств, т.к. мы переносим устройства на конечный сервер "физически". Проверено 100500 раз, если на сервере более 20 com устройств - они начинают вылетать. Но нужно уточнить с каким com портом будет подключаться устройство, а то можно навзвешивать на других весах. Но если устройств мало, то использовать адаптер - отличный вариант.

Второй вариант подразумевает, что штатным драйвером мы не можем воспользоваться, т.к. нет com устройства на сервере. Переписывать драйвер на использование com команд через ethernet все равно нужно. И зачем городить огород с железкой, если все-равно писать драйвер?
ВКИспользование COM весов в 1С на RDP-клиенте#2 05.11.19 13:22
(1) Чаще всего такие весы уже есть и уже стоят подключенными к компьютеру. Покупать на каждые весы еще адаптер - нужно финансирование выбить. Сразу возникают вопросы: "Зачем? Оно же сейчас и так работает!" И если покупать что-то, то проще купить RUEW весовой терминал, по деньгам 6840 рублей.

В предложенном решении покупать ничего не нужно. Оборудование может ломаться, какая вероятность поломки софта?

Цитата
Если мутить это через Интернет

Попробуйте организовать на предложенном вами адаптере VPN или белый IP на нескольких устройствах - на мостик встать проще. С компьютером это сделать гораздо проще, т.к. на нем полноценная ОС.

Для определенных условий использование адаптеров - это отлично. Но предложенным способом при необходимости можно любое устройство пробросить в облако, организовав на локальном компьютере шлюз через http соединение.
ВКИспользование COM весов в 1С на RDP-клиенте#0 05.11.19 11:20
В статье описана методология подключения COM весов в 1С на RDP-клиенте. В статье нет кода, нет готовых решений, но есть идея, которую можно реализовать самостоятельно.