Вопросы по Simple UI/Simple WMS

1. informa1555 2650 25.02.19 10:52 Сейчас в теме
Вопросы-ответы для разработчиков по использованию конструктора [https://infostart.ru/public/1153616/] и [https://infostart.ru/public/976636/] .

!!!Новый форум для разработчиков: forum.simpleui.ru
f333; gorakh; colV; EasyWay; +4 Ответить
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
397. colV 12.11.20 09:03 Сейчас в теме
Вроде понял, благодарю за ответ.
Т.е. на одном экране в принципе пока не получиться разместить поиск по ШК и поле для ввода артикула?

Следом еще вопрос, имеется серверная БД, в ней порядка 70000 позиций номенклатур, так вот, если искать по справочнику, очень долго, порядка 3-5 минут выводится информация о номенклатуре, приложение в этот момент зависает и приходится нажимать кнопку *Подождать*. Список найденной номенклатуры строится быстро, но вот после выбора приложение подвисает. Может как то стоит оптимизировать запрос? Или это нормально при таком количестве данных?
398. informa1555 2650 12.11.20 09:20 Сейчас в теме
(397) на одном экране можно разместить только если сканер подключен через SPP Bluetoth, иначе поля ввода перехватывают - это фишка любого приложения на Андроид. А вот если через SPP - там событие возникает и обрабатывается.

Не совсем понял что в данной ситуации есть "Список" - вы на экран выводите список(или таблицу или список карточек) отобранной номенклатуры(по частичному совпадению)? Если да то приложение выбор таблицы должно делать мгновенно. В нем вообще нечему тормозить - оно в впринципе мгновенно работает. Если речь о том что сосканировали штрихкод в 1С надо найти "ВЫБРАТЬ ПЕРВЫЕ 1 ..." с отбором по этому штрихкоду и запрос делается медленно то индексы посмотрите, про PostgREST для этого. У меня как минимум есть 2 пути решения: 1) SQL на устройстве 2)Postgre в качестве промежуточного слоя
399. colV 13.11.20 06:49 Сейчас в теме
Не совсем понял что в данной ситуации есть "Список"

После выбора из этого списка, приложение зависает, только через 3-5 мин переходит на следующий экран.

В обработчике код с расширения:
Если Переменные.Свойство("name") Тогда
З  = Новый Запрос;
З.УстановитьПараметр("стр","%"+Переменные.name+"%");
З.Текст =  "ВЫБРАТЬ
           |	Номенклатура.Ссылка КАК Ссылка,
           |	Номенклатура.Наименование КАК Наименование
           |ИЗ
           |	Справочник.Номенклатура КАК Номенклатура
           |ГДЕ
           |	Номенклатура.Наименование ПОДОБНО &стр
           |	И НЕ Номенклатура.ЭтоГруппа
           |	И НЕ Номенклатура.ПометкаУдаления
           |
           |ОБЪЕДИНИТЬ ВСЕ
           |
           |ВЫБРАТЬ
           |	Штрихкоды.Владелец,
           |	Штрихкоды.Владелец.Наименование
           |ИЗ
           |	РегистрСведений.Штрихкоды КАК Штрихкоды
           |ГДЕ
           |	Штрихкоды.Штрихкод = &стр" ;
Выб = З.Выполнить().Выбрать();
Стр = "Выберите товар...";
Пока Выб.Следующий() Цикл
Стр =Стр+ ";"+Выб.Наименование;	
КонецЦикла;	

Переменные.Вставить("nom_list",Стр);

КонецЕсли;


Если Переменные.Свойство("result_nom") Тогда
З  = Новый Запрос;
З.УстановитьПараметр("стр","%"+Переменные.name+"%");
З.Текст =  "ВЫБРАТЬ
           |	Номенклатура.Ссылка КАК Ссылка,
           |	Номенклатура.Наименование КАК Наименование
           |ИЗ
           |	Справочник.Номенклатура КАК Номенклатура
           |ГДЕ
           |	(Номенклатура.Наименование ПОДОБНО &стр)
           |	И НЕ Номенклатура.ЭтоГруппа
           |	И НЕ Номенклатура.ПометкаУдаления
           |
           |ОБЪЕДИНИТЬ ВСЕ
           |
           |ВЫБРАТЬ
           |	Штрихкоды.Владелец,
           |	Штрихкоды.Владелец.Наименование
           |ИЗ
           |	РегистрСведений.Штрихкоды КАК Штрихкоды
           |ГДЕ
           |	Штрихкоды.Штрихкод = &стр" ;

Выб = З.Выполнить().Выбрать();
Стр = "Выберите товар...";
Пока Выб.Следующий() Цикл
	Если Переменные.result_nom = Выб.Наименование Тогда
	Переменные.Вставить("nom",Выб.Наименование);
	Переменные.Вставить("nomRef",СокрЛП(Выб.Ссылка.УникальныйИдентификатор()));
	КонецЕсли;
КонецЦикла;	

Переменные.Вставить("ShowScreen","Информация о товаре");

Переменные.Удалить("result_nom");

КонецЕсли;
Показать


У меня как минимум есть 2 пути решения: 1) SQL на устройстве 2)Postgre в качестве промежуточного слоя

Принял, понял)
400. untru 13 16.11.20 20:15 Сейчас в теме
Добрый день, у меня еще вопрос можно ли реализовать такой кей:

https://prnt.sc/vk7b0f На экране "Сканируйте товар" и поле ввода "количество", если сканирую товар - количество увеличивается на 1, но что бы можно было и просто вручную поменять количество на нужное и нажать ентер.
То есть вопрос в том что бы в поле ввода уже было значение которое менялось бы, но при этом я мог его так же изменить.
401. informa1555 2650 17.11.20 08:33 Сейчас в теме
(400) Добрый день! Можно и так (в поле ввода в "Заполнении поля" ставите переменную, например *qty и в переменные qty, только надо инициализировать ее предварительно), но это будет корректно работать только если сканер не в режиме клавиатуры (не HID) , т.е. например если он подключен через SSP. Это не особенность программы, а особенность андроида - поля ввода перехватывают ввод. Если в режиме клавиатуры то лучше всего разместить ввод количества на отдельном экране - т.е. разбить на 2 шага с возвратом на 1й шаг после ввода количества. Ну либо еще вариант сделать не поле ввода, а "Надпись" и 2 кнопки рядом "+" и "-" с увеличением количества на 1 и -1 в горизонтальном контейнере.
402. informa1555 2650 17.11.20 08:38 Сейчас в теме
(400) Добрый день! Можно и так (тогда надо в Заполнение поля поставить например *qty и в Переменную qty только надо инициализировать), но это сработает только если сканер не в режиме клавиатуры так как андроид перехватывает ввод. Если в режиме клавиатуры то лучше разместить ввод количества на отдельном экране с возвратом на первый экран. Еще вариант сделать горизонтальный контейнер и в нем поле Надпись и 2 кнопки "+" и "-", которые увеличивают qty на +1 и -1
403. colV 20.11.20 07:30 Сейчас в теме
Здравствуйте, возвращаясь к вопросу о "подвисании" приложения в момент выбора значения из построенного списка. Хотелось понять для себя, почему происходит зависание.

Имеется Экран с таким контейнером:


И в "Обработчике online" только код для заполнения списка:
Если Переменные.Свойство("name") Тогда
З  = Новый Запрос;
З.УстановитьПараметр("стр","%"+Переменные.name+"%");
З.Текст =  "ВЫБРАТЬ
           |	Номенклатура.Ссылка КАК Ссылка,
           |	Номенклатура.Наименование КАК Наименование
           |ИЗ
           |	Справочник.Номенклатура КАК Номенклатура
           |ГДЕ
           |	Номенклатура.Наименование ПОДОБНО &стр
           |	И НЕ Номенклатура.ЭтоГруппа
           |	И НЕ Номенклатура.ПометкаУдаления
           |
           |ОБЪЕДИНИТЬ ВСЕ
           |
           |ВЫБРАТЬ
           |	Штрихкоды.Владелец,
           |	Штрихкоды.Владелец.Наименование
           |ИЗ
           |	РегистрСведений.Штрихкоды КАК Штрихкоды
           |ГДЕ
           |	Штрихкоды.Штрихкод = &стр" ;
Выб = З.Выполнить().Выбрать();
Стр = "Выберите товар...";
Пока Выб.Следующий() Цикл
Стр =Стр+ ";"+Выб.Наименование;	
КонецЦикла;	

Переменные.Вставить("nom_list",Стр);

КонецЕсли;
Показать


Должно ли что-то происходить, если в приложении на смартфоне что-то выбрать из списка?
При таком раскладе, если я выбираю что нибудь из списка, приложение зависает и процесс httpd.exe сервера Apach начинает нагружать ЦП, далее ничего не происходит.
404. colV 27.11.20 15:13 Сейчас в теме
Здравствуйте, если несложно, объясните пожалуйста, как сделать переход на другой экран по *тапу* по строке таблицы, с данными по этой строке? Почему после ввода числа и его подтверждения число пропадает? Приходится нажимать кнопку назад и тогда число остается.
405. informa1555 2650 27.11.20 15:44 Сейчас в теме
(404) Здравствуйте! По клику на таблице возникает событие ввода, выбранная строка пишется в специальную переменную. Посмотрите документацию. Соответственно далее вы должны это событие обработать и показать экран который нужно. По поводу того что из поля ввода сбрасывается - нужно определить значение по умолчанию в заполнение поля - переменную= переменной ввода
406. colV 29.11.20 11:27 Сейчас в теме
(405)
Спасибо! Невнимательно читал документацию, теперь увидел, то, что нужно "TableClick – клик по таблице"
Можно еще вопрос...
Переменная selected_line, в которую передается значение после клика по таблице - это просто строка? Какой алгоритм должен быть на вкладке "OFFline & Rest", чтобы получить из нее таблицу со значениями из selected_line?
Чтобы обработать данные из нее на вкладке "OFFline & Rest" мы должны сначала загнать ее в объект Json, а потом вытянуть переменные? Только потом собирать обратно в таблицу?
407. colV 29.11.20 11:30 Сейчас в теме
Очень много вопросов возникает, в процессе сборки конфигурации.
Скажите пожалуйста, почему если выводить контейнер и список кнопок на одном экране, то список кнопок прижимается к нижней части экрана? Никак не могу победить этот момент.
410. informa1555 2650 30.11.20 11:06 Сейчас в теме
(407) Как у меня написано, можно использовать либо контейнеры либо элементы вне контейнера. Т.е. если вы используете контейнер то корневой контейнер на весь экран. Теоретически их можно совмещать но нет смысла и за результат я не отвечаю
418. colV 01.12.20 07:58 Сейчас в теме
(410)
Ок, спасибо. Просто в контейнере нет элемента "Список кнопок", но им удобно выводить списки на выбор (например склады магазина).
408. untru 13 29.11.20 14:27 Сейчас в теме
Добрый день, а у вас поддерживается https в webservice URL, просто переношу на боевую базу расширением, и по какой то причине не получается подключится https://prnt.sc/vs7dm1
При том что в программах типа "Postman" я запросы отправляю https://prnt.sc/vs7dbn и ответ 200.
То есть на сколько я понимаю при нажатии "процессы" происходит get запрос на webserviceURL/get_conf но в моем случае почему то это не происходит
412. informa1555 2650 30.11.20 11:07 Сейчас в теме
(408) Добрый день! Да конечно, просто пишете https и все. Может у вас порт другой
413. untru 13 30.11.20 11:24 Сейчас в теме
(412) Странно, так как у меня не работало. настроил апач что бы был http на другом порту и все взлетело. При чем не работало и как на тсд так и на эмуляторе. Очень внимательно перепроверял.
Так же к предложениям могу добавить, мы у себя на проекте в приложении и в 1с делали такую функцию: со стороны 1с https://prnt.sc/vsobjl get запрос простой с ответом 200, а в приложении под юрл и логин пароль кнопочку "Проверить соединение" https://prnt.sc/vsodjh что бы сразу можно было сразу понять конектится или нет.
415. informa1555 2650 30.11.20 14:40 Сейчас в теме
(413) да, тоже хорошее дело. Спасибо!
409. untru 13 29.11.20 17:57 Сейчас в теме
Есть предложение, которое может быть полезным, добавить в настройках возможность нескольких профилей.:
такого плана https://prnt.sc/vsacrs тогда с тсд можно будет цепляться к разным базам в процессе разработки без необходимости заново вбивать пути и авторизационные данные.
411. informa1555 2650 30.11.20 11:06 Сейчас в теме
(409) хорошее предложение. Внесу в план развития
417. informa1555 2650 30.11.20 14:49 Сейчас в теме
(409) Вообще, я подумал - у меня же это можно читать через разные qr - коды или файлы. Это не решает проблему для Вас?
414. untru 13 30.11.20 13:04 Сейчас в теме
У меня еще одно предложение, в конфигурацию, где описание обработчиков https://prnt.sc/vsqn31 встроить консоль кода, для удобства правки https://github.com/salexdv/bsl_console
416. informa1555 2650 30.11.20 14:42 Сейчас в теме
(414) 1С-ную часть все переписывают под себя обычно. Можно и консоль кода, да.
419. i.c.h 99 03.12.20 23:20 Сейчас в теме
Проблема. Переменные (все) очищаются при переходе из процесса в процесс. В демо базе в операции "Цикл в цикле" также проявляется
420. colV 04.12.20 06:04 Сейчас в теме
(419)
Переменные же хранятся только внутри процесса. Если нужно использовать переменную между процессами, сделай ее глобальной.
422. informa1555 2650 04.12.20 06:33 Сейчас в теме
(419) А разве StartProcessHashMap не переносит переменные? По идее должно
426. i.c.h 99 04.12.20 10:37 Сейчас в теме
(422)
StartProcessHashMap


Из процесса 1 вызывается процесса 2 командой StartProcessHashMap. В процесс 2 все переменные переносятся. Процесс 2 завершается и возвращается в процесс 1. И в этот момент все переменные очищаются, в том числе и глобальные. Проверял на демо базе операция "Цикл в цикле".
428. informa1555 2650 04.12.20 11:06 Сейчас в теме
(426) Ну да у меня переносится в дочерний процесс. Обратно нет. Как и написали - надо в таком случае использовать глобальные переменные.
429. i.c.h 99 04.12.20 11:54 Сейчас в теме
(428)
Ну да у меня переносится в дочерний процесс. Обратно нет. Как и написали - надо в таком случае использовать глобальные переменные.


Так вот проблема в том, что и глобальные переменные очищаются тоже. Проявляется если в дочернем процессе используются контейнеры (может как-то связано)
421. colV 04.12.20 06:11 Сейчас в теме
Предложение, добавить выбор программы "QR сканер" для сканирования через камеру смартфона. Через нее быстрее и точнее распознаются штрихкоды, почти не бывает ошибок, нежели у штатной. Процентов 30… штатное распознавание ШК ошибается, либо считывает часть ШК, либо выдает совершенно другой ШК. Так же в ней есть такие штука, как "Непрерывное сканирование", очень удобно, не нажимать каждый раз кнопку сканирование.
423. informa1555 2650 04.12.20 06:37 Сейчас в теме
(421)
QR сканер
можно ссылку? По идее все программы на зебровской библиотеке скорее всего построены и вряд ли могут быть отличия.
424. colV 04.12.20 06:45 Сейчас в теме
(423)
https://play.google.com/store/apps/details?id=com.teacapps.barcodescanner&hl=ru&gl=US

В особенности если камера "не очень", то ШК очень часто распознается неверно.
425. colV 04.12.20 09:32 Сейчас в теме
Вопрос.
Можно ли убрать стандартный звук считывания ШК и оставить только звуки через переменную Beep?
427. informa1555 2650 04.12.20 11:01 Сейчас в теме
(425) Сейчас этого нет. В принципе сделать можно.
479. gorakh 26 06.03.21 11:42 Сейчас в теме
(425) У меня ТСД это позволяет сделать. В настройках сканера.
430. untru 13 06.12.20 21:45 Сейчас в теме
Дмитрий, а не подскажете как можно посимпатичнее организовать такой функционал?
http://prntscr.com/vwzkqa Внизу кнопка при нажатии есть еще ряд кнопок, в идеале у которых есть еще подкнопки.
Ну хотя бы кнопка у которой подкнопки, при этом так, что бы экран не менялся. пока на ум приходит только список значений, но визуально это не очень удобно.
431. informa1555 2650 06.12.20 22:20 Сейчас в теме
(430) А чем не нравится смена экрана? Кнопок с подкнопками у меня нет. Ближайшая альтернатива в Андроиде - парящие кнопки, но они для этого тоже не используются. На таком большом экране как на скрине можно обычных кнопок расположить каких нужно и где нужно. С помощью контейнеров можно нарисовать все что угодно. Такие вот вложенные меню ИМХО не очень удобны кладовщику, гораздо лучше нормальные кнопки отобранные на экран по смыслу действия (то есть не все меню, а только действия , необходимые на данном шаге)
432. untru 13 06.12.20 23:01 Сейчас в теме
(431) Речь про всякие редкие кнопки, у нас это могут быть "Заблокировать задачу", "Посмотреть остаток", "Перейти на Экран такой то" , "Вернуться к вводу ячейки", "Вернуться к вводу номенклатуры".... наверно отдельный экран не так страшно как кажется и это дело привычки, на самом же экране это не разместишь, будет перегружено,
433. informa1555 2650 06.12.20 23:18 Сейчас в теме
(432) сделайте экран с такой менюшкой с кнопками и вызывайте по кнопке. Нижние навигационные кнопки можно отключить, вместо них воткнуть свои, одной из которых будет меню
434. untru 13 07.12.20 00:31 Сейчас в теме
(433) Да так и планирую попробовать сделать)
435. gorakh 26 08.12.20 16:57 Сейчас в теме
А можно открыть экран с таблицей с позиционированием на нужной строке? Например с последним отсканированным товаром. Кладовщик категорически не хочет нажимать кнопку "вперед" возвращающую на экран сканирования.
436. informa1555 2650 08.12.20 17:13 Сейчас в теме
(435) Там оформление ячеек доступно. Подстветить можете нужные ячейки. Аналогов "текущей строки" в андроиде вроде нет. Ну во всяком случае у меня нет.
437. informa1555 2650 08.12.20 17:14 Сейчас в теме
(435) Так можно не переходить на экран - на этом же экране "факт" отрисовывать
438. gorakh 26 08.12.20 17:37 Сейчас в теме
(437) Я отрисовываю таблицу товаров которые нужно еще сканировать. Думаю сделать отрисовку факта на этом же экране, а по кнопке вперед экран с вводом количества, Для случеев когда быстрее просто ввести количество.
439. a45 88 08.12.20 22:11 Сейчас в теме
Добрый день а по какому принципу сортируются поля ввода в форме ?

на форме расположенно 3 ввода :даты,строки, числа.

в итоге в приложении идут строка, число, дата

http://prntscr.com/vyhx74
440. informa1555 2650 08.12.20 23:02 Сейчас в теме
(439) Добрый день! Если это не контейнеры то там есть определенный шаблон расположения элементов ( грубо говоря они уже есть на форуме) . В контейнерах вы сами задаёте разметку произвольно и можно нарисовать форму любой сложности(к сожалению пока в контейнерах не все виды элементов, но я работаю над этим)
441. a45 88 09.12.20 05:40 Сейчас в теме
(440) ясно - попробую.

еще вопрос: а почему нету ввода значения булева ? (типа какой-то флажок)
442. informa1555 2650 09.12.20 06:16 Сейчас в теме
(441) почему нет? Галка же есть в контейнере. Примеры есть.
444. a45 88 09.12.20 06:32 Сейчас в теме
(442) отлично спасибо. не дошёл ещё до контейнеров.

вообще на первый взгляд мощно получилось ! побольше бы инфы/гайдов/стримов. запишите какой-нибудь видосик по разработке с 0 конфигурации (аля акиторг для торговиков) с применением новых механизмов (заданий, документов) (на ютубе есть пример со старыми механизмами)
446. informa1555 2650 09.12.20 06:57 Сейчас в теме
(444) Спасибо. Да. планирую видос запилить по новым механизмам -даже 2 по онлайну и оффлайну, но все времени не хватает. Но нужно, да.
443. colV 09.12.20 06:19 Сейчас в теме
(441)
Есть флажок
Прикрепленные файлы:
445. a45 88 09.12.20 06:33 Сейчас в теме
(443) да спасибо. я разбираю примеры, до познания контейнеров ещё не дошёл.
447. colV 10.12.20 13:20 Сейчас в теме
Дмитрий, здравствуйте.
Подскажите пожалуйста, как работает закладка "При запуске" в Операциях(Процессах), если я правильно понимаю переменная существует в приделах процесса.

Туда поместил просто выражение *Переменные.Вставить("process", "Проверка ценников");*

Но уже на первом экране, не могу вывести переменную (Не задано значение переменной *process).
453. informa1555 2650 11.12.20 09:33 Сейчас в теме
(447) При запуске в операции по сути не нужна - используйте При запуске в экране. В Операции При запуске используется для режима прямой передачи задания на сервер (есть такой режим)
454. colV 11.12.20 09:58 Сейчас в теме
(453)
Скажите, а как тогда можно при запуске процесса, записать текущую дату запуска процесса в переменную и использовать ее без перезаписи, при этом используется всего один экран и после считывания ШК - экран запускается по новой, и соответственно если мы пишем в переменную при открытии, то дата перезаписывается. Куда можно записать один раз дату и хранить там ее неизменно в течении всего процесса? Как это можно реализовать? Никак не могу сообразить.
456. informa1555 2650 11.12.20 10:30 Сейчас в теме
(454) Ну можно спользовать конструкцию Если НЕ Переменные.Свойство("перем",) Тогда Переменные. Вставить("перем",) КонецЕсли. Можно использовать и глобальные переменные если надо.
459. colV 11.12.20 12:20 Сейчас в теме
(456)
Спасибо! Сделал через *Если НЕ*. Как сам не догадался... :/
465. GarickRus 7 22.12.20 11:37 Сейчас в теме
(456) Не работает эта конструкция при повторном открытии Экрана из Процесса(переменная глобальная) Если Не Переменные.Свойство("_sklad",) Тогда
Переменные.Вставить("_sklad", Переменные.select);
КонецЕсли; Причём в составе элементов экран *_sklad отробатывает правильно.
466. GarickRus 7 22.12.20 11:42 Сейчас в теме
(456) В обработчике ввода не отрабатывает такая конструкция(переменная глобальная).
Если Не Переменные.Свойство("_sklad",) Тогда
Переменные.Вставить("_sklad", Переменные.select);
КонецЕсли;
Т.е каждый раз перемененная "_sklad" инициализируется заново. Причём в составе элементов экрана *_sklad отрабатывает правильно(в соседнем процессе)
467. GarickRus 7 23.12.20 12:40 Сейчас в теме
(466) Пока сделал через параметры сеанса.
448. colV 10.12.20 15:08 Сейчас в теме
Появился еще вопрос

ТаблицаСтрок не передается между экранами?
450. gorakh 26 11.12.20 08:12 Сейчас в теме
(448) У меня получиллсь через дополнительную переменную передавать таблицу.
452. colV 11.12.20 08:51 Сейчас в теме
(450)
Напишите пожалуйста по подробнее, как это сделать?
458. gorakh 26 11.12.20 10:39 Сейчас в теме
(452) Переменные.Вставить("VeryNeedTable", ТаблицаКакСтрокаJSON);
Элемент экрана Или контейнера - Тип:Таблица - заполнение:*VeryNeedTable
457. informa1555 2650 11.12.20 10:36 Сейчас в теме
(448) Это что то устаревшее видимо. Настолько что даже я не помню что это такое)) Работа с таблицами вот тут описана - там все передается https://uitxt.readthedocs.io/ru/latest/common_functions.html#id3
449. gorakh 26 11.12.20 08:10 Сейчас в теме
ИМХО Стоило бы записать поясняющее видео по OFLi ne&REST. Демо конфигурация, конечно помогает. Но много времени уходит на эксперементы.
451. informa1555 2650 11.12.20 08:45 Сейчас в теме
(449) Запишу конечно и по онлайн и по офлайн. Просто был период бурного роста, сейчас чуть устаканится (перестанут новые пачки новых фич появляться постоянно) и сделаю 2 видоса. Если хотите - могу выслать в личку видео и материалы по оффлайн (просто они немного для внутреннего пользования- не адаптированные). Напишите - вышлю.
455. gorakh 26 11.12.20 10:22 Сейчас в теме
ЛюбимыйОбщийМодуль
Функция ОченьНужнаяТаблица()
КонецФункции

В обработчике события экрана ОбработкаВвода
Переменные.Вставить("ОченьНужнаяТаблица",ЛюбимыйОбщийМодуль.ОченьНужнаяТаблица());

В эранах или контейнерах вставляем тип Таблица и задаем ему переменную *ОченьНужнаяТаблица.
460. colV 11.12.20 12:21 Сейчас в теме
461. gorakh 26 11.12.20 12:54 Сейчас в теме
(455)ОченьНужнаяТаблица() должна вернуть Таблицу в виде СтрокаJSON как описано в документации.
462. gorakh 26 14.12.20 17:13 Сейчас в теме
Клик по центральной таблице отловить можно?
463. informa1555 2650 14.12.20 17:54 Сейчас в теме
(462) Честно говоря сам не знаю. Можно заменить таблицу план-факт на таблицу из json (переменная central_table) после этого может получитсья
468. gorakh 26 23.12.20 15:52 Сейчас в теме
(463) Не получилось. Попробывал. Событие явно есть, но остается на ТСД. На http сервер не передается.
464. gorakh 26 15.12.20 18:49 Сейчас в теме
Кто подбирал звуки? Нужен длинный громкий сигнал. Подскажите код. Или сигналы подряд.
469. Балтазар 13.01.21 13:47 Сейчас в теме
Приветствую. Подскажите пожалуйста как правильно сделать логинирования, чтобы каждый пользователь входил под своей учёткой из 1с. (из настроек не вариант, потому, что для рядового пользователя это слишком сложно, QR-код не всегда будет под рукой, чтобы его сканировать). Сейчас реализовано через выбор пользователей из доп справочника, связанного со справочником пользователей(потому, что 1С не даёт прочитать пароль пользователя), но при таком подходе на уровне системы все сеансы запускаются под одним пользователем(прописанным в настройках simpleUI), и в итоге система версификации подтягивает именно этого пользователя сеанса. Есть ли какая-то возможность выбирать пользователя из процесса, а не из настроек, или возможно ли добавить это в последующие релизы, или придётся менять систему версификации в 1С?
470. informa1555 2650 13.01.21 14:24 Сейчас в теме
(469) Добрый день! Предполагается что из процесса. Сейчас есть галка Логин чтобы процесс запускался при старте ( она не работает, но в предстоящем релизе которой уже в процессе публикации я это исправил) обычно запускается экран логина(из меню или при старте), сканируют бейдж, при необходимости подгружается нужная конфа. Это не завязано на пользователя 1С, да, но это позволяет указывать Ответственных в документах. Так чтобы из процесса менять пользователя... Думаю можно через механизм констант - установить константы User и Pass . Такая вот лазейка, но я сам не пробовал. Кстати теперь есть отдельный форум: forum.simpleui.ru
471. Балтазар 13.01.21 14:52 Сейчас в теме
(470) Благодарю. Я сделал немного по другому, создал конфигурацию, в которой есть только логин, и при правильной комбинации вызываю другую конфигурацию, уже рабочую. Это действительно помогает решить часть проблем, но вот система версификации глобальная и привязана вообще ко всем документам, и естественно заведена в общие модули, поэтому править её это очень большой объём работы. Я пробовал играться с переменными User и Pass, у меня не получилось, попробую ещё, но возможно я как-то не правильно с ними работаю.
472. informa1555 2650 13.01.21 15:27 Сейчас в теме
(471) через установку констант, это не переменные. У меня есть пример в демо и документация на это.
473. Балтазар 13.01.21 15:58 Сейчас в теме
(472)Да, извиняюсь, ошибся при написании, а когда увидел, отредактировать сообщение уже не смог. Всётаки у меня получилось записать нужные значения в константы User и Pass (правда считать через ReadVarString[номер] почему-то не получилось) но возникла другая проблема, для того, чтобы изменения вступили в силу, нужно перезапустить приложение. Это можно как-то сделать программно?
474. informa1555 2650 13.01.21 16:14 Сейчас в теме
(473) Не, перезапустить программно нельзя (в принципе) Я чувствую что надо решить этот вопрос комплексно (сделать маску для пароля, перелогинивание из процесса нормальным способом) и это есть в дорожной карте. Просто я сейчас большие изменения готовлю (стационарная платформа, большой пакет по мобильной платформе, полноценный интерпретатор python для офлайна и т.д.) поэтому не все успеваю. Но это будет.
475. Балтазар 13.01.21 16:25 Сейчас в теме
476. borman 78 17.02.21 16:58 Сейчас в теме
Добрый день, Дмитрий! Столкнулся с такой проблемой в работе цикла: при первом сканировании все экраны отрабатываются как следует, на следующей итерации сканирование не выполняется вовсе. В "обработке ввода" прописан вызов функции модуля Отладка процессов. Так вод при первом сканировании алгоритм в нее попадает, при следующем - нет.

В чем может быть моя ошибка - ума не приложу.
477. informa1555 2650 17.02.21 17:23 Сейчас в теме
(476) Добрый день! Наверное этому есть какое то объяснение и проблему можно найти, только нет смысла - рекомендую перейти на произвольный запуск экранов. Вам не надо перерисовывать экраны и переписывать обработчики - прсто соберите их процессе, уберите цикл и пропишите запуски экранов. Идея с циклами изжила себя и не дает двигаться дальше.
478. informa1555 2650 17.02.21 17:44 Сейчас в теме
(476) Я даже вычистил из демки все эти старые примеры, сделал галку "Произвольный запуск экранов" по умолчанию и в доках написал))
480. andrey7617 56 03.06.21 18:15 Сейчас в теме
Добрый день. Уважаемые форумчане.
Прошу помощи у гуру.

Есть 2 аппарата Андроди Хонор 5А, и тсд атол smart.lite

Сделал тестовую конфигурацию. Андроид при сканировании товара камерой говорит название товара.
тсд атол smart.lite - на той же конфигурации этого не делает.

при этом на тсд атол smart.lite есть динамик - на ютубе звук идет.

1) Что нужно донастроить в тсд атол smart.lite чтобы он заговорил?


есть блютуз сканер Eyoyo EY-015 (https://aliexpress.ru/item/4000329142271.html?spm=a2g0s.9042311.0.0.708b33edZ6tTn8)

к анроиду подлючил, при этом в браузере он цыфорки пишет,
а в simpleui при пеоеходе на экран программа зависает секунд на 10, и затем пишет что "не подлючен блютуз".
в настройках поставил использовать блютуз, блютуз девайс - выбрал этот сканер, суффикс 13 (как и есть на самом деле)

2) Что я не правильно настроил для блютуз сканера Eyoyo EY-015 ??? как заставить его

3) А можно как нибудь в simpleui изменить штрифт в поле ввода числа или строки или даты ???
481. informa1555 2650 03.06.21 18:52 Сейчас в теме
(480) 1) google tts или speech engene 2) если сканер подключаете через настройки он должен быть в режиме spp. Обычно код есть в инструкции 3) шрифты то есть в Оформлении в Элементах стилей. Только я не помню подействует это на поля ввода или нет. Как вариант если надо большие числа вводить посмотрите в демке Калькулятор в примерах по питону. Можно по аналогии сделать. Или хардовые кнопки перехватывать.
482. informa1555 2650 03.06.21 19:20 Сейчас в теме
(480) Еще. Елси сканер "пишет в браузере" - это HID режим. Его тогда в настройках не надо подключать приложение само перехватыет ввод с энтером. Но режим SPP дает больше удобства. ТСД smart.lite наоборот помоему не отправляет в HID ничего (елси я ниче не путаю) его можно попробовать подключить через подписку на интент (в настройках). Но я в этом не уверен.
483. andrey7617 56 03.06.21 20:31 Сейчас в теме
Дмитрий спасибо ат души !!!

ТСД smart.lite наоборот помоему не отправляет в HID ничего

- не как раз как HID сделал ...

Еще. Елси сканер "пишет в браузере" - это HID режим.

- да все верно таким образом подключил ...

Но режим SPP дает больше удобства


- 4) где можно прочитать что это за режим, и как его настроить ? и скажите плиз в чем плюсы по сравнению с HID ?

5) Подскажите плиз а можно сделать так чтобы андроид или ТСД андроид сказал какое нибудь слово мною запрограммированное, или воспроизвел какой либо звук определенный ?
484. informa1555 2650 03.06.21 20:51 Сейчас в теме
(483) 4) минус HID - любое андроидоваское приложение когда на экране поле ввода то оно штрихкод перехватывает. А если через подписку на интент (для ТСД) или SPP (для внешних сканеров) то оно в фоне работает и на экране может быть поля ввода. Т.е. не надо разносить экран ввода штрихкода и экран ввода например артикула.
5) Переменные.Вставить("speak", "какое то слово") для 1С или HashMap.put( тоже самое для питона. https://uitxt.readthedocs.io/ru/latest/commands.html
485. andrey7617 56 03.06.21 21:02 Сейчас в теме
Дмитрий спасибо ат души !!!

1) Что нужно донастроить в тсд атол smart.lite чтобы он заговорил?
1) google tts или speech engene


- блин устанавливал (Синтезатор+речи+Google+25.2.1) и (Google+Text-to-speech+Engine+22.14) - не работает не то ни другое, настоек которые бы влияли на работу simpleui в google tts не нашел. Подскажите плиз какую то определенную версию надо ставить ? или что то еще нужно сделать чтобы заработал звук ?
486. informa1555 2650 03.06.21 21:26 Сейчас в теме
(485) а звук то вообще идет? Попробуйте команду beep например.
487. andrey7617 56 03.06.21 21:32 Сейчас в теме
а звук то вообще идет? Попробуйте команду beep например.

- Да beep отработал ... класная штука все же у вас получилась.

блин устанавливал (Синтезатор+речи+Google+25.2.1) и (Google+Text-to-speech+Engine+22.14) - не работает не то ни другое, настоек которые бы влияли на работу simpleui в google tts не нашел. Подскажите плиз какую то определенную версию надо ставить ? или что то еще нужно сделать чтобы заработал звук ?
488. informa1555 2650 03.06.21 21:52 Сейчас в теме
(487) Спасибо. Ну значит tts engine не работает по какой то причине. Тут был помню такой вопрос может в другой ветке правда... как то человек справился. А распознавание голоса тоже не работает?
489. andrey7617 56 03.06.21 21:54 Сейчас в теме
А распознавание голоса тоже не работает?

пока до этого не дошел.

Ну значит tts engine не работает по какой то причине.

- ну может есть какие то мысли за какие ниточки подергать ? что попробовать ? чтобы заработало ...
490. andrey7617 56 03.06.21 21:59 Сейчас в теме
Сорян Сорян все нашел все речь на атол smart.lite заработало - я сам тупанул в настройках есть синтез речи туда смотреть надо ...
491. andrey7617 56 15.06.21 02:51 Сейчас в теме
Добрый день. Возникло несколько вопросов.

1 вопрос - по поводу встроенного сканера и блютуз сканера. Мне удалось подключить оба (атол smart.lite - аппаратный) и к (хонор 5а - блютуз китайский) как клавиатуру.
(атол smart.lite - аппаратный) - вроде получилось как подписка на событие.
правильно я понимаю чтобы они работали корректно и не перехватывали ввода пользователем каких либо полей - нужно ставить галку "Использовать подписку на события сканера". Так ?
а какими значениями заполнять переменные ниже ? где мне это взять ?
и еще хотел спросить за что отвечает галочка "wedge as keys" ?

2 вопрос - на сайте есть пример звукового сигнала (Переменные.Вставить("beep","")) а как определенную мной мелодию сыграть ?
просто эти бипы все на одно звучание - мне хотьбы звука 3-4 чтобы совсем разные были ... это возможно ?

3 вопрос - по поводу вибрации - вы мне ранее написали что можно передать так (Переменные.Вставить("vibrate", "")), сделал при этом что "vibrate", "1", что "vibrate", "99" - разници никакой ...
можно тоже как нибудь пульсирующую вибрацию передарь на большее время ???

4 вопрос - подскажите если не трудно - какой из примеров в демо базе есть по перехвату ввода физических клавиш на тсд ???

много чего написал - сильно не пинайте - все же я еще разбираюсь что да как ...
Заранее огромное спасибо !!!
492. informa1555 2650 15.06.21 07:47 Сейчас в теме
(491) Доброе утро! 1) Смотрите, если встроенный в ТСД подключен через подписку, то он будет перехватываться в сервисе как событие (аналог внешнего события в 1С) и при вводе генерировать событие ввода listener=barcode, сам штрихкод тоже в Переменную barcode. Это легко проверить по отладке. В поля ввода это не попадает так как это не клавиатура. Естественно сам сканер также не должен быть настроен как HID он должен передавать через интент. Не знаю как с атоллом че там за программа настройки ну в общем это программа должна не в разрыв клавиатуры посылать, а отправлять сообщение. На других ТСД это переключается в программе настройки. В урово например. Что касается внешнего блютуз сканера. Для того чтобы ввод не перехватывался он также должен быть переключен в режим не HID а SPP. Обычно это в инструкции есть как запрограммить программирующим штрихкодом. Далее в настройках надо включить "Использовать bluetooth", выбрать девайс и суффикс. Например 10. Смотря что ваш сканер возвращает. У хоневеллов 13, у китайских бывает 10. Дальше интереснее. Этот режим писался для экранов - т.е. запускаешь процесс, там есть какой то экран с переменной у которой есть имя, туда все возвращается.... Но! Сегодня я публикую релиз где есть "сервис событий" (а это тот же сервис который на интенты подписывается) и если он активирован, то перехват блютуза будет тоже через него! Я не предполагал что 2 сканера будут - и встроенный и внешний. Ну в общем они оба должны работать и возвращать listener=barcode
wedge as keys для некоторых ТСД у которых вариант HID такой что это не строка с энетером на конце, а именно "нажатия" клавиш. Есть такие
2) там в beep от 1 до 99 можно передавать параметр - разные мелодии. В доках есть ссылка на список мелодий
3) не, вибрация не настраивается
4) В Примерах #3 - События клавиатуры. Там еще надо учесть что через главное меню есть тест клавиатуры с помощью которого просто посмотреть коды можно. Они разные же везде.
493. andrey7617 56 15.06.21 12:03 Сейчас в теме
3) не, вибрация не настраивается

- вообще нет никакого варианта ? может с помощью питона ?
494. informa1555 2650 15.06.21 12:54 Сейчас в теме
495. andrey7617 56 16.06.21 14:21 Сейчас в теме
Что касается внешнего блютуз сканера. Для того чтобы ввод не перехватывался он также должен быть переключен в режим не HID а SPP


- Добрый день. пока есть у меня только один блютуз сканер (Eyoyo EY-015).
Настроил его так - отсканировал настройки по умолчанию, затем bluetooth SPP Mode.
На обоих телефонах при начале открытия "не подлючен блютуз" и при этом сканер не работает ...

есть еще что то на что нужно обратить внимаение ?
Подскажите пжл не дорогой китайский сканер - который точно работает в симплюай в bluetooth SPP Mode ?
496. informa1555 2650 16.06.21 15:49 Сейчас в теме
(495) С Simple UI работает любой сканер. Надо настройки просто заполнить. Посмотрите видео из моего последнего поста там настройки есть. Сканер там netum Nt-1228BC около 1,7 т.р.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот