Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: android и 1С 7.7.

v7: android и 1С 7.7.
Я
   tantranah
 
22.03.21 - 19:53
Друзья, коллеги. Прошу помощи.
Подскажите как проще решить следующий бизнес-процесс.
1. На производстве выпустили единицу готовой продукцию, и внесли ее в 1С через документ "Выпуск продукции" (но в принципе не важно как внесли).
2. Распечатали наклейку со штрихкодом, в котором зашиты НомерДок и ДатаДок (или еще что-то, не важно), приклеили ее к продукции.
3. После, продукт физически привезли на склад готовой продукции.
4. Кладовщик своим Андроид телефоном сканирует этот штрихкод. И в 1С формируется "Приход на склад готовой продукции".

И вот тут начинается загвоздка.
Думал посылать с телефона http запрос, в котором собственно, и слать эти ДатаДок и НомерДок (и что там еще).
Установил на серваке Apache с ПыхПых, и не придумал пока ничего лучше, как:
1. Посылаю запрос к серваку, с ДатаДок и НомерДок и т.д.
2. PHP создает на серваке новый файл(или перезаписывает существующий), с принятыми значениями.
3. 1С, через ОбработкаОжидания(), каждые 0,5сек. проверяет, не изменились ли данные в файле, или время создания файла.
4. На основании данных в файле находит Док"Выпуск продукции" ну и формирует Приход.

Выглядит это как "свинья на костылях"!!! Даже для микроконтроллеров это моветон(работать на цикле, а не на прерываниях).

Посоветуйте. Как в 1С отловить событие, прихода новых данных на сервер и получить их?  Ну очень не хочется свой сервлет писать.
   NorthWind
 
1 - 22.03.21 - 20:06
Вариантов несколько.
1. Оставить так. Для "малой крови" применительно к 1С это не так уж и плохо.
2. Написать ВК, которая будет дергать ОбработкуВнешнегоСобытия в 1С. Достаточно сложно.
3. Ничего не писать, а попытаться найти готовый продукт. Проблема в том, что поддержка 7.7 разными вендорами типа Клеверенса в основном уже прекращена, поэтому могут быть сложности. Но, может, и повезет.
   NorthWind
 
2 - 22.03.21 - 20:10
Правда, мне не очень понятно, зачем нужен пых. Есть же всякие Barcode Harvester (http://interestingsolutions.ru/BarcodeHarvester.aspx), которые прикручиваются к 1С гораздо более простыми способами
   Cthulhu
 
3 - 22.03.21 - 20:10
в отдельном юзере-роботе в фоне на обработке ожидания выполнять всякие всякости - эо как раз норм.
ну или можешь попробовать коня на костылях (Злопчинский, аууу!) - рдп, спец.юзер со спец.мордой под разрешение рдп-клиента
   NorthWind
 
4 - 22.03.21 - 20:10
это один из путей пойти вариантом 3
   NorthWind
 
5 - 22.03.21 - 20:14
еще один варик (от Злопа :-) - поставить на телефон RDP, а под него в 1С написать простенькую морду с простенькой формой, куда будет сканироваться этот ваш штрихкод. С ТСД бы точно прокатило, с телефоном не знаю, надо проверять.
   NorthWind
 
6 - 22.03.21 - 20:17
+ (3) об этом первым сказал. Невнимательно прочел пост.
   Garykom
 
7 - 22.03.21 - 20:21
1С 7.7 простая как валенок, пиши напрямую в бд
   Провинциальный 1сник
 
8 - 22.03.21 - 20:30
А можно на дельфи написать агента, который бы слушал по http и по ole коннектился к 1с и делал нужные операции. Я как-то много лет назад пробовал - вполне реально, работать с данными 1с через ole из дельфи.
   Builder
 
9 - 22.03.21 - 20:34
1С, через ОбработкаОжидания() вполне работоспособный вариант.
Только смысл дергать файл каждые полсекунды? Раз в минуту вполне достаточно.
Ну и лучше не писать все в 1 файл, а на каждый документ (задание) делать свой файл и после выполнения его удалять.
   Злопчинский
 
10 - 22.03.21 - 20:41
   Sam1C
 
11 - 22.03.21 - 20:55
(0) Купить однопользовательскую 8-ку, опубликовать один простой http-сервис и по COM – соединению в 7.7 формировать документ
   Garykom
 
12 - 22.03.21 - 20:56
(8) Оцени сколько такой писать на Delphi?
И да на Golang я написал за полдня, у меня не для приложения на андроид а чтобы 1С 8 могла по HTTP как будто через OData с базой 1С 77 работать
   tantranah
 
13 - 22.03.21 - 21:03
(9) Ну, тут, как бы хотелось кладовщику дать сразу же фидбэк на телефон, что мол принято.
А пыхпых и так затирает предыдущий файл с тем же именем.

Всем спасибо друзья.
Наверное сейчас, пока товарооборот мал (около 100 ед. товара в смену) напишу как задумал. Вы меня успокоили.
Запущу. А там наверное уже или ВКшку нарисую... А может так и оставлю, если будет норм.

Еще раз всем большое спасибо.
   NorthWind
 
14 - 22.03.21 - 21:33
(12) Серваки в виде компонент Indy есть готовые, OLE подергать вроде тоже недолго. Думаю, в те же полдня можно уложиться, если быть в материале.
   Builder
 
15 - 23.03.21 - 00:00
(13) Тут смысл писать в разные файлы в том, что бы создать очередь. Если вдруг не запущен 1с, то все задания будут накоплены и обработаны после его запуска.
   Провинциальный 1сник
 
16 - 23.03.21 - 06:45
(9) Сложность в том, что обработка ожидания будет вызываться у каждого пользователя. И тут надо будет каким-то образом выделять сеанс, имеющий право загружать данные из файлов. Чтобы не получилось так, что сразу у двух юзеров сработала обработка ожидания в один момент времени и файл не загрузился дважды..
   NorthWind
 
17 - 23.03.21 - 08:09
(16) ну, не бином ньютона прямо скажем. В тупейшем случае можно по имени пользователя, в более умном - по названию набора прав.
   Builder
 
18 - 23.03.21 - 09:29
(16) Для этого делают отдельного пользователя-робота и ОбработкаОжидания() в  обработке, а не в глобальном модуле.
   serpentt
 
19 - 23.03.21 - 10:34
Мы используем MSMQ  и дллку v7Queue.dll
   Garykom
 
20 - 23.03.21 - 11:00
(18) (19) Минус что должен быть запущенный сеанс 1С 7.7 что напряжно
Намного лучше сразу писать в базу
   serpentt
 
21 - 23.03.21 - 12:46
(20) Это палка о двух КОНЦАХ. Решение которое ЛУЧЬШЕ выбирает каждый сам
   ДедМорроз
 
22 - 23.03.21 - 13:06
Напрямую писать в базу 1с не совсем корректно,но другой путь-это специализированный сеанс 1с.
Если не хочется обработку ожидания,то можно из 1с посылать запрос на сайт,то есть в php,который завершается,когда приходит событие или по некоторому тайм-аут,чтобы 1с снова его послала.
Если же приходит запрос,то в ответе мы получаем в 1с то,что нужно обработать,а потом в другом запросе передаём ответ от 1с.
Тут,опять же,можно какое-то время ждать,когда понадобится что-то спросить.

Также можно 7.7 как Com-сервер даже из того же php открывать,но тут,во-первых,граница процесса,во вторых,кривая реализация Com в 1с,когда создаётся полный сеанс с невидимыми формами.

Ну и,если уж очень хочется быстро,то внешняя компонента или DDE, который 7.7 умеет, опять же,в отдельном сеансе,и лучше на отдельной машине.

Также можно rdp и на Андроиде открыть сеанс самой 1с.


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.