(599) 1С-ная часть изменилась. Я писал об этом в описании релиза. Поставьте демку из последнего комплекта разработчика. Развернул на чистой системе и демку и приложение из гугл плея, загрузил конфу с годом 19 все загрузилось. Видимо 1Сна часть у вас старая, но формат сменился сейчас.
Дмитрий добрый день.
А правильно я понял что нельзя передать с экрана на экран переменную ТЗ ???
типа вот так Переменные.Вставить("TableNomQuanVers", ТЗНомХарКолВерсия);
Переменные органичены какими типами ???
(601) Добрый день! Переменные - это структура со значениями типа Строка. Таблицы можно сериализовать например json.dumps или другим способом, лучше в json потому что в json удобно хранить в nosql и синхронизировать по http. Или вообще подумать нужно ее именно передавать или она просто доступна из разных экранов
Дмитрий добрый день.
хотел задать еще пару вопросов.
Я попытался изменить цвет букв таблицы - не получилось. Правильно я понимаю что пока это не возможножно ?
где то в ваших видео слышал что можно организовать хранение глобальной переменной - которая будет храниться даже после закрытия симпл юай - подскажите плиз - это в каком примере можно посмотреть ?
(603) Добрый день! Цвет таблицы - нет такого нет. У "плиток" больше возможностей и они красивее. Там цвет фонов есть и вообще все.
Глобальные переменные - это те, котрые передаются между процессами. Они обнуляются после закрытия. Есть "константы", но сейчас есть более удобный способ хранения все что толкьо можно - NoSQL который заменяет константы.
Добрый день Дмитрий.
А правильно я понимаю что в обработчике 1с (Обработчик ввода) - нельзя обращаться к общим модулям так ?
так то бы вообще супер класс был бы если можно было бы ...
(610) проще будет для понимания если вынести текст обработчика в общий модуль (это не обязательно, но проще для понимания). Там есть модуль Отладка Процессов там пример вызова можно взять. Потом отладчик сервиса включите и пройдетесь по тексту
проще будет для понимания если вынести текст обработчика в общий модуль (это не обязательно, но проще для понимания). Там есть модуль Отладка Процессов там пример вызова можно взять. Потом отладчик сервиса включите и пройдетесь по тексту
- Спасибо за наводку Дмитрий в отладчик попал ... что несомненно радует ...
Подскажите пожалуйста не могу понять в чем проблема
В модуле ОтладкаПроцессов я создал экспотрную процедуру к которой обращаюсь из симпл юай.
в эту процедуру попадаю ... в отладчике значение переменных вижу
отладчик прекращает работать а Экран перезапускается снова ...
при этом в ПоступлениеТоваровУслугСсылка - я вижу ссылку на поступление
а если расчитать ПоступлениеТоваровУслугСсылка.ПолучитьОбъект() - то там пустые строки и даже типа нет ...
тоже самое происходит при обращение к другим процедурам
например:
(616) Скорее всего у вас что то в модуле объекта чего нельзя на сервере использовать это приводит к ошибке на сервере, в веб сервисе и разрыву соединения.
Надеюсь что в данный момент выступаю как тестировщик а не как раздражитель ...
Если чего мне на данный момент достаточно чтобы дописать свою первую тсд на Симпл юай.
НО
Скорее всего у вас что то в модуле объекта чего нельзя на сервере использовать это приводит к ошибке на сервере, в веб сервисе и разрыву соединения.
Я так же создал вообще пустой документ "ДокументПроверка" - без каких либо реквизитов и кода в модуле объекта
- та же самая беда - ссылку я получаю, ПолучитьОбъект() не возвращает ничего - а симплюай сразу перезагружается (после отработки ПолучитьОбъект())
При этом получить объект справочника - можно без проблем ...
Ниже привел скрины как все это выглядет (На примере ПоступлениеТоваровУслугСсылка но тоже самое повторяется и для ДокументПроверка)
Обращаю внимание что я пишу для УТ 10.3 - что под обычными формами - Может в этом кроется ошибка ???
Если чего могу прислать вам базу с документами и с моими настройками симплюай ...
Заранее огромное спасибо !!! - если прийдет идея как все таки ПолучитьОбъект() документа в модуле ...
(618) Доброе утро! Где то у вас ошибка на создании объекта. Вообще это обычная операция никаких ошибок а тем более падений быть не должно. Ну сами посудите если Вы в отладчике выполняете ПоступлениеТоваровУслугОбъект = ПоступлениеТоваровУслугСсылка.ПолучитьОбъект() и у вас там не возвращается объект - это говорит о том что проблема на стороне 1С. Попробуйте просто выполнить этот обработчик в обработке. Переменные можно загнать через Переменные = Новый Структура();
(620) ну постманом такой же post запрос /set_input/OperationData/ тут у кого то было такое. Там по-моему даже не в модуле документа было дело а в модуле приложения что то модульное что через сервис не хотело работать. Старые конфы не оптимизированы для серверных вызовов
Здравствуйте!
Задам один вопрос, может сразу ответите..
Можно ли выгрузить один заказ двумя заданиями и поочередно их выполнить на ТСД?
В 1С есть группа складов, которую разрешено использовать в заказах (без накладных)
Получается один заказ по двум складам, при оформлении которого создаются две реализации (с разных складов),
первая собирается утром, вторая вечером.
Спасибо!
Добрый день!
Подскажите пожалуйста, как отключить вывод информации внизу экрана ТСД при сканировании qr-кода его содержания.
Если сканируем ШК, то внизу выводится одна строчка номер отсканированного текущего ШК - это не критично, а вот если QR-код сканируем, то перекрывается содержимым qr-кода этого всплывающего окна на пол экрана с секундным затуханием...? Если перезайти в ТСД и просто сканировать программкой Scanner, то всплывающее окно с содержимым qr-кода или шк не появляется. ТСД Urovo dt40.
(624) Добрый день! У меня в платформе никаких сообщений не заложено. Вы же сами решение делает, и располагаете содержимое экрана может у вас тост выводит, может Сообщение об ошибке или на экране надпись какая то. Как ваш программист сделает то и будет выводиться. Прям даже интересно стало - можете скрин приложить? Но это не мое точно. На 40х урово у нас много кто рабоатет ничего там не выводится.
Вот внизу высвечивается отсканированый текущий ШК - это после входа и сканирования в Simple UI так начинает выводить, даже если закрыть Simple UI и уже сканировать стандартной программкой Scanner.
Если перегрузить ТСД и начать сканировать Scanner, то уже не будет выводиться внизу текущее значение отсканированого ШК. Я так понимаю - это стандартное сообщение, но оно начинает работать именно после входа и сканирования в Simple UI.
(626) у меня в платформе ничего такого нет, но это можно сделать. У вас же есть какая то конфигурация Simple UI? Ее вам кто то написал? Вот видимо этот кто то в "сервисе" выводит штрих код в тост. Видимо для отладки. Надо просто убрать. Ну это предположение . Точно могу сказать что у меня ничего не выводится просто так.
(627)
Конфигурацию я сам писал на базе вашей демо. Но суть в том, что я запускаю просто Simple UI с вашей демкой по приемке, даже не заходя дальше в приемку и ничего не сканируя, просто открыл и вышел. И потом на ТСД после этого при сканировании внизу выводится штрих в тост, даже если на ТСД ничего не запущено, даже програмулина Scanner если не запущена все равно идет вывод отсканированного ШК в тост. Ежели перегрузить ТСД и не заходить в Simple UI, то при сканировании ШК в тост не выводится. Т.е. после захода/выхода в Simple UI ТСД начинает выводить отсканирвоанный ШК в тост, даже если не запущена никакая сканирующая программа. Может я в настройках у вас какие лишние галочки поставил? При том что на телефоне такого нет, в тост ничего не выводится. Вот на скрине видите выводит в тост текущий отсканированный ШК, хотя ничего на ТСД не запущено вообще.
(628) Ну такое можно сделать если в конфе задействовать фоновый сервис и в обработчике сервиса прописать тост на считанный штрих-код. Проверьте, обработчик сервиса чем черт не шутит. У вас симпл как сканер читает - через интент или через разрыв клавиатуры? Если не настраивали через подписку на интент можно попробовать сделать. Я конечно проверю у себя ещё раз, но как то странно мне бы сказали если бы так было
Добрый день!
Да, если установлена галочка в настройках "Использовать подписку на события сканера", тогда выводится при сканировании тост с содержимым ШК, и не критично в принципе как я уже писал, пусть себе выводится, НО у нас сканируется QR-код, и его содержимое перекрывает почти весь экран с секундным затуханием..., в принципе выход найден)), с помощью Переменные.Вставить("toast","") вывожу пустой тост (скрин прилагаю) и тогда выводится пустой овальчик, ничему не мешая).
Теперь вопрос в другом, у меня без установленной галочки "Использовать подписку на события сканера" просто не получается получить ШК, т.е. не доходит до обработки ввода с видом элемента экрана "Штрихкод" , возможно у меня нет понимания как правильно организовать без этой галочки. С установленной галочкой "Wedge as keys", так же не получается получить ШК. Скрин настроек, при которых у меня получается получить шк и qr-код так же прилагаю. Спасибо!
(630) ну на урово с подпиской на интент все работает. Блин я нашел похоже этот тост, реально я для отладки его засадил в сервис в последнем релизе... Странно что никто до сих пор не сказал.
Если нужно именно через wedge keys то надо переключить сканер в этот режим, с энтером на конце, убедиться что в блокнот он сканирует и переносит строку и все других настроек не надо делать. Но это так себе вариант, потому что андроид на уровне ядра в люом приложении т.е. перехватывает полями ввода это дело. Т.е. на одном экране и сканирование и поле ввода не расположить. Поэтому через интент лучше. Исправление я внес в следующий релиз.
(637) Там спамеры похоронили форум практически. не знаю че с этим делать. Буду переезжать на другую платформу позже. Сейчас по 100-200 регистраций в сутки от спамеров.
Дмитрий, добрый день. Как программно заполнить таблицу SQLite и потом уже в ней совершать поиск (offline)? На нашем примере это таблица акцизных марок алкоголя, в 1с по веб сервису может ее отдать приложению.
(639) Добрый день! Есть несколько способов. Из актуальных - через питон напрямую, или через питон ORM. По второму способу я даже пост отдельный писал. Принимать/отдавать либо через онлайн обработчики либо через тот же питон json/ requests . Примеры все есть. По всем способам.
Есть и другие но через питон и особенно ORM гибче и проще.
(640) не осилил через примеры. Для получения данных с 1С где подсмотреть каким методом питона идет коннект к http сервису? Где непосредственно писать запрос 1С для отдачи данных из базы 1С?
(676) Смотрите, передать данные из питона можно поместив их в hashMap а в 1С они приедут в Перменных в запросе. Но это не очень вариант если у вас что то большое или требующее постоянной фоновой синхронизации. Если допустим из питона выбирать из SQL и оправлять в 1С то например гляньте пример "Тест сбора марок" и там процесс "Обмен данными". Там из SQL таблицы средствами ORM (это все на Pony) идет выборка, пакуется в json и с помощью requests.post отправляется на data_upload в 1С (в 1С при этом обработчик не написан сам по себе). Есть примеры где SQL без Pony, есть пример с каучем, есть пример с NoSQL. Надеюсь ответил на вопрос.
(677) для начала мне нужно забрать из 1с массив марок, разово, в фоне не надо. После того как закончится инвентаризация понял, Тест сбора марок-Обмен данными.
Но как забрать мне данные из 1с средством питона? Я так понимаю нужно свой сервис (метод) поднять в вашем конструкторе 1С, который отдаст в json набор данных?
(678) Ну как, тоже самое. Самое простое - поместить в Переменные, забрать из hashMap в питоне, там уже в SQL записать. Либо сразу из питона какой нибудь гет-запрос на 1С и полученные данные в таблицу. Это если SQL с , NoSQL малость по другому.
(682) я не совсем понимаю вопросы, но в общем вы можете в одном обработчике что то положить в стек переменных, а в другом забрать. Допустим это может быть json
Дмитрий, добрый день.
Вопрос по отладке питоновских скриптов. Написал файл обработчиков, указал его имя в конфигурации. В обработчиках указаны только имена функций, никакого кода нет. По вашему примеру с Фласк написал свой, который просто перенаправляет вызов в мой файл обработчиков. Все было хорошо, отладил. После этого в конфигурации снял флаги "Требуется онлайн открытие". Обновилась конфа на ТСД, всё хорошо, всё работает как надо. Но тут я решил еще кое-что допилить и отладить. Устанавливаю в нужных обработчиках флаги "Требуется онлайн открытие", конфа обновляется на ТСД. Но теперь в отладку не могу попасть. Нет вызова сервера фласк.
Параметры сервера фласк не менял, а вызовы как отрубило.
Что-то я не так делаю. Подскажите, что именно? Как опять получить возможность отладки?
(641) Сам себе отвечу. Выдал желаемое за действительное). Чтобы отладка была, нужно в обработчике не просто указывать имя функции, а писать вызов через hashMap.
(641) И еще. Прописал вызов функции через hashMap. Она вызвалась, отработала, но в hashMap осталось значение py_function. И теперь она вызывается всегда), вместо других обработчиков
(643) Добрый день! Ну удалите из hashMap -remove по-моему. А зачем вообще через hashMap то запускать? Там есть разделенный режим, в онлайн функции пишете свой фласк как если бы это была 1С и так же отлаживаете.
(650) Так я имею ввиду имя функции онлайн. Там есть разделенный режим(конфа отдельно, сервис обработчиков отдельно) это именно онлайн а не питон. Например 1С. Но вместо 1С мы даём сервер на фласке. Т.е. это обычный онлайн вот и все - прописываете в настройках разделенный режим и сервер обработчков фласк
И еще: если в обработчике имя питон убрать, а вызов прописать через хэшмап, то вызов процедура вызывается два раза подряд. Наверное, это проявляется если несколько раз туда-сюда прописывать вызов. Если указываешь имя процедуры и не указываешь код, то вызов один раз. А если потом имя стираешь и прописываешь вызов через хэшмап - начинает вызывать два раза подряд
(652) не совсем. Одновременно онлайн и в 1С и в фласк не получится, так как настройки то одни. Я предлагал везде через онлайн функции передавать в фласк. То есть как бы бек на питоне вместо 1С на время отладки. Потом фласк убираем, функции прописываем в питоновские функции и это работает уже автономно.
Было бы классно, если в обработчике питон прописали имя функции. И всё. Нужно на фласк - ставим галку онлайн, нужно чтобы отрабатывал код на ТСД - убираем галку, и тогда код вместе с конфигурацией отправляется на ТСД, как это уже сейчас и работает. Во фласк-файле - только перенаправление на вызов функции из файла обработчиков.
На картинке слева - файл с сервером Фласк. Справа - файл обработчиков. Отлаживать придется только один файл.
(655)Мое предложение:
В конструкторе в обработчиках питоновских предусмотреть галку "Онлайн" или "Выполнять на сервере, а не локально". При указании этой галки вызов функции по имени идет на http-сервер Фласк в файл слева на картинке в (653) . А этот файл слева импортирует файл справа и вызывает одноименные, но с параметрами, функции из импортируемого файла справа на той же картинке.
Пример - вызов функции NomCardsOnEnter() из файла Фласк, которая всего лишь вызывает NomCardsOnEnter(hashMap) из файла обработчиков. Имена функций совпадают в обоих файлах, различие - в параметрах. Это позволяет обойтись только одним именем функции в конструкторе
В этом варианте переключение между режимами исполнения питоновских обработчиков Онлай(для отладки)-Офлайн управляется лишь одной галкой в соответствующем обработчике. Порядок работы может быть такой: Установили галку "Онлайн" в конкретном питоновском обработчике - отладили - сняли галку "Онлайн" - код записался на ТСД и можно работать в полях. Чтобы допилить и отладить функцию - достаточно будет вновь установить галку "Онлайн" - отладить - снять. Без копирования кода, без изменения варианта вызова, без лишних телодвижений. Правим только один файл Обработчиков. В файл Фласк только добавляем новые или удаляем ставшие ненужные вызовы функций из файла обработчиков.
(656) Смысл понял. Идея отличная. Даже можно было бы в отдельном посте это выделить. Но это же со стороны конструктора по идее, а не со стороны приложения. В принципе вы можете сами галку добавить, которая будет перекидывать название функции при записи конфигурации. В приложении можно не менять ничего.
(657) Не понял, как я могу это сделать, изменив только конструктор?
Ведь, если указать питоновское имяФункции, то эта функция будет вызвана локально, на ТСД. Вызов http-метода во фласк доступен только через hashMap.put("py_function", FunctionName). Можете задать направление, куда подумать?)
(658) Так я же выше написал. Онлайн (не важно какой 1С, SAP, Axapta или Flask) можно вызывать в разделенном режиме через вызов функций. Например в реквизит ОнлайнФункцияПриЗапуске пишете имя функции , она пишется в DefOnlineOnCreate и приложуха отправляет http-запрос вам куда надо, а когда отладка закончена пишете ее же в PythonФункцияПриЗапуске , а из ОнлайнФункцияПриЗапуске убираете. То есть имя функции сначала в одном поле, потом в другом. Текст модуля можно прикрепить сразу, это ни на что не влияет. Т.е. у вас фласк вместо 1С просто работает и все.
(659)Я немного другое предлагал. У меня в онлайн обработчике уже работает 1с. В этом же обработчике задействован Питон. Пример: клик по таблице - Обработка ввода - локальный питоновский код вставляет команды поиска в базе Couch. Этот же обработчик на второй итерации обрабатывает результат средствами 1с, уже онлайн.
Или другой пример: в первом экране онлайн работает 1с, а во втором экране нужно отладить код питон.
Задача: отладить питоновский локальный код.
Как мне видится: нужно добавить константу в приложении - АдресСервераОтладкиPyton и тогда при включенной галке "Отладка" в обработчиках на закладках обработчиков Pyton вызовы буду перенаправляться на этот сервер отладки (эту галку в прошлых сообщениях я предлагал назвать "Онлайн" или "Выполнять на сервере, а не локально").
(660) А, пропустил про то что 1С уже используется. Тогда да, надо какой то флаг или галку. Сделаю через переменные, а то настройки и так перегружены. Будет типа глобальная переменная -УРЛ сервера отладки, если она заполнена то питоновский вызов пойдет через http-запрос на этот адрес. А можете текст с фласокм который сюда выложить?
(661) Отлично. Можно просто с УРЛ в переменных. А галки "Отладка" тоже будут, или только указанием-обнулением этой переменной управлять направлением вызова кода?
Вот текст без купюр
from dataclasses import fields
from sys import hash_info
from flask import Flask
from flask import request
import json
import OMKDocMove #Перемещение
import OMKDocReal #Реализация
import OMKDocPost #Поступление
app = Flask(__name__)
def NomCardsOnStart():
OMKDocMove.NomCardsOnStart(hashMap)
def NomCardsOnEnter():
OMKDocMove.NomCardsOnEnter(hashMap)
def QuantityInputScreenOnStart():
OMKDocMove.QuantityInputScreenOnStart(hashMap)
def QuantityInputScreenOnEnter():
OMKDocMove.QuantityInputScreenOnEnter(hashMap)
def PlusMinusOnEnter():
OMKDocMove.PlusMinusOnEnter(hashMap)
def UnLoadTo1cOnStart():
OMKDocMove.UnLoadTo1cOnStart(hashMap)
def UnLoadTo1cOnEnter():
OMKDocMove.UnLoadTo1cOnEnter(hashMap)
@app.route('/set_input/<method>', methods=['POST'])
def set_input(method):
func = request.args.get('function')
jdata = json.loads(request.data.decode("utf-8"))
hashMap.d=jdata['hashmap']
needrun = False if func == "" or func == "null" else True
if needrun:
f = globals()[func]
#print(func + " " + hashMap.get("listener") + " " + hashMap.get("event"))
f()
jdata['hashmap'] = hashMap.export()
jdata['stop'] =False
jdata['ErrorMessage']=""
jdata['Rows']=[]
return json.dumps(jdata)
class hashMap:
d = {}
def put(key,val):
hashMap.d[key]=val
def get(key):
return hashMap.d.get(key)
def remove(key):
if key in hashMap.d:
hashMap.d.pop(key)
def containsKey(key):
return key in hashMap.d
def export():
ex_hashMap = []
for key in hashMap.d.keys():
ex_hashMap.append({"key":key,"value":hashMap.d[key]})
return ex_hashMap
if __name__ == '__main__':
app.run(host='0.0.0.0', port=2075,debug=True)
(662) да, обнулением переменной выключаться. Просто указали работает, не указали - работает как обычно. А почему функции, например NomCardsOnStart() hashMap не возвращают? Как изменяется hashMap?
(663) А можно все-таки галками управлять? Тогда порядок работы такой: при старте конфигурации устанавливаем переменную УРЛ сервера отладки. И теперь про неё можно забыть. Работаем-работаем с ТСД, все хорошо. Теперь понадобилось допилить какой-то обработчик - ставим галку "Отладка" - отлаживаем. Отладили - сняли галку. А переменная при старте пусть и дальше устанавливается, но галок нет - нет и отладки. Simple.
А какие действия при таком сценарии нужно будет произвести в вашем варианте?
NomCardsOnStart() в файле фласк не возвращает ничего так же, как и ваши функции в файле фласк ничего не возвращают. А NomCardsOnStart(hashMap) в файле обработчиков - возвращает. Я сам задавался этим вопросом, но просто принял для себя, что hashMap - некая "классовая переменная" (так она видна в отладчике), которая определена в файле Фласк, а в файл обработчиков эту переменную нужно передать. Тут образовательный процесс на потом отложил). В обработчик NomCardsOnStart(hashMap) hashMap передается по ссылке, там изменяется, а потом ваша set_input возвращает её в приложение. Так работало.
(664) а галки в настройках что ли? В настройках и так перегружено все.
Так в файле обработчиков допустим вы в hashMap что то поместили, например toast , а как он попадет потом в функцию которая в файле где фласк, а потом в ответ сервиса в hashMap.export()? Аргументы функции в питоне не меняются же как в 1С.
(666)По поводу второй части вопроса - не знаю). Раскуривание этого вопроса на потом оставил). Как-то же используется hashMap в функции set_input, а ведь она не инициализирована, а только класс объявлен. Мне это не понятно пока, но я просто принял это). Наверное также передал эту переменную в функцию, а она как по ссылке сработала. Ну я же не знал, что она ТАК работать не должна). Однако работало.
Pyton 3.10.0
Можт и действительно в функцию передавалась по значению, но на самом деле писалось в эту "классовую переменную". Надо попробовать поменять имя параметра в функции NomCardsOnEnter(hashMap) на например hashMap2 и посмотреть что получится. Не задавался просто вопросом)
(666) Так))) Возвращаемся к варианту передавать через hashMap py_online_url, py_online_user и т.д. Я так понял что единственное неудобство что в этом же вызове должен быть онлайн-вызов, а отладочный вызов его замещает? Если я сделаю чтобы он не замещал его , а просто перед ним вызывался - это решит проблему?
Почему не хочу никаких галок - я переписываю "конструктор" сейчас, пока не хочу лишней работы в этом плане, через переменные проще.
(668)вызов через hashMap работает непрозрачно. Уже говорил выше. Если отлаживаешь не единственную функцию, а одновременно несколько, то приходится вовремя очищать py_function, после первой итерации, или после второй? Не-очень удобно. В коде со временем будут оставаться эти очистки, и будешь думать - надо оно или уже нет?
(671) потому что сейчас я 1) пишу новый конструктор (на питоне и том же стеке на котором стационарный клиент, недавно в телеграмм выложил) и сложно что то добавлять одновременно с разработкой 2) самое главное - я сейчас радикально, в разы, хочу упростить принципы и архитектуру, оставив те же возможности, порезать все лишнее и легайси. Чтобы можно было на пальцах за пару предложений объяснить принципы разработки. То есть у меня борьба с лишними галками. При этом естественно решения по функционалу останутся такие же и возможности будут добавляться как раньше. Но при этом из-за неоднородности развития, в 1С очень много лишнего накопилось.
(674) Ну эта штука будет выложена на гитхабе, так же как сейчас выложен стационарный клиент и ее можно (и даже нужно) дорабатывать - соответственно делать бренчи т.д.. Там конечно стек специфический - PySimpleGUI и на нем не так удобно как на 1С ваять, но зато это на бесплатной платформе плюс питон -мультиплатформенный. Так что многие вещи для удобства под себя можно будет делать.
Дмитрий, подскажите. это баг или фитча? Как искать виновника проблемы? Записал видео https://disk.yandex.ru/i/j_rBmULVIhyQZg Суть в том что мы открываем экран, "Сканируйте товар" на котором есть поле Штрихкод, сканируем попадаем через ShowScreen в ввод количества, потом через ShowScreen по кнопке возвращаемся обратно в сканирование товара, но приложение отказывается воспринимать сканирования сканера и запросы не летят.
Версия приложения последняя на сегодня.
(684) У вас сканер настроен "в разрыв клавиатуры" при этом на экране есть поле ввода. В данном случае у любых приложений на андроид (это не зависит от приложения) происходит смена фокуса на поле ввода или энтер/таб в зависимости от того что там в ШК. Решения могут быть такие : 1) если оставлять "через клавиатуру" то вынесите поля ввода на отдельных экран 2)перейдите на "баоту через интент" в настройках - там надо в документации вашего ТСД узнать имя интента и переменной
(686) Добрый день! Спасибо. В очень редких случаях (на старых андроидах или рут) с симки можно прочитать инфу, но чаще нет- это зависит ещё от производителя, ну и Гугл такие вещи не пропускает. На практике это выглядит так - инфу запросить с симки можно, но там ничего полезного. А раньше работало.
(689) Добрый день! Кауч на ТСД? Не слышал про такое. Ну как минимум для этого нужно веб сервер наверное какой то иметь. И чтобы он API делал. Если речь о симпле, то там например привинчен web-сервис к SQLite с помощью которого консоль работает. В качестве NoSQL у меня используется Paper а не кауч и к нему нет внешнего API, как то не было потребности. Там все просто ключи через пременные можно запросить, содержимое по ключам тоже.
Здравствуйте, Дмитрий!
Пытаюсь разобраться с SimpleWMS.
Подготовил расширение на основе конфигурации Simple UI (6.50.00): https://disk.yandex.ru/d/VPsKGeAxGmXXfg (убрал там только демо объекты) для БП3.0.
По аналогии создал мобильного клиента с кодом 1 и конфигурацию для него с одним тестовым процессом.
Опубликовал http сервис расширения и указал настройки подключения в мобильном приложении.
Однако, конфигурацию не удаётся получить, хотя http соединения в 1С висят. Сеансы остаются висеть и после того, как я закрою мобильное приложение.
(Параллельно разворачивал демо базу и к ней нормально подключилось).
Что я делаю не так?
База с расширением, к которой не удаётся подключиться: https://disk.yandex.ru/d/_8ciROs7DMFmaA
(692) Добрый день! У вас в справочнике "Мобильные клиенты" код- 1? По идее все правильно, может что то мешает соединению - может над другой порт вынести, пользователь по-русски написан - в этом может дело. Попробуйте с устройства в браузере
<этот урл:порт> + /get_conf&code=1
Еще с версией я не понял - должна быть последняя версия приложения на всякий случай. 6.50 - старовата.
(694) Может там пароль еще нужен? Должен быть JSON текст конфигурации в браузере. Если окошко появляется снова видимо аторизация не прошла. Это на стороне вашего сервера проблема.
(695) Я правильно понимаю: проблема не в Апач, так как тогда на демобазе тоже не работало бы. Т.е. что-то не так в расширении, которое я сделал? Подскажите, куда копать?
Извините, если глупые вопросы задаю - опыта мало в работе с http сервисами.
(697) я б подсказал если б знал)) Суть в том что по запросу должен быть ответ - JSON с конфой, в браузере, в постмане, не важно. Тут вроде как все нормально - доходит до проверки пароля, но потом то должен быть результат, а он не возвращает 200, может с авторизацией что то не так?
Здравствуйте, Дмитрий! Подскажите ещё, пожалуйста, по следующим вопросам:
1. При запуске приложения на смартфоне появляется 2-3 http соединения с 1С;
2. Если закрываю приложение на смартфоне(смахиваю), то соединения с 1с остаются.
Что я делаю не так?