Вопросы по 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 Ответить
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
497. andrey7617 56 16.06.21 19:25 Сейчас в теме
Посмотрите видео из моего последнего поста там настройки есть


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

какие вы настроики делали для netum Nt-1228BC ? - только перевели его в bluetooth SPP Mode? и все ?
498. informa1555 2650 16.06.21 20:24 Сейчас в теме
(497) ну да. Может прав нет... У меня суффикс 10 но это не влияет на подключение...
499. andrey7617 56 16.06.21 20:35 Сейчас в теме
Может прав нет...

-имееете ввиду на блютуз - нет они есть.

В общем мне удалось подключить сканер - на всех формах он работает нормально - то есть не мешает клаиватуре. Но при сканировании программа зависает на несколько секунд, Затем возвращается на экран назад и снова пишет "блютуз не подлючен".

как думаете из за чего может быть трабл ?
501. informa1555 2650 16.06.21 21:44 Сейчас в теме
(499) что то не то он возвращает.... Или суффикс тне тот
500. andrey7617 56 16.06.21 21:32 Сейчас в теме
Добрый день. Хотел увидеть как работает чтение с клавиатуры атол smart.lite .
Изображение приложил.
Когда я на Экране "Вибрация 1" нажимаю клавиши (1,2,3 итд) - по итогу ни бипа ни перехода на экран "Вибрация 2" - нет.
1 - В чем может быть трабл ? правильно я понимаю что приложение не понимает что была нажата клавиша ?

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

ну то есть если дойти то "вибрация 20" то в моих мечтах долго бы вибрировал тсд или телефон.

правильно понимаю что так не работает ?

3 - Вы писали про отладку, как я понял это отладка на стороне 1с http запросов (поправьте если не так), где можно почитать про отладку ?
Прикрепленные файлы:
502. informa1555 2650 16.06.21 21:53 Сейчас в теме
(500) 1) коды клавиш не что вы обработчике прописаны. Надо запустить Тест клавиатуры , посмотреть коды и прописать в обработчике 2) сразу менять страницу при запуске чего? Приложения или процесса? 3) поставить в 1С отладку веб сервиса и посмотреть что setinput в Переменные пишет
503. andrey7617 56 16.06.21 22:18 Сейчас в теме
2 - правильно я понимаю что нельзя в обработчике при запуске ***Экрана*** заставить приложение сразу менять страницу?
написал такой код
Переменные.Вставить("vibrate", 1);
Переменные.Вставить("ShowScreen","Вибрация 2");

ну то есть если дойти то "вибрация 20" то в моих мечтах долго бы вибрировал тсд или телефон.

правильно понимаю что так не работает ?

2) сразу менять страницу при запуске чего? Приложения или процесса?


- Экрана
505. informa1555 2650 17.06.21 07:45 Сейчас в теме
(503) Ну нет, а зачем? Вы запускайте сразу какой нужно экран да и все. При запуске запускать другую форму это это как то нерационально.
504. andrey7617 56 16.06.21 22:23 Сейчас в теме
Добрый день. Хотел увидеть как работает чтение с клавиатуры атол smart.lite .
Изображение приложил.
Когда я на Экране "Вибрация 1" нажимаю клавиши (1,2,3 итд) - по итогу ни бипа ни перехода на экран "Вибрация 2" - нет.
1 - В чем может быть трабл ? правильно я понимаю что приложение не понимает что была нажата клавиша ?\

1) коды клавиш не что вы обработчике прописаны. Надо запустить Тест клавиатуры , посмотреть коды и прописать в обработчике


- дак даже событие не отрабатывает (Если Переменные.listener = "keyboard" Тогда) то есть внутрь этого елси не попадает.
в Тесте клавиатуры у меня все клавиши нажимаю - null, только f2 какой то там код показывает ...
506. informa1555 2650 17.06.21 07:48 Сейчас в теме
(504) Это странно. Галка "Подключить чтение клавиатуры" естественно включена? Ну он должен читать клавиши. Как вариант из главного меню запустите Тест клавиатуры там должно читать.
andrey7617; +1 Ответить
507. andrey7617 56 17.06.21 11:58 Сейчас в теме
2 - правильно я понимаю что нельзя в обработчике при запуске ***Экрана*** заставить приложение сразу менять страницу?
написал такой код
Переменные.Вставить("vibrate", 1);
Переменные.Вставить("ShowScreen","Вибрация 2");

ну то есть если дойти то "вибрация 20" то в моих мечтах долго бы вибрировал тсд или телефон.

правильно понимаю что так не работает ?

- Ну нет, а зачем? Вы запускайте сразу какой нужно экран да и все. При запуске запускать другую форму это это как то нерационально.


- чтобы дать долгую продолжительную вибрацию - чтобы отсигнализировать кладовщику что что то не нормально, бывает что очень шумно на складе например, или глуховат кладовщик ... Вы сказали что подумаете над вибрацией - но когда это будет ... (((
508. andrey7617 56 17.06.21 12:04 Сейчас в теме
Добрый день. Хотел увидеть как работает чтение с клавиатуры атол smart.lite .
Изображение приложил.
Когда я на Экране "Вибрация 1" нажимаю клавиши (1,2,3 итд) - по итогу ни бипа ни перехода на экран "Вибрация 2" - нет.
1 - В чем может быть трабл ? правильно я понимаю что приложение не понимает что была нажата клавиша ?

1) коды клавиш не что вы обработчике прописаны. Надо запустить Тест клавиатуры , посмотреть коды и прописать в обработчике


- дак даже событие не отрабатывает (Если Переменные.listener = "keyboard" Тогда) то есть внутрь этого елси не попадает.
в Тесте клавиатуры у меня все клавиши нажимаю - null, только f2 какой то там код показывает ...

Это странно. Галка "Подключить чтение клавиатуры" естественно включена? Ну он должен читать клавиши. Как вариант из главного меню запустите Тест клавиатуры там должно читать.


- "Подключить чтение клавиатуры" - да (Посмотрите фото снизу так сделано). Запустить тест клавиатуры - это вы имеете ввиду из демо базы вашей ? Запускал на все клавиши кроме одной код клавиши не меняется. только если нажимаю f2 программа пишет какой то код.

В чем может быть трабл с чтением клавиатуры?
Прикрепленные файлы:
509. informa1555 2650 17.06.21 12:14 Сейчас в теме
(508) нет в главном меню программы. В чем трабл затрудняюсь сказать не сталкивался с таким на других девайсах
andrey7617; +1 Ответить
510. andrey7617 56 17.06.21 15:26 Сейчас в теме
Запустить тест клавиатуры - это вы имеете ввиду из демо базы вашей ? Запускал на все клавиши кроме одной код клавиши не меняется. только если нажимаю f2 программа пишет какой то код.

нет в главном меню программы. В чем трабл затрудняюсь сказать не сталкивался с таким на других девайсах


1 - в общем как и говорил ни одна клавиша не возвращает ничего. только f2 какой то там код возвращает. Клавиатура должна работать в каком то режиме ? или с какими то определенными настройками ? я могу без проблем в атоле спросить ... пните плиз куда копать ...

2 - думаете что нибудь будет в след релизах по поводу вибрации ? получиться ?
511. informa1555 2650 17.06.21 16:09 Сейчас в теме
(510) 1) это стандартные для Андроида события - нажатия клавиш onKeyUp. Видимо устройство не генериует эти события... Не разу с таким не сталкивался и люди пишут что все рабоатет
2) уже сделал будет в след. релизе длительность в мс передаете в переменную например 1000
andrey7617; +1 Ответить
512. andrey7617 56 17.06.21 19:07 Сейчас в теме
2) уже сделал будет в след. релизе длительность в мс передаете в переменную например 1000

- уважение !!! ат души !!! Когда примерно будет след релиз ?
513. andrey7617 56 18.06.21 13:49 Сейчас в теме
Дмитрий понимаю что подзадолбал вопросами - но кое что не смог найти и понять ..
.
Переменные.Вставить("ShowScreen","Поиск товара по наименованию"); - это переход по экранам

1 вопрос - а как вернуться обратно на страницу где операции отображаются (в начало) ?
514. informa1555 2650 18.06.21 16:22 Сейчас в теме
(513) Добрый день! Это меню. Для этого надо завершить процесс. Вручную или командой FinishProcess например https://uitxt.readthedocs.io/ru/latest/commands.html
andrey7617; +1 Ответить
591. chesnokov-a-v 100 24.08.21 10:56 Сейчас в теме
(514) Добрый день. Никак не получается разобраться в проблеме:
В обработке действия 1С в CV-шаг написал док

Если Переменные.listener = "Завершить" или Переменные.listener = "Обратно" Тогда 
Переменные.Вставить("FinishProcess","");
КонецЕсли;


В поле "Кнопки действия" - Обратно
На экране кнопка есть, но при нажатии ничего не происходит. Переменной FinishProcess нужно присваивать значение текущего экрана/шага?
592. informa1555 2650 24.08.21 10:59 Сейчас в теме
(591) Добрый день! Не, просто пустая строка. Посмотрите отладчиком что в listener
515. andrey7617 56 26.06.21 12:23 Сейчас в теме
Добрый день. есть пару вопросов.

1 - Я сделал сравнение объединение с вашей конфигурацией и базой УТ 10.3 на обычных формах, опубликовал базу - вроде тестово симл юай работает. Есть какие то подводные камни в работе с базами на обычном приложении?
2 - Когда у нас начальный экран симпл юай - можно ли запрограммировать кнопки - чтобы по нажатию кнопок я выбирал какой либо процесс ?
516. informa1555 2650 26.06.21 12:44 Сейчас в теме
(515) Добрый день! 1. Ну формы конструктора только под обычные формы переделать немного и всё. 2. Ну там и так кнопки процессов же. Есть "плитки" ещё на главном меню гляньте у меня в мае пост есть
andrey7617; +1 Ответить
517. andrey7617 56 26.06.21 12:47 Сейчас в теме
Ну там и так кнопки процессов же

- если для ТСД представьте кладовщик грязными ругами в перчатках по экрану будет елозить ... ((( - совсем не вивальди ...
518. informa1555 2650 26.06.21 14:09 Сейчас в теме
(517) А понятно. Ну боритесь за чистоту условий труда)) Если серьезно, то у меня есть перехват аппаратных клавиш и есть вариант (галка логин) запускать экран при старте и там организовать свое меню. Таким образом можно сделать. На главном меню я не делал.Это в планах есть но все отодвигается и отодвигается.
andrey7617; +1 Ответить
519. andrey7617 56 02.07.21 14:47 Сейчас в теме
Добрый день уважаемый Дмитрий.

- как и ранее писал в тесте клавиатуры у меня работает только одна клавиша f2. остальные тишина

это стандартные для Андроида события - нажатия клавиш onKeyUp. Видимо устройство не генериует эти события... Не разу с таким не сталкивался и люди пишут что все рабоатет

- Писал в Атол и на форум и в техподдержку никто не отвечает ((( подскажите плиз - может есть какое то приложение ? которое может показать какое событие сейчас работает на андроиде.
- Есть какие мысли как побороть эту ситуацию ? чтобы onKeyUp отрабатывали ...
520. informa1555 2650 02.07.21 16:06 Сейчас в теме
(519) Добрый день! Ну я могу конечно и на другое событие перехват настроить... Только надо знать на какое. И почему только одна клавиша... Программа - ну у меня вот в главном меню тес клавиатуры - че уж проще то она просто выводит события и все. Другие на других терминалах пишут что все норм... У меня нет этого терминала под рукой. А там нет какой то настройки может?
521. andrey7617 56 02.07.21 19:23 Сейчас в теме
Приветствую Дмитрий !!!
А там нет какой то настройки может?

- вот весь перерыл. Ничего не нашел похожего ((( может чего то и не понял ибо на ангийском ...
522. informa1555 2650 03.07.21 16:19 Сейчас в теме
(521) могу сделать в принципе версию теста на другое событие. Напишите в личку на след неделе - пришлю вариант. Не факт что сработает, но попробовать можно.
523. uriuri 19.07.21 15:07 Сейчас в теме
Добрый день!
Изучаю ваш продукт. Настроил, вроде все норм. В демо базе правда как-то непонятно с кодами конфигураций клиентов - не совпадают! Т.е. например как в 1С в справочнике "Конфигурации клиентов" "Рабочее место "Приемка" (по-новому)" под кодом 000000001, а у меня на мобильном устройстве если прописываю код 000000001, то конфигурацию не находит, а вот под кодом 000000005 находит именно ее..?
Еще проблема теперь сделал в новой чистой базе конфигурацию клиента с кодом 000000001, с мобильного устройства все норм видит и загрузилась работает. Сделал еще одну конфигурацию клиента, уже с кодом 000000002 соответственно, то с мобильного устройства ее почему-то не видит, т.е. только первую созданную видит. Что я могу не так делать?
524. informa1555 2650 19.07.21 15:38 Сейчас в теме
(523) Добрый день! При онлайн-подключении указывать надо коды справочника "Мобильные клиенты" (цифровые) а не конфигурации. Второй вопрос - тоже самое - через "Мобильные клиенты" публиковать если он-лайн режим (т.е. через вашу 1С). Если другой режим то как угодно - через файлы или каким то другим способом. Конфигурации и Мобильные клиенты - два разных справочника.
525. uriuri 19.07.21 15:53 Сейчас в теме
Спасибо, что-то упустил я момент про справочник "Мобильные клиенты" - теперь все норм, заработало как надо и нет загадки, что не соответствуют коды клиентов в 1С и на мобильном устройстве в демо базе..)) Я в начале пути, спасибо за оперативный ответ!
526. Newcomer 6 20.07.21 14:50 Сейчас в теме
Здравствуйте. ТСД Urovo DT30, v Использовать подписку на события сканера, сообщение сканера: "urovo.rcv.message", переменная сканера: "barocode", длина: "length". Вместо штрихкода получаю [B@******* (вместо звездочек всегда новый набор символов). Куда копать? UPD опечатался в одной букве, все работает...
527. user672558_Juch6209 29.07.21 13:58 Сейчас в теме
Здравствуйте! на стороне ТСД передал через переменную Переменные.Вставить("PrintService","operation=view&barcode=" + ШтрихКод) штрихкод товара и на стороне 1С написал свою обработку по формированию штрихкода в pdf (отладил ее в диалоге сеанса 1С - штрихкод выводится на экран!), в модуле менеджера этой обработки вставил этот код только с записью в pdf (как из вашего примера ЗаказПокупателя), в HTTP-сервисах в функции print_pdfprint() вставил вызов ее СтрокаPDF = Обработки.ст_СозданиеФайлаРаспечаткиШтрихкодаТовара.СозданиеШтрихкодаТовара(ИД), но когда иду отладчиком 1С, то в мою обработку даже не заходит выполнение (в вашем примере смотрю - в модуль менеджера заказа покупателя отладчик входит и весь код проходит по строкам). В чем причина не пойму (параметр один - штрихкод, и ошибок если сделать Попытка, тоже нет) подскажите пожалуйста ?
530. informa1555 2650 29.07.21 16:03 Сейчас в теме
(527) Здравствуйте! может штрихкод имеет символы не совместимые с GET-запросом? У вас на сервис print_pdf вызов то происходит? Отладчиком перехватывается?
532. user672558_Juch6209 29.07.21 22:07 Сейчас в теме
(530) да, отладчик входит в print_pdfprint() и когда по шагам в отладчике (F11) дохожу до своей строки СтрокаPDF = Обработки.ст_СозданиеФайлаРаспечаткиШтрихкодаТовара.СозданиеШтрихкодаТовара(ИД), курсор ее просто не замечает и входит сразу в функцию set_inputset_input() и далее просто без результата выполняется.
535. user672558_Juch6209 29.07.21 23:02 Сейчас в теме
(532) Если вставляю вашу строку СтрокаPDF = Документы.ЗаказПокупателя.ПримерПечати(ИД,ложь); и в модуль менеджера док-та ЗаказПокупателя вставляю ваш текст из примера, то отладчик заходит в модуль менеджера док-та, а в мою обработку почему-то не заходит. Что можно только для док-та это делать ?
538. user672558_Juch6209 31.07.21 13:55 Сейчас в теме
(530) Убрал из модуля менеджера обработки запросы к БД (я пытался сосчитать еще дополнит.данные к распечатке) и убрал стандартное формирование распечатки штрихкода в УТ 10.3 (Макет = ПолучитьОбщийМакет("Этикетка") и т.д.) на свое через МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода). Все заработало ! Плохо, что ошибка в модуле менеджера объекта никак не фиксируется в модуле HTTP-СЕРВИСА, или я не знаю как ее ловить ?
541. informa1555 2650 31.07.21 14:16 Сейчас в теме
(538) Может там в попытку обернуто? Это вопрос уже к 1С на самом деле. По идее без разницы где вы вызываете процедуру- если есть ошибка она должна дойти до вызывающего метода. а если например попытка/исключение в вызываемом то не дойдет
528. user672558_Juch6209 29.07.21 14:09 Сейчас в теме
Еще один вопрос: у меня создано в Процессе три Экрана: Выбор документа поступления, Выбор товара из документа поступления, Ввод принятого количества. В каждом экране есть вид элемента экрана Штрихкод, только переменные в каждом экране, в которые записывается значение штрихкода разные: barcode1, barcode2, barcode3. Во всех экранах в Обрабочике1С (обработка ввода) есть проверка на заполненность штрихкода. Почему если я на первом экране сканирую штрихкод, то в обработке ввода второго экрана пишет сообщение, что переменная barcode2 не заполнена - ведь я на втором экране еще не сканировал ничего ?
531. informa1555 2650 29.07.21 16:06 Сейчас в теме
(528) Ну так не должно быть. Опять же отладкой можно понять обработчик какого экрана выполняется. Это же код на стороне 1С выполняется. Пришлите код обработчика 1го экрана (где пишет про езаполненность второго штрихкода)? Думаю там ошибка.
533. user672558_Juch6209 29.07.21 22:21 Сейчас в теме
(531) обработчик ввода 1 экрана:
//ОтладкаПроцессов.Обработчик2(Переменные,ТаблицаСтрок,Ошибка,СообщениеОбОшибке);

Если Переменные.listener = "BACK_BUTTON" ИЛИ Переменные.listener = "btn_exit" Тогда
	Переменные.Вставить("ShowScreen","Приемка товара");
Иначе
	ДокПоступления = Документы.ЗаказПоставщику.ПустаяСсылка();
	Если Переменные.Свойство("barcode_order") и Переменные.listener = "barcode"  Тогда
		ШтрихКодДок = Переменные.barcode_order;
		Поз = Найти(ШтрихКодДок, Символы.ПС);
		Если ЗначениеЗаполнено(ШтрихКодДок) И Поз > 0 Тогда
			ИмяДок = Сред(ШтрихКодДок, 1, Поз - 1);
			ШтрихКодДок = Сред(ШтрихКодДок, Поз + 1);
			Поз = Найти(ШтрихКодДок, Символы.ПС);
			НомерДок = Сред(ШтрихКодДок, 1, Поз - 1);
			ДатаДок = Сред(ШтрихКодДок, Поз + 1);
			ДатаДень = Число(Сред(ДатаДок, 1, 2));
			ДатаМесяц = Число(Сред(ДатаДок, 4, 2));
			ДатаГод = Число(Сред(ДатаДок, 7, 4));
			ДатаДокТекст = ДатаДок;
			ДатаДок = Дата(ДатаГод, ДатаМесяц, ДатаДень);
			Если Лев(ИмяДок, 1) = "З" Тогда
				ДокПоступления = Документы.ЗаказПоставщику.НайтиПоНомеру(НомерДок, ДатаДок);
			Иначе
				ДокПоступления = Документы.ПоступлениеТоваровУслуг.НайтиПоНомеру(НомерДок, ДатаДок);
			КонецЕсли;
		КонецЕсли;
	КонецЕсли;
	Если Не ДокПоступления.Пустая() Тогда
		ДокПоступленияДата = Строка(ДокПоступления.Дата);
		ДокПоступленияДата = Сред(ДокПоступленияДата, 1, Найти(ДокПоступленияДата, ":") - 4); 
		Переменные.Вставить("order",СокрЛП(ДокПоступления.Контрагент) + ", " + ?(Лев(ИмяДок, 1) = "З", "Заказ", "Поступление") + " №" + СокрЛП(ДокПоступления.Номер) + " от " + ДокПоступленияДата);
		Переменные.Вставить("orderRef",СокрЛП(ДокПоступления.УникальныйИдентификатор()));	
		Переменные.Вставить("ShowScreen","Выбор товара из документа поступления");
	Иначе
		СообщениеОбОшибке = "Документ поступления не найден !";	  
	КонецЕсли;	
КонецЕсли;
  
обработчик ввода 2 экрана:		
//ОтладкаПроцессов.Обработчик2(Переменные,ТаблицаСтрок,Ошибка,СообщениеОбОшибке);


Если Переменные.listener = "BACK_BUTTON" ИЛИ Переменные.listener = "btn_exit" Тогда
	Переменные.Вставить("ShowScreen","Выбор документа поступления");
Иначе
	СообщениеОбОшибке = "";
	ЭтоКнопкаАртикул=ложь;
	ЭтоШтрихКод=ложь;
	ЭтоКликПоТаблице = Ложь;
	Переменные.Вставить("btn_defect",  "false");
	Переменные.Вставить("btn_minus",  "false");
	
	Если Переменные.Свойство("listener") Тогда
		Если Переменные.listener="btn_find" Тогда
			ЭтоКнопкаАртикул=Истина;
		ИначеЕсли Переменные.listener="barcode" Тогда
			ЭтоШтрихКод=Истина;
			
		ИначеЕсли Переменные.listener = "TableClick"  Тогда
			ЭтоКликПоТаблице = Истина;
		КонецЕсли;
	КонецЕсли;
	
	Если ЭтоКнопкаАртикул Тогда
		Если Переменные.Свойство("art") Тогда
			Если Не ЗначениеЗаполнено(Переменные.art) Тогда
				СообщениеОбОшибке = "Пустой артикул";
			Иначе
				Ном = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул",Переменные.art); 
				Если НЕ Ном.Пустая() Тогда
					Переменные.Вставить("nom",Ном.Наименование);	
					Переменные.Вставить("descr",Ном.НаименованиеПолное);	
					Переменные.Вставить("key", СокрЛП(Ном.Код));
					
					СтрокаТаблицы = Переменные.table;
					МассивСтрок = СтрРазделить(СтрокаТаблицы, "nom");
					Для Каждого ЭлементМассива из МассивСтрок Цикл
						Поз = Найти(ЭлементМассива, Переменные.key);
						Если Поз > 0 Тогда
							Прервать;
						КонецЕсли;
					КонецЦикла;
					Если Поз = 0 Тогда
						Переменные.Вставить("qty_plan", 0);
						Переменные.Вставить("qty_fact", 0);
						Переменные.Вставить("qty_defect", 0);
					Иначе
						Поз1 = Найти(ЭлементМассива, "qty_plan");
						Поз2 = Найти(ЭлементМассива, "qty_fact");	
						Поз3 = Найти(ЭлементМассива, "qty_defect");	
						Поз4 = Найти(ЭлементМассива, "key");	
						Переменные.Вставить("qty_plan", Число(Сред(ЭлементМассива, Поз1 + 11, Поз2 - Поз1 - 14)));	
						Переменные.Вставить("qty_fact", Число(Сред(ЭлементМассива, Поз2 + 11, Поз3 - Поз2 - 14)));	
						Переменные.Вставить("qty_defect", Число(Сред(ЭлементМассива, Поз3 + 13, Поз4 - Поз3 - 16)));	
					КонецЕсли;
					Переменные.Вставить("qty", 1);	
					//это для дальнейшего использования
					Переменные.Вставить("nomRef",СокрЛП(Ном.УникальныйИдентификатор()));	
					Переменные.Вставить("ShowScreen","Ввод принятого количества");
				Иначе
					СообщениеОбОшибке = "Не найдена номенклатура";
				КонецЕсли;	
			КонецЕсли;
		КонецЕсли; 
	ИначеЕсли ЭтоШтрихКод Тогда
		Если Переменные.Свойство("barcode") Тогда 
			З = Новый Запрос;
			З.Текст = "ВЫБРАТЬ
			|	ШтрихКоды.Владелец КАК Владелец
			|ИЗ
			|	РегистрСведений.ШтрихКоды КАК ШтрихКоды
			|ГДЕ
			|	ШтрихКоды.Штрихкод = &Штрихкод";
			З.УстановитьПараметр("Штрихкод",Переменные.barcode);
			ТабШК = З.Выполнить().Выгрузить();
			Товар = Неопределено;
			Если ТабШК.Количество() = 0 Тогда
//				Ошибка=Истина;
//				СообщениеОбОшибке = "Не найден штрихкод: "+СокрЛП(Переменные.barcode);
			ИначеЕсли ТабШК.Количество() > 1 Тогда
				Ошибка=Истина;
				СообщениеОбОшибке = "Найдено (" + СокрЛП(Строка(ТабШК.Количество())) + ") позиции с данным штрихкодом: " + СокрЛП(Переменные.barcode);
			Иначе
				Товар = ТабШК[0].Владелец;
				Если ЗначениеЗаполнено(Товар) Тогда
					Если ТипЗнч(Товар) = Тип("СправочникСсылка.Номенклатура") Тогда
						Переменные.Вставить("nom",Товар.Наименование);	
						Переменные.Вставить("descr",Товар.НаименованиеПолное);
						Переменные.Вставить("key", СокрЛП(Товар.Код));
						
						СтрокаТаблицы = Переменные.table;
						МассивСтрок = СтрРазделить(СтрокаТаблицы, "nom");
						Для Каждого ЭлементМассива из МассивСтрок Цикл
							Поз = Найти(ЭлементМассива, Переменные.key);
							Если Поз > 0 Тогда
								Прервать;
							КонецЕсли;
						КонецЦикла;
						Если Поз = 0 Тогда
							Переменные.Вставить("qty_plan", 0);
							Переменные.Вставить("qty_fact", 0);
							Переменные.Вставить("qty_defect", 0);
						Иначе
							Поз1 = Найти(ЭлементМассива, "qty_plan");
							Поз2 = Найти(ЭлементМассива, "qty_fact");	
							Поз3 = Найти(ЭлементМассива, "qty_defect");	
							Поз4 = Найти(ЭлементМассива, "key");	
							Переменные.Вставить("qty_plan", Число(Сред(ЭлементМассива, Поз1 + 11, Поз2 - Поз1 - 14)));	
							Переменные.Вставить("qty_fact", Число(Сред(ЭлементМассива, Поз2 + 11, Поз3 - Поз2 - 14)));	
							Переменные.Вставить("qty_defect", Число(Сред(ЭлементМассива, Поз3 + 13, Поз4 - Поз3 - 16)));	
						КонецЕсли;
						Переменные.Вставить("qty", 0);	
						
						//Переменные.Вставить("show","false");
						//это для дальнейшего использования
						Переменные.Вставить("nomRef",СокрЛП(Товар.УникальныйИдентификатор()));	
						Переменные.Вставить("ShowScreen","Ввод принятого количества")
					Иначе
						Ошибка=Истина;
						СообщениеОбОшибке = "Отсканирован не товар";
					КонецЕсли;	
				Иначе
					Ошибка=Истина;
					СообщениеОбОшибке = "Неизвестный штрихкод:" + СокрЛП(Переменные.barcode);
				КонецЕсли;	
			КонецЕсли;	
		Иначе
			Ошибка=Истина;
			СообщениеОбОшибке = "Ошибка конфигурации";
		КонецЕсли;
	КонецЕсли;
КонецЕсли;

В первом экране считываю QR-код док-та, после открывается 2-ой экран и сразу сообщение из обработчика ввода второго экрана (хотя во втором экране я штрихкод товара не считывал ) в строке:
Если ТабШК.Количество() = 0 Тогда - сообщения я закомментарил, т.к. возникает ошибка и дальше не работает
//				Ошибка=Истина;
//				СообщениеОбОшибке = "Не найден штрихкод: "+СокрЛП(Переменные.barcode);
Показать
534. user672558_Juch6209 29.07.21 22:28 Сейчас в теме
(533) Подскажите, пожалуйста, как отладчиком 1С пройтись по коду в обработчике 1С (обработка ввода) ?
536. informa1555 2650 30.07.21 07:03 Сейчас в теме
(534) Сделайте процедуру общего модуля и вставьте в обработчик. Там есть модуль "ОтладкаПроцессов" и примеры процедур.
542. user672558_Juch6209 02.08.21 11:33 Сейчас в теме
(536) Здравствуйте ! Перенес обработки ввода всех трех экранов в разные процедуры (Обработчик1, Обработчик2, Обработчик3) общего модуля ОтладкаПроцессов. Прошелся отладчиком и вот результат: При сканирование QR-кода на первом экране отрабатывает сначала Обработчик1 и затем сразу и Обработчик2 второго экрана (как в общем-то я и предполагал в начале !). Зацикливание в коде никакого нет (см. код выше). Причем в Экран1 и Экран2 разные переменные для ввода штрихкода (Переменные.barcode_order в Экран1 и Переменные.barcode в Экран2), но после сканирования в первом экране значение Переменные.barcode становится равной Переменные.barcode_order. А далее еще интереснее: при сканировании, например, в последнем экране3 (там Переменные.barcode1 и вводится кол-во товара) эта процедура отрабатывает сама себя три раза и соответственно кол-во товара тоже в три раза.
Самое интересное, если весь этот процесс я выполняю на сот.телефоне через его камеру, то все работает нормально и нет непонятных мне скачков из одной процедуры ввода в другую.
В чем же может быть причина ? Помогите пожалуйста.

P.S. Во всех экранах установлена галочка произвольного запуска экранов.
Переменные.barcode_order в Экран1 - выбор QR-кода док-та поступления
Переменные.barcode в Экран2 - выбор штрихкода самого первого товара из таблицы товаров
Переменные.barcode1 в Экран3 - выбор штрихкода последующих товаров (при смене значения в barcode1 <> barcode меняю надписи по товару на экране и делаю barcode1 = barcode)
543. informa1555 2650 02.08.21 11:36 Сейчас в теме
(542) Добрый день! А как он на Обработчик2 переходит?
544. informa1555 2650 02.08.21 12:30 Сейчас в теме
(542) Обработчик 2 может запуститься только если у вас на сервис придет команда, а команда у вас может придти только если у вас ShowScreen Экран 2 вставлен. По другому никак. Может быть у вас правда сканер 2 раза выдает событие, попробуйте настроить в "разрыв клавиатыры" с суффиксом 13
545. user672558_Juch6209 03.08.21 11:03 Сейчас в теме
(544) Здравствуйте ! В тексте программы, который я представил ранее, видно, что из первого экрана после сканирования QR-кода вызывается по ShowScreen второй экран, во втором экране после сканирования штрихкода товара по ShowScreen вызывается третий экран, а третий экран по ShowScreen зациклин и выход из него по кнопке btn_exit. Обработчики при запуске (3 шт.) тоже вынес в три разные процедуры общего модуля для всех трех экранов. Также они после первого экрана отрабатывают сейчас уже по три раза. На сот.телефоне все работает нормально.

Сейчас только обратил пристальное внимание на такую ситуацию - при запуске Simpli UI cразу висит какой-то фоновый процесс и если этот фоновый процесс удалить, то все начинает работать нормально. В конфигурации клиента галочки "Подключить сервис" не установлена.

Вопрос: почему при не установленной галочки запускается какой-то фоновый процесс, и я подозреваю, что если их не завершать, то их становится все больше и больше и отработка событий соответственно работает многократно ?
Как отключить эти фоновые процессы ?
546. informa1555 2650 03.08.21 11:11 Сейчас в теме
(545) Здравствуйте! фоновый процесс запускается в 2х случаях - 1) если пользоваться фоновым сервисом 2) если подключать сканер через intent .
547. user672558_Juch6209 03.08.21 14:20 Сейчас в теме
(546) подскажите, пожалуйста, где отключить фоновый сервис ? если в андроиде ТСД, то отключил для Simple UI в Передаче данных -> Фоновый режим

В настройках сканера в разделе Intent:
intent action: android.intent.ACTION_DECODE_DATA
intent string extra: barcode_string
А на как нужно подключить ?
548. informa1555 2650 03.08.21 20:35 Сейчас в теме
(547) Чтобы не было фонового сервиса надо убрать в настройках самого приложения подписку на интент, и если есть в настройках конфигурации убрать галку сервис (закладка Сервис). Подключить можно через эмуляцию клавиатуры. Обычно это задается в настройках программы ТСД. Тогда сканер будет посылать строку с энтером на конце или последовательность нажатий кнопок с энтером на конце. Конечно через интент лучше так как оно не перехватывается полями ввода, но к сожалению у меня это не воспроизводится и я честно говоря так и не понял как это воспроизвести.
551. user672558_Juch6209 04.08.21 16:42 Сейчас в теме
(548) Галка в настройках конфигурации "Подключить сервис" не была установлена изначально, а подписку на интент в настройках самого приложения мы установили, чтобы начался сканироваться QR-код. Без этой подписки QR-код вообще не отрабатывал как событие. Как тогда нам генерировать событие на QR-код ? будет работать через эмуляцию клавиатуры ?
552. informa1555 2650 04.08.21 17:15 Сейчас в теме
(551) Да, будет работать через эмуляцию без каких либо настроек со стороны приложения. А в самом ТСД надо переключить на вывод через клавиатуру. Почти 100% ТСД это поддерживают. поля ввода только не располагайте на тех экранах где идет сканирование. На самом деле с интентом конечно косяк но он проявляется на каких то отдельных ТСД, а я все никак не могу добраться до такого чтобы пощупать вживую. Рано или поздно я конечно это исправлю не сомневайтесь.
558. user672558_Juch6209 06.08.21 09:06 Сейчас в теме
(552) 1.Ответьте, пожалуйста, а какой вы сканер(ы) использовали, когда тестировали свою разработку ?
2. Какой по вашей практике ТСД лучше использовать для сканирования QR-кодов и штрихкодов без использования подписок (чтобы не было фоновых процессов) и чтобы надежно все работало ?
560. informa1555 2650 06.08.21 10:47 Сейчас в теме
(558) я лично не занимаюсь ни разработкой решений на Simple UI, ни внедрением, ни подбором оборудования. Тестируется на разных моделях хоневелл, зебра и урово. По поводу интента - возможно проблема есть, я это не отрицаю, вопрос в том как это проявить. Если бы это было массово я бы об этом знал, возможно что то не так с решением. Не может такого быть, чтобы просто так запускались 3 обработчика. То что сканер может посылать 2 интента - возможно. По поводу "в режиме клавиатуры" на моей памяти с этим проблемы были только на атол лайт, но вот недавно в этом форуме отписались что тоже нормально. Тут зависит не от железа а от программ ТСД
565. user672558_Juch6209 06.08.21 13:10 Сейчас в теме
(560) Для ТСД Urovo DT30 я последовал вашему совету по подключению на вывод через клавиатуру (там их 4 вида: физическая и т.д.) и получилось вывести только через режим Always Soft Keyboard. У другого программиста нашей фирмы через этот же ТСД в другой конфигурации работает через физическую клавиатуру. Интересно в чем может быть разница ?
566. informa1555 2650 06.08.21 14:00 Сейчас в теме
(555) у меня и так и так по идее обрабатывается... При одинаковых экранах (без перехвата аппаратных клавиш примеру) должно быть одинаково... Суффикс может не настроен?
568. user672558_Juch6209 07.08.21 00:02 Сейчас в теме
529. user672558_Juch6209 29.07.21 15:19 Сейчас в теме
Еще один вопрос: у меня создано в Процессе три Экрана: Выбор документа поступления, Выбор товара из документа поступления, Ввод принятого количества. Во втором экране Выбор товара из документа в Обрабочике1С (обработка ввода) при сканировании штрихкода товара я инициализирую Переменные.Вставить("qty", 1). В третьем экране эта переменная = 1 записывается первый раз правильно, а при сканировании этого же штрихкода товара в третьем экране эта переменная уже записывает не 1, а 2 (хотя я ее и в Обрабочике1С (обработка ввода) третьего экрана тоже принудительно инициализирую = 1. В отдельном контейнере по вводу значения в переменную qty я делаю в заполнении @qty и она показывает правильно, т.е. 1). На мобильном телефоне через считывание штрихкода через камеру все работает правильно (т.е. каждый клик одного и того же штрихкода увеличивает фактическое кол-во на 1), а на ТСД Urovo DT30 нет (т.е. каждый клик одного и того же штрихкода увеличивает фактическое кол-во на 2). Настройку ТСД сделал нормально: Использовать подписку на события сканера, сообщение сканера: "urovo.rcv.message", переменная сканера: "barcode", длина: "length". В чем может быть причина ?
537. informa1555 2650 30.07.21 07:05 Сейчас в теме
(529) Сдается мне что у вас событие сканирования 2 раза приходит... Это отладчиком можно проверить.
539. user672558_Juch6209 31.07.21 13:58 Сейчас в теме
зДРАВСТВУЙТЕ ! КАКОЙ ФУНКЦИЕЙ МОЖНО ПОЛУЧИТЬ КОД И ИМЯ ПОЛЬЗОВАТЕЛЯ 1с В СРЕДЕ SIMPLI UI ?
540. informa1555 2650 31.07.21 14:13 Сейчас в теме
(539) Добрый день! Если вы имеете ввиду пользователя которым к сервису подключается (который в настройках) то например в переменных вставляется WS_USER
549. Newcomer 6 04.08.21 10:25 Сейчас в теме
Здравствуйте, по нажатию кнопки "🏠 Процессы" кратно нажатиям множатся произвольные таймеры, это точно так задумано? Вроде как есть "уникальный ключ" но не нашел в примерах его назначение... и в документации опечатка «Производьные таймеры»
550. informa1555 2650 04.08.21 11:01 Сейчас в теме
(549) Здравствуйте! Это ошибка, будет исправлено.
571. informa1555 2650 07.08.21 08:26 Сейчас в теме
570. informa1555 2650 07.08.21 08:26 Сейчас в теме
(549) Здравствуйте! Спасибо за сообщение, исправил. Будет в следующем релизе
553. Newcomer 6 04.08.21 20:50 Сейчас в теме
стандартная синхронизация документов выгружает экземпляры документов с 12-ти часовым форматом времени, что ни есть хорошо...

Документы сразу пишутся в базу при любой активности в форме. Если нужна другая логика то это не к "документам" а надо делать через SQL(например Python+SQL) -см. все оффлайновые и питоноские примеры. Документы также пишутся в SQL в табличку documents. Синхронизация там готовая в принципе. Но если надо что то особенное то опять же можно это сделать через SQL и тот же Python

и все-таки, мне захотелось немного другой логики, не захотел писать документы в базу при каждом "чихе", но захотелось использовать стандартный список документов со своими ограничениями: назначил процесс и форму документу только с просмотром, без возможности редактирования с единственной кнопкой "break", стандартную кнопку добавления документа из списка заблокировал тем же "break" в "Python при запуске" если обязательная переменная не заполнена. Создал свой отдельный процесс с формой для добавления документов, после заполнения по нажатию своей кнопки, с помощью Python+SQL, пишу документ в базу. Написал свою синхронизацию с помощью тех же Python+SQL и POST-запроса, которая при ответе обновляет erp_id и sent, так же успешно отрабатывает. Синхронизацию добавил сразу после записи документа (по той же кнопке). Также захотел в фоне запускать синхронизацию по таймеру, на случай если в момент записи документа связи не было и синхронизация не отработала. В произвольных таймерах обнаружил ранее сообщенный баг, воспользовался "Python по расписанию" - везде нормально отрабатывает. Казалось бы вот оно "счастье", но осталось одно "но": в стандартном списке документов показываются только документы созданные до первого захода в список, созданные после отображаются только после перезахода в приложение...
Возможно ли с помощью Python или еще каким способом обновлять стандартный список документов?
554. informa1555 2650 04.08.21 21:24 Сейчас в теме
(553) ничеси там деятельность... Уважуха. Документы пишутся при каждом изменении чтобы не делать всякие кнопки сохранить. Это на мобильных платформах стандартное по поведение... Если говорить именно про списки документов то там обновлялка ручная же есть сверху...
А вообще документы сейчас воспроизводятся обычными экранами, списки тоже. NoSQL для хранения json или так же SQL, синхронизация на питоне. Остаётся работа с фотографиями и файлами но это будет в следующем релизе
555. Newcomer 6 04.08.21 21:35 Сейчас в теме
(554)
Если говорить именно про списки документов то там обновлялка ручная же есть сверху...
А вообще документы сейчас воспроизводятся обычными экранами, списки тоже.

а точно обновлялка? я думал только синхронизация... по ее нажатию пишет: "Происходит обмен с учетной системой" и документы с писке так и не появляются... только перезаход...
Что ж, попробую свой экран со списком документов сделать, не подскажите, в каком примере в демке реализовано похожее?
556. informa1555 2650 04.08.21 22:03 Сейчас в теме
(555) Проверил - там сначала идет скачивание/отправка либо с 1С либо с postgREST смотря что настроено, а потом читается SQL (documents) и обновляется список. Если Вы написали свою синхронизацию и добавляете в documents то оно должно обновиться для того типа который в списке выбран.
Экран со списком документов я имел ввиду то, что сейчас средств визуализации и хранения достаточно чтобы все тоже самое сделать - список документов - это "список карточек" или "плитки" что больше нравится, сам документ - обычный экран, заись можно сделать в NoSQL или в SQL в ту же documents.
569. informa1555 2650 07.08.21 07:37 Сейчас в теме
(557)
Проверил.
Вот видео: https://wdfiles.ru/28ccdf

Вставлял таким кодом. Я подумал может что то с фоновой синхронизации мешает? У меня ее нет - т.е. с базой ничего не работает из фона.

import sqlite3
#Сохранение документа
if hashMap.get("listener")=="btn_test":
    conn = sqlite3.connect('//data/data/ru.travelfood.simple_ui/databases/SimpleWMS')
    cursor = conn.cursor()
    query = 'ins ert in to documents (type,field1caption,field2caption,field3caption,field4caption,field5caption,field1,field2,field3,field4,field5,doc,sent,done) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)'
    data = ('Оплата','Номер','Дата','Сумма','','','2','2021-05-01','1500','','','{"num":"1","dat":"2021-05-01","sum":"500","photo":[],"file":[]}',0,0)
    cursor.execute(query,data)
    conn.commit()
    cursor.close()
    conn.close()
    hashMap.put("toast","Сохранили документ")
Показать
572. Newcomer 6 07.08.21 12:10 Сейчас в теме
(569) нет, я нашел в чем дело, вот только не особо понятно, что с этим делать)
протестировал с другого телефона, и оказалось там все нормально работает.
на Huawei Mate 20 с EMUI 9.1 приложение работает некорректно, на Xiaomi Redmi 4X с Android 7.1.2 все корректно.
559. Newcomer 6 06.08.21 10:19 Сейчас в теме
(556) тут, очевидно, после выхода из списка документов не разрывается соединение с SQL и происходит блокировка. Еще небольшой эксперимент: создадим документ в приложении, заходим в список документов, документ на месте, выходим из списка, создаем второй, заходим в список, обновляем - нет его, в 1с создаем не синхронизированный экземпляр документа, обновляем список документов, он появляется в списке (кстати, только после второго обновления), второго созданного документа так и нет, выходим из приложения, заходим обратно, переходим в список, второй созданный документ появляется, но пропадает третий документ, пришедший из 1с...
561. informa1555 2650 06.08.21 10:54 Сейчас в теме
(559) Хороший дизайн. А можно поподробнее - как создавали 2й документ (тот который после выхода из списка)?
562. informa1555 2650 06.08.21 11:01 Сейчас в теме
(559) ну и повторю рекомендацию - раз уж вы разобрались с питоном, плитками и т.д. то собственно сделать 1) форму со списком изdocuments в виде карточек или плиток 2) по клику на форме открывать форму записи. Я по прежнему намерен разобраться просто "документы" по большому счету делаились и тестились для режима "создаешь из формы документа, редактируешь там же". Если я смогу помочь - хорошо, если нет то можно сделать эти 2 экрана.

ПС. про таймеры по расписанию, пока разбираюсь...
563. Newcomer 6 06.08.21 11:27 Сейчас в теме
(562) стандартный список документов хочу оставить ввиду наличия готового поиска...
про 2й документ... собственно есть стартовая страница с плитками, на ней одна из плиток запускает процесс с формой (не являющимися процессом и формой документа) жмем плитку, заполняем форму, жмякаем кнопку "Save"
по кнопке следующее:

#Сохранение документа
if hashMap.get("listener")=="Save":
conn = sqlite3.connect('//data/data/ru.travelfood.simple_ui/databases/SimpleWMS')
cursor = conn.cursor()
query = 'ins ert in to documents (type,field1caption,field2caption,field3caption,field4caption,field5caption,field1,field2,field3,field4,field5,doc,sent,done) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)'
data = ('Оплата','Номер','Дата','Сумма','','',hashMap.get("num"),hashMap.get("dat"),hashMap.get("sum"),'','','{"num":"' + hashMap.get("num") + '","dat":"' + hashMap.get("dat") + '","sum":"' + hashMap.get("sum") + '","photo":[],"file":[]}',0,0)
cursor.execute(query,data)
conn.commit()
cursor.close()
conn.close()
hashMap.put("break","true")

#Синхронизация
#if hashMap.get("listener")=="Syn":
username = hashMap.get("WS_USER")
password=hashMap.get("WS_PASS")
url = hashMap.get("WS_URL")
android_id=hashMap.get("ANDROID_ID")
conn = sqlite3.connect('//data/data/ru.travelfood.simple_ui/databases/SimpleWMS')
cursor = conn.cursor()
query = 'SEL ECT id,type,metatype,screen,com,field1caption,field2caption,field3caption,field4caption,field5caption,description,field1,field2,field3,field4,field5,search1,search2,search3,doc,doc_pictures,process,sent,done,erp_id,created_at FR OM documents WHERE type =? AND sent=?'
data = ('Оплата',0)
cursor.execute(query,data)
queryup = 'upd ate documents se t sent=?, erp_id=? where id=?'
results = cursor.fetchall()
for link in results:
datastr = datetime.strptime(link[25], "%Y-%m-%d %H:%M:%S")
json_res = {
"client":hashMap.get("CLIENT_CODE"),
"erp_id":link[24],
"doc_date":datastr.strftime("%Y%m%d%H%M%S"),
"done":link[23],
"doc":link[19],
"type":link[1],
"field1":link[11],
"field2":link[12],
"field3":link[13],
"field4":link[14],
"field5":link[15],
"field1caption":link[5],
"field2caption":link[6],
"field3caption":link[7],
"field4caption":link[8],
"field5caption":link[9],
"photo":"[]",
"file":"[]",
"SQL_id":link[0]
}
r = requests.post(url + '/documents_upload', auth=HTTPBasicAuth(str(username).encode("utf-8"), password,), headers={'Content-type': 'application/json', 'Accept': 'text/plain'},data=json.dumps(json_res, ensure_ascii=False).encode("utf-8"))
jdata = json.loads(r.text)
status = jdata.get("status")
if status == "done":
cursorup = conn.cursor()
dataup = (str(1),str( jdata.get("erp_id")),str(link[0]))
cursorup.execute(queryup,dataup)
conn.commit()
cursorup.close()
cursor.close()
conn.close()
Показать

идем в список посмотреть, выходим из списка попадая в меню плиток, ну и жмем на плитку для создания второго...
564. informa1555 2650 06.08.21 12:21 Сейчас в теме
(563) Ну добавляете вы корректно... у меня там на обновлялке - обычный селект... По идее должно работать... Надо делать пример на котором я это воспроизвести смогу.
По поводу поиска - у меня есть поле с автозаполнением (одно из двух) для этой цели - генерирует события при каждой букве, а Вы соотвественно на событии запрос подсовываете.
567. Newcomer 6 06.08.21 15:03 Сейчас в теме
(564)
Надо делать пример на котором я это воспроизвести смогу.

Ваша демка с моими костылями 34 клиент
573. user672558_Juch6209 09.08.21 13:55 Сейчас в теме
Здравствуйте ! У меня еще один вопрос: в экран1 формируется таблица1 товаров и сканируется штрихкод товара, в обработке ввода экрана1 после отработки события ввода штрихкода я вывожу экран2 с таблицей2 товаров двойников по данному штрихкоду и пытаюсь рукой кликнуть на нужную позицию таблицы, а в обработке ввода не возникает вообще никакого события (т.е. не входит в обработку ввода вообще и Переменные.listener = "TableClick" вообще не ловится). Хотя если я выхожу из экран2, то событие по выходу у меня отрабатывает. И я даже в экран2 для тестирования появления события штрихкода включил элемент Штрихкод и переменную штрихкода - и это тоже отрабатывает. В экране1 при клике рукой на элементе таблицы входит в обработчик ввода этого экрана и событие Переменные.listener = "TableClick" возникает и я получаю строку таблицы.
Почему тогда в экране2 при клике на строку таблицы2 не входит в обработчик ввода ?
574. informa1555 2650 09.08.21 19:27 Сейчас в теме
(573) Здравствуйте! У вас очень странные проблемы - что предыдущая что эта. Такое ощущение что обработчик от другого экрана отрабатывает. Может как то ссылки перепутаны? По клику на таблицу событие возникает однозначно. если включить отладку веб-сервера и перехватить set_input - то что, при клике на таблицу не приходит запрос? А там обработчик точно есть? Присылать или не присылать запрос по сыбытию ввода устанавливается свойсвом onlineOnInput в экране, а эта галка по идее смотрит есть текст в обработчике или нет... Других нюансов там нет.
575. user672558_Juch6209 09.08.21 19:51 Сейчас в теме
(574) А в чем странность, если то что я написал действительно так. Все обработчики При запуске и При вводе у меня вынесены в конфигуратор 1С и установлены точки останова в каждой из них. Поэтому я прекрасно вижу по шагам, где идет обработка.
Даже более скажу, заменил выбор из таблицы на выбор из списка карточек и сразу стало возникать событие только уже Переменные.listener = "CardsClick", а для выбора из второй таблицы не возникало Переменные.listener = "TableClick" и даже отладчиком и в обработку не входило. А если бы я перепутал обработчики (хотя это совершенно для моей ситуации не реально), то и выбор из списка карточек тоже бы не работал.
И прочитайте мой пост 573 внимательно, там из экрана с одной таблицей вызывается экран с другой таблицей - может в этом причина ?
576. informa1555 2650 09.08.21 20:25 Сейчас в теме
(575) так я и говорю что я с таким не сталкивался и даже не представляю как такое возможно. Надо отладкой от set_input проходить чтобы понять как доходит до обработчика. Таблица то событие всегда генерит оно и в питоне и в 1С выполняется... Если в 1С есть обработчик. Попробуйте отладкой все таки
577. user672558_Juch6209 10.08.21 09:44 Сейчас в теме
Здравствуйте! Подскажите, пожалуйста, как получить текущее значение переменной ShowScreen (в отладчике 1С при обращении к Переменные.ShowScreen говорит, что Переменные.ShowScreen {(1)}: Поле объекта не обнаружено (ShowScreen) ) ?
578. informa1555 2650 10.08.21 10:39 Сейчас в теме
(577) Здравствуйте! Это переменная-команда, она удаляется после применения, как и остальные команды. Чтобы не действовать повторно. Сохраните в другую переменную, например ShowScreenCopy
579. user672558_Juch6209 10.08.21 15:48 Сейчас в теме
(578) спасибо, я так и сделал. Только когда один и тот же экран вызывается из разных других экранов и при разных условиях очень трудно везде эту переменную назначать.

Еще вопрос: Можно ли в самом первом стартовом окне Simpli UI сделать пункт Меню (Операцию) "Выход из программы", при нажатии на который программа завершилась бы вместе со всеми ее фоновыми процессами и выгрузилась бы из памяти ?
580. user672558_Juch6209 10.08.21 16:03 Сейчас в теме
(579) или кнопку андроида Назад перепрограммировать на выход из программы, чтобы при нажатии на нее спросила "Вы действительно хотите выйти из программы ? Да/Нет
581. informa1555 2650 10.08.21 17:12 Сейчас в теме
(580) В принципе можно, но сейчас такого нет
582. andrey7617 56 11.08.21 03:22 Сейчас в теме
Дмитрий добрый день.

У меня вопрос по клавиатуре
Ранее в версиях 5.75.07 и 5.90.00 на ТСД Атол smart.lite при тестировании клавиатуры работала только клавиша F2.
Теперь в версии 6.75.50 работают F1 и F2 (при этом елси нажать клавшиу F1 + какую любую другую тоже появляется код сочетания клавиш).

но осталась проблема со считыванием клавиш. вообще не отрабатывает событие (Если Переменные.listener = "keyboard" Тогда) хотя стоит галочка (чтение клавиатуры keyboard) - ниже привел скрин.
((( - в чем может быть проблема ???

Заранее огромное спасибо !!!
Прикрепленные файлы:
586. informa1555 2650 11.08.21 11:20 Сейчас в теме
(582) Добрый день! Поискал я на форумах про ваш атол - такая же проблема у всех. Тут если делать то радикально. Сделаю 2 вещи : 1) настройку "Регистрировать все клавиши" - будет все подряд перехватывать - ченть да перехватит, кроме того событие будет onKeyEvent а не только onKeyUp 2) сделаю события для клавиатуры на экране меню чтобы процессы с клавиш запускать. 1ю штуку я пошлю по почте напишите мне на dv1555 собака hotmail.com я пришлю ответом вторая будет вместе с релизом
583. user672558_Juch6209 11.08.21 09:58 Сейчас в теме
здравствуйте! Дмитрий, есть ли возможность переопределить или заблокировать кнопки кружка и квадрата андроида в самой нижней части экрана ?
584. informa1555 2650 11.08.21 10:50 Сейчас в теме
(583) Здравствуйте! Это ни одно приложение не может сделать насколько я знаю. Помоему это только на уровне прошивки...
585. user672558_Juch6209 11.08.21 11:17 Сейчас в теме
Дмитрий, подскажите, пожалуйста по следующей проблеме:
ТСД Urovo DT30 перестал разговаривать (в самом начале помню говорил), т.е. при выполнении команды Переменные.Вставить("speak", "какой то текст") или вид элемента экрана Голос не проговаривает фразы. Я использовал ПО и с подпиской на события сканера ("urovo.rcv.message", переменная сканера: "barcode", длина: "length") с интентом в настройках сканера и в разрыв клавиатуры без подписки и с подпиской. На ТСД в андроиде звук работает. В чем может быть причина ?
587. informa1555 2650 11.08.21 11:24 Сейчас в теме
(585) ну это google speech engine (TTS) чет не хочет воспроизводить - может этой службы вообще нет. Голоса нет или что то такое. Подписка на интент тут не причем я думаю.
588. user672558_Juch6209 11.08.21 12:50 Сейчас в теме
(587)спасибо - именно в этом была проблема !
589. andrey7617 56 17.08.21 04:57 Сейчас в теме
Уважаемый Дмитрий добрый день.
А есть возможность в симпл юай положить файл (mp3 или какого другого формата) на андроид и проиграть его в симпл юай ???
590. informa1555 2650 18.08.21 09:23 Сейчас в теме
(589) Добрый день! Неа, такого нет. Это слишком зависит от устройств, версий, прошивок и т.д.
andrey7617; +1 Ответить
595. andrey7617 56 25.08.21 23:11 Сейчас в теме
Дмитрий добрый день.
А подскажите пожалуйста я чего то это упустил.
В 1с если я делаю конфигурацию simple ui - я могу ее экспортировать а затем импортировать в другой базе ???
596. informa1555 2650 26.08.21 08:55 Сейчас в теме
(595) Добрый день! Да, можно через сериализацию - вот обработка, но она не сильно актуальная там каких то новых объектов возможно нет. Нужно доработать. Ну или через конвертацию
Прикрепленные файлы:
ВыгрузитьОбъектыXML_клиент_серв.epf
andrey7617; +1 Ответить
597. Andreeei 47 26.08.21 22:04 Сейчас в теме
Добрый день, Дмитрий.

Поставил на смартфон свежий Simple UI 7.00.05, но после настройки и запуска никак не удается получить никакую конфигурацию (пробовал разные из базы ДемоБазаКонфигурацияSimpleUI_Версия_7_0_новый_формат). Смотрел в 1С в отладчике - подключения при старте клиента нет.

Чтобы проверить настройки, поставил на смартфон postman. Ввел тот же адрес (копипастом), только с командой get_conf, - в отладчике подключение есть, конфигурация считывается (т.е. файрвол не мешает, webserviceUrl правильный).

Кроме того, поставил на смартфон Simple WMS, развернул старую базу устар_ДемоБазаКонфигурацияSimpleUI_ПоследняяВерсияСОнлайнКли­ентомНа1С, убедился, что эта парочка тоже работает.

Поэтому вопрос, в новом релизе точно нет ошибки? Такое впечатление что при старте клиента не отправляется get запрос типа http://[адрес сервера]/[имя публикации]/hs/simplewms/get_conf?code=[код клиента].
598. informa1555 2650 26.08.21 22:16 Сейчас в теме
(597) Добрый день! Там сменился формат конфигурации, при записи генерится конфа JSON. Приложение может читать и json и xml.
get_conf конечно же есть, если только не стоит галка Самостоятельный режим в настройках
Оставьте свое сообщение

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