28 октября 2019

Проброс COM портов через TCP/IP с помощью Virtual Serial Ports Emulator (Windows)

Проброс COM портов через TCP/IP с помощью Virtual Serial Ports Emulator (Windows) от компании Eterlogic . Простой пример настройки. Альтернатива стандартному маппингу com портов средствами Windows через RDP.
Всем доброго времени суток.
Столкнулся с проблемой плохой стабильности маппинга com портов через RDP. Казалось бы, все должно работать замечательно, к тому же у клиента всего 4 магазина, стабильный интернет (как на сервере, так и на точках). Но к сожалению, работало все крайне паршиво. Схема классическая, ут 10.3 на терминальном сервере и фискальные регистраторы на клиентах. Все стандартно, настроили фискальники и пробросили com порты стандартными средствами windows. Но работники магазинов стали часто жаловаться на зависания, не возможность пробить чек или на странные магические проблемы частичного пробития чека или страшного слова "Драйвер ФР не загружен". Все эта ситуация мне совершенно не нравилась, и я решил реализовать проброс com портов через интернет. Пришлось погуглить. Я нашел несколько решений, но самым лучшим для меня оказалось решение от компании Eterlogic программа Virtual Serial Ports Emulator (далее VSPE). Задуманную мной схему удалось сделать за пару дней (анализ, настройка, тестирование и боевой выход). 
Долго вести свое повествование я не буду. Все довольно просто и понятно. Есть несколько нюансов. Данный продукт бестлатный для Windows с архитектурой х86 и платный для х64.
Стоит $24.95 плюс коммисия магазина.
Программу я купил, но пользоватся версией для х64 можно и без ключа. Просто постоянно выскакивает предложение купить программу. Других ограничений (по времени работы или функционалу) я не увидел. Мне не нравилось постоянно выскакивающее сообщение о покупке и для пользователей это лишняя информации и лишнее действие по закрытию окошка. Купленный ключ можно использовать на нескольких копиях (как я понял неограниченно).
Петь дифирамбы о качестве и возможностях я не буду. Вся информация есть в интернете. Опишу свой пример настройки. 
Итак.
Дано:
  • 4 магазина
  • 4 фискальных регистратора
  • 4 кассовых компьютера
  • 1 сервер терминалов
Задача:
  • Пробросить com порты фискальных регистраторов через интернет.
Настройка VSPE на сервере.
Устанавливаем VSPE на сервер и запускаем (в настройках я выбрал русский язык). После нужно создать виртуальные порты (для каждой кассы свой порт). Номера портов лучше взять пониже, дабы избежать проблем. У нас 4 кассы, поэтому я создаю 4 виртуальных порта (29,30,31,32). Эти порты и будут указаны в настройках касс в 1С. Нажимаем на кнопку "создать новое устройство". Тип устройства "connector". 
Дальше указываем номер нашего нового виртуального порта
После жмем готово.
По аналогии создаем требуемое количество com портов. Идея в том, что этот виртуальный порт будет связывается с реальным com портом кассы магазина.
После мы должны определиться по с адресами. На магазинах у нас должны быть статические ip. Каждый виртуальный порт у нас станет tcp клиентом и будет подключатся к tcp серверу, который будет настроен на компьютере кассы магазина. Поэтому здесь нужно быть внимательным. Мы имеем 4 статических внешних адреса магазинов. Важно понимать, что просто подключится по ip мы не можем. Нужно указать порт tcp server. Продумать номер мы можем заранее. Я решил просто, номера портов складываются следующим образом. 
10хх - где хх номера виртуальных портов, которые будут подключаться к реальному com порту (tcp серверу). Каждый виртуальный порт я отнес соответственно магазину, как мне было удобно (т.е. com29 у меня магазин №1, com30 - магазин №2 и т.д.)
В итоге подучилось 4 адреса:
ххх.ххх.ххх.ххх:1029
ххх.ххх.ххх.ххх:1030
ххх.ххх.ххх.ххх:1031
ххх.ххх.ххх.ххх:1032
ххх.ххх.ххх.ххх - внешний статических адрес магазина. 
Важно продумать эти параметры, чтобы спокойно и удобно настраивать серверную часть.
Идем дальше. Настраиваем подключение tcp клиента. Добавляем новое подключение с типом "tcp client"
Далее
По аналогии делаем все виртуальные порты.
Дальше нужно сохранить наши подключения в файл. Нажимаем сохранить, указываем имя файла и путь.
Данный файл с подключением мы должны запускать при каждом старте Windows. Сделать это очень просто, нужно создать ярлык вида "C:\Program Files\Eterlogic.com\Virtual Serial Ports Emulator\VSPEmulator.exe" -minimize -hide_splash c:/****.vspe
c:/****.vspe - путь к сохраненному файлу. Созданный ярлык помещаем в автозагрузку пользователя (не стартанет если пользователь не зайдет в систему, как настроить службу написано в справке). Программа стартанет в трее.
Естественно клиентская часть у нас не настроена, соответственно созданные подключения tcp client будут ругаться и ждать инициализации. 
Результат настройки на сервере (статус "ОК", т.к. все уже настроено)
Настройка клиентской части.
Устанавливаем VSPE. Настраиваем. Здесь уже клиентская машина будет выступать в роли tcp сервера.
Добавляем новое подключение с типом "tcp server"
Жмем готово. Подключение создано. Нужно обязательно сохранить данное подключение. Нажимаем кнопку сохранить, указываем имя файла и выбираем путь. 
Данный файл с подключением мы должны запускать при каждом старте Windows. Сделать это очень просто, нужно создать ярлык вида "C:\Program Files\Eterlogic.com\Virtual Serial Ports Emulator\VSPEmulator.exe" -minimize -hide_splash c:/****.vspe
c:/****.vspe - путь к сохраненному файлу. Созданный ярлык помещаем в автозагрузку. Программа стартанет в трее.
Следующим шагом нужно на маршрутизаторе магазина сделать проброс.
192.168.х.х:10хх ->ххх.ххх.ххх.ххх:10хх (порты 10хх одинаковые).
После проброса все должно заработать. Статус соединения "ОК"
После меняем настройки 1С на наши виртуальные порты. Делаем тестирование.
P.S. Ваш голос будет лучшей благодарностью для меня.

25 октября 2019

1C начало

Можете также посмотреть видеоуроки Евгения Гилева и Фарида Насипова курс "1С Программист - Быстрый старт в профессию"(скачать) либо курс "Программирование в 1С 8.3 - за 21 день".(скачать)

Стоит отметить, что вам важно знать в первую очередь предметную область(бухучет или торговлю). Программированием конечно стоит заниматься и знать,например, как написать обработку, наваять формочку. Но все же в первое время от вас не попросят создать конфигурациюс нуля, а скорее всего вы будете допиливать уже имеющиеся конфигурации по требованию заказчика. При общении с клиентом у вас будут возникать недопонимание того, что вас просят сделать. Вот что вам в этом поможет (желательный минимум):

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

Сканирование Win2012R2 terminal

И так для того что бы настроить пользователям сканирование на терминальной ферме, нам нужно создать новую коллекцию для сканирования, соответственно сервер должен быть на windows server 2012 или 2012 R2.
Далее нам нужно создать свои папки драйверов для сканеров, у меня использовались в основном МФУ компании HP, про другие модели не чего не скажу, ну думаю принцип тот же, поясню как создать свой драйвер пак для сканера HP LaserJet 1536 mfp.

1. Качаем полный набор драйверов с офф сайта для системы windows 8.1
2. Распаковываем его в ручную с помощью winrar например
3. Ищем INF файл отвечающий за установку сканера, в нашем примере это файлик hppasc16.inf, объясняю почему именно он, если его открыть то можно понять по строчке «HP LJ M1530 MFP Series Scan» что это INF файл связанный со сканером, но нас интересует в нем не эта строчка, а вот эта «vid_03f0&pid_012a&IP_SCAN», и из этого же файла можно понять какие dll и cab нам нужны для установки.
4. Так же находим программку «hpbniscan64.exe» ее можно использовать и для установке других моделей сканеров HP хотя в других драйверах я ее не нашел, она будет прикреплена к данной теме.
5. Теперь нам нужно составить строчку установки драйвера, выглядеть она будет так: «hpbniscan64.exe -f «hppasc16.inf» -m «vid_03f0&pid_012a&IP_SCAN» -a «192.168.1.229» -n 1″, да запускать CMD нужно с правами Администратора
6. Смотрим в диспетчере задач появления нового сканера, ура он там появился, теперь что бы пользователи не путались где чей сканер нам нужно его переименовать, это делается в реестре, я например брал и просто вбивал поиск данного IP сканера, он находил как правило это папочка с номером например «0001» выделяем ее и ищем параметр «DriverDesc» и «FriendlyName» и меняем их на понятные для пользователя названия, например «Сканер Иванова», перезагружаем сервер и воля все программы сканирования будут видит его как «Сканер Иванова»

P.S. Сталкнулся с МФУ 1214 долго не мог понять откуда выдрать «vid_03f0&pid_012a&IP_SCAN», так как перерыв все inf файлы такого не на рыл, но потом методом проб и ошибок выяснил, что для данной МФУ строчка выглядит так «WiaScanner.Scanner» так что дерзайте, все работает на ура пользаки рады)))))

ЗЫЗЫ:
WIA на Windows 2012 R2
Добрый день, коллеги!

Столкнулся с такой проблемой: не получается включить поддержку WIA(Windows Image Acquisition) в Windows 2012 R2
на серверах 2003-2008 всё решалось установкой расширений рабочего стола.
но с 2012 сервером всё не так. В нём есть расширение работы с мультимедиа. Установил его. Перезагрузился. wia по прежнему не доступна.

необходимо добавить компоненту "Возможности рабочего стола". после этого в системной папке появляется оснастка сканирования C:\Windows\System32\wiaacmgr.exe и WIA библиотеки. 

16 октября 2019

PgTune — настройка производительности PostgreSQL для заданной аппаратной конфигурации (онлайн версия)

Еще в 2008 году Грегори Смит создал хорошую утилиту pgtune. Основной задачей этой утилиты было помочь новичкам с начальной настройкой PostgreSQL. Утилита отличная, но обладает небольшими минусами:


  • Не обновляется с 2009 года (поэтому расчеты немного уже не актуальны стали)
  • Нужно скачивать или устанавливать с пакетов (не проблема, во многих Linux дистрибутивах она есть)


Поэтому я создал онлайн версию PgTune. Основные плюсы:

  • Обновлен подсчет конфига
  • Не нужно ничего ставить или качать
  • Работает в offline режиме, и из-за этого может использоваться как mobile app


При первой загрузке больше Вам не потребуется доступ к интернету (только за обновлениями), чтобы использовать утилиту. Реализовано это и использованием AppCache технологии. Что бы поставить её как приложение на мобильный, достаточно зайти в iOS Safari или Chrome Android и выбрать пункт меню «Добавить на рабочий стол».

Ну и самое главное — утилита Open Source.

В заключение, хочу предупредить, что данная утилита не является «серебряной пулей» в настройке и тюнинге PostgreSQL. Многие настройки зависят не только от аппаратной конфигурации, но и от размера базы данных, числа клиентов и сложности запросов, так что оптимально настроить базу данных возможно только учитывая все параметры системы и приложения (например учитывать, SSD диски и влезает ли база в память). Но надеюсь эта утилита поможет начать настройку PostgreSQL.

https://pgtune.leopard.in.ua/#/

07 октября 2019

SDXC

Для многих не секрет, что память своего Andrid-смартфона можно увеличить с помощью Micro SD карты. В данный момент эти карты делятся на три категории: Micro SD, Micro SDHC и Micro SDXC. В данной статье я не буду вдаваться в подробности каждого типа карт, т.к. данной информации достаточно в сети. Укажу лишь разницу принципиальную для нас. Карты Micro SD могут быть максимальным объёмом до 2 Гб, Micro SDHC от 4 Гб до 32 Гб (сейчас массово используются) и Micro SDXC от 64 Гб и до 2 Тб (теоретически, практически на данный момент есть карты 64 Гб и 128 Гб). Карты отличаются не только объёмом памяти, но и различными файловыми системами. Например Micro SD - система FAT, Micro SDHC - FAT32, Micro SDXC - теоретически только exFAT (на самом деле это не так, о чём ниже и пойдёт речь). К тому же устройство пользователя для чтения карт должно поддерживать определённый вид карт. Ситуация проста: если устройство поддерживает карты SDXC, то оно поддерживает и более ранние поколения - SD и SDHC.

В последнее время появилось достаточно много Micro SD карт объёмом 64 Гб, но увы пока большинство Android-смартфонов официально не поддерживают карты Micro SD объёмом больше 32 Гб. На самом деле смартфон в состоянии прочитать карту на 64 Гб и правильно работать с ней, если с картой перед установкой провести несложные действия. Все известные производители Micro SDXC карт изначально форматируют их в систему exFAT, поскольку именно эта система разработана для карт большого объёма. Поскольку эта система создана компанией Microsoft, производители Android-смартфонов должны выкупить права на её использование для того, чтобы смартфон умел работать с данной системой. Думаю вы понимаете, что компании пока неохотно идут на лишние затраты, а поэтому систему exFAT на картах памяти поддерживают очень немногие устройства, а работают они с системой FAT32. Многие уже догадались: чтобы ваш смартфон заработал с картой 64 Гб её всего лишь нужно отформатировать в систему FAT32. Но, оказывается, сделать это не совсем просто. Дело в том, что сама система FAT32 теоретически поддерживает только носители (карты, разделы и т.д.) только до 32 Гб, но на практике может очень неплохо работать с носителями до 64 Гб. Единственная проблема, с которой можно столкнуться при этом это небольшая потеря скорости при чтении/записи с карты, но она будет почти не заметна. Далее мы рассмотрим как ПРАВИЛЬНО отформатировать карту Micro SDXC в систему FAT32, чтобы смартфон, не поддерживающий данный тип карт, её увидел и карта НЕ ВЫШЛА ИЗ СТРОЯ СПУСТЯ НЕКОТОРОЕ ВРЕМЯ.

1. Карту SDXC МОЖНО ФОРМАТИРОВАТЬ ТОЛЬКО В УСТРОЙСТВЕ ПОДДЕРЖИВАЮЩЕМ ДАННЫЙ ТИП КАРТ. Т.е. ваш картридер должен поддерживать карты Micro SDXC (или SDXC, если вы вставляете карту через переходник). Во многих отзывах на сайтах магазинов можно увидеть отзывы, в которых пользователи форматируют карты на 64 Гб в смартфоне, поддерживающем карту только на 32 Гб, после чего карта через нескольк месяцев выходит из строя. Этого делать ни в коем случае нельзя! Иначе ваша карта выйдет из строя в срок от 1 дня до нескольких месяцев. Если у вас нет картридера, поддерживающего SDXC, его можно приобрести по цене от 250 рублей (например, прекрасный вариант картридер Transcend RDF5 (ссылка на официальный сайт)). По сравнению стоимстью карты это ничтожная сумма и очень маленькая цена за вашу "живую" карту и сохранённые данные.

Итак, форматируем карту SDXC ТОЛЬКО в устройстве поддерживающем SDXC.

2. Поскольку у большинства пользователей установлена на компьютере операционная система Windows, то рассмотрим вариант форматирования именно из неё. Если у вас операционная система Windows XP обзятельно установите на неё обновление, в котором имеется поддержка файловой системы exFAT. В Windows 7 и Windows 8 такая поддержка уже имеется.

3. Возможно, когда вы вставите новую карту в картридер, Windows выдаст сообщение, что карта не отформатирована. В этом случае сначала отформатирйте её утилитой SDFormatter (ссылка на официальный сайт программы) в систему exFAT. Я в любом случае рекомедую эту утилиту для форматирования вашей карты, если она не читается/читается некорректно. Данная программа форматирует карты SD/micro SD в соответствии со спецификацией.

4. Стандартным методом Windows отформатировать карту объёмом 64 Гб в файловую систему FAT32 не получится, поэтому мы будем использовать утилиту Guiformat.
[​IMG]

Программа специально предназначена для форматирования носителей больше 32 Гб в файловую систему FAT32. Если утилита выдаёт ошибку перед форматированием, выполняем пункт 3 (сначала форматируем программой SDFormatter), который всё же лучше выполнить обязательно. ВНИМАНИЕ! Чтобы смартфон корректно увидел Micro SDXC выбираем размер кластера 32 Кб! Лучше использовать быстрое форматирование (Quick), выполнять полное нет никакой необходимости.

5. Если вы всё выполнили строго в соответствии с вышеуказанными рекомендациями, то ваша карта готова. Ваш Android-смартфон её увидит и покажет правильный объём 59,XX Гб. С картой можно будет работать, записывать/считывать файлы, но НИКОГДА НЕ ФОРМАТИРУЙТЕ её в вашем смартфоне. Карта прослужит вам долгое время верой и правдой.



P.S. Я рекомендую использовать только утилиты, указанные в данной статье. В остальных случаях успешного результата может не получиться. Эксперимет проводился с картой Sandisk Micro SDXC 64 Гб и смартфоном Huawei Ascend D1 (U9500). Жду ваших отзывов, вопросов и результатов с другими картами и устройствами. Желаю вам хороших объёмов в вашем смартфоне!
 ___________________________________________________________________
##########################################
-----------------------------------------------------------------------------------------------------------------


Не многие знают, что микро СДшные флешки делятся на 3 категории.
1. microSD — максимальный объем до 2Гб
2. microSDHC — объем от 4 до 32 Гб
3. microSDXC -объем от 64Гб до 128Гб
Большинство современных девайсов могут переваривать microSDHC и microSD . Файловая структура на них FAT32. Флехи бОльшего объема, данные устройства по их ттх (тактико техническим характеристикам =)) ) переваривать не могут. Причина проста — их файловая структура exFAT. Сия структура (пардон за тафтологию) разработана майкрософтом. Для того, чтобы любой девайс читал сию структуру (снова тавтология блиадь…) компания производитель девайса должна выкупить у майкрософта права на нее, но, как всем понятно, большинству производителей класть на сие большой болт.
По этой причине многие ваши девайсы некорректно работают с флешками 64-128Гб. Более того, если данные флешки (64-128Гб) отформатировать в самом устройстве, то они помрут максимум в течении месяца. Единственный возможный вариант — отформатировать флешку в винде в файловой системе FAT32. Но и здесь кроется загвоздка — 64 и 128Гб флешки нельзя отформатировать стандартными средствами винды в системе FAT32.
Для этого нужны соответствующий картридер, который может работать с флешками microSDXC (например Transcend TS-RDF5K) и программа для формата — SDFormatter.
При форматировании флешки необходимо ставить размер кластера 32Кб. После формата при помощи всех вышеуказанных средств, флешки размером 64-128Гб будут безпроблемно читаться на вашем устройстве, т.к. их файловая структура меняется с exFAT на FAT32 . Даже, если в ттх написано, что девайс читает флехи до 32Гб. Т.е., если вы правильно выполнили все условия, то в 90% случаев ваше устройство благополучно будет писать и считывать инфу с флехи.
Привожу также статью, благодаря которой я подружил свой регик с картой в 64Гб.
Фся инфа изъята и пережевана для более адекватного усвоения. С немого согласия автора: videoregforum.ru/threads/…i-na-64gb.822/#post-24572
Спасибо, если освоили сие количество букафф. Удачи на дорогах!

PostgreSQL для 1С 8.3 - резервное копирование

В этой статье разберем оптимизацию работы с моментальным снимком отдельной базы 1С в кластере PostgreSQL средствами pg_dump.exe, pg_restore.exe, psql.exe в среде Windows Server 2008,2012,2016. А также разберем проблемные ситуации и неожиданные ограничения при работе 1С в связке с PostgreSQL. Для Linux все аналогично.

03 октября 2019

postgresql получен запрос на вежливое выключение

Бывает что после отключение питания на Linux серверах с 1С вообще ничего не запускается. База postgres поломана и кэш 1С тоже. Вот шаги как заново всё привести в рабочее состояние.