(191) Дмитрий, добрый день.
Проверили работу новой версии приложения и выявили новый баг: проходит сканирование только на первом шаге (в нашем случае - это сканирование бейджа для авторизации), а на следующем сканировании выводится ошибка "Ошибка соединения с сервером" (Скрин с ошибкой прилагаю). Что может быть не так?
P.S. В предыдущей версии такой ошибки не возникает, но есть проблема с дефисами.
(193) Проверили на предыдущей и на новой версии на одних и тех же данных - на предыдущей работает, а на новой ошибка, поэтому ошибку в обработчиках можно исключить.
(194) Видимо у вас сканер чет запрещенное в строку пихает и это потом не может быть упаковано в json , в строку и передано. Дело в том что я фильтр убрал, чтобы - проходили.. Но сейчас я вернул фильтры+ добавил конкретно "-"... Попробуйте
https://1drv.ms/u/s!Al3i1mKCJV-lpLIHUpa1LhyKRXQmCQ?e=SV1yMI
(196) Эта ошибка возникает при попытке передать на сервер запрос send_input и расшифровать ответ. Что то не то в JSON. Проверьте отладчиком в 1С что приходит на HTTP сервис и что уходит.
(206) Данная версия в виде apk сейчас работает на нескольких десятках ТСД с разными базами но проблема не проявляется. Сам я тоже не могу проявить ошибку. Если вы в Москве то могу предложить провести диагностику. Напишите мне в Скайп пожалуйста dimarik1555 договоримся
Добрый день
Скачал вашу конфигурацию. Сделал из нее базу.
опубликовал веб сервис - доступен в браузере по ссылке
http://bsql/wms в браузере ваша программа доступна.
На клиенте - на своем телефоне - прописал путь в программе http://bsql/wms - вообще не подключается.
что не так делаю ?
(199) Добрый день! Адрес к веб сервисам 1с не так задаётся. У вас это адрес публикации клиента 1С. У меня в этом посте есть картинка с настройками https://infostart.ru/public/1066904/
картинку увидел. ипадрес сервера - понятен
порт понятен..
дальше - не понятно
я так понимаю - просто копиру. как на картинке доступ ..
те все то что /UT/.../SimpleWMS
?
(201) UT - это альяс базы у вас он может быть другой. Да, должно быть как на картинке. Где тут на инфостарте был пост про http севисы для начинающих там разобрано из чего у 1С URL состоит. Код клиента - числовой код из справочника Мобильные клиенты.
(204) у 1С (не у меня а в платфоме заложено) что сервисы должны быть через /hs/ . Если у вас в "Публикации в имени указано например UT то будет http://ххххх/UT/hs/simplewms Судя по всему Вы "hs" пропустили.
(210) ну в обработчике ввода доступно все что доступно на сервере 1С. Если в запросе пришел code (в параметрах запроса - там он вытаскивается у меня) значит его где то можно сохранить и использовать в обработчике ввода.
Дмитрий, добрый день.
Подскажите пожалуйста есть описание про список задач [Вместе со списком можно передать наименование операции которую надо запустить] непонятно
в какое поле прописывать? и что надо прописывать название или уникальный идентификатор, или код
пробывал в taskid и в orderref, но клиент все время возвращает- отправленное задание не соответствует ни одному процессу конфигурации
Дмитрий, день добрый.
Можно ли при в операции, которая вызывается из списка задач (action) указывать несколько экранов? Я попробывал , но такое ощущение, что не передаются переменные, например поставил vybgrup = "false", а форма все равно открывается. Те же самые экраны в другой операции работают нормально и вся логика отрабатывает. Может в операции д.б. обязательно цикл?
Дмитрий день добрый. Подскажите можно ли выбрать товар по таблице
У нас очень много товара с похожим названием, через список выбирать неудобно, не все видно название.
Удобный вид получается через таблицу я сделал две колонки: название, количество, но не понятно как получить в обработчике ввода номер выбранной строки или текст строки
Если по таблице это сделать невозможно, можно ли в экранах сделать такой же интерфейс как в списке задач? каждый товар отдельная задача
Добрый день. Осваиваю. Настроил подключение. Изменения конфигурации передаются в цикле: записал в 1с; перезапустил приложение. Если в 1с нажать "Послать конфигурацию": в сообщения выходит: "<ht ml><body><h1>Мобильный клиент SimpleWMS</h1>", а в приложении после перезапуска на начальном экране: "Не удалось получить конфигурацию. Установите адрес web-сервера и код клиента." Помогает только переустановка приложения и настройка подключения.
(226) Добрый день! Честно говоря не совсем все понял... Конфа для большинства случаев просто скачивается при запуске с веб сервиса командой get_conf (либо берется последняя сохраненная). "Послать конфигурацию" - это для оффлайн режимов когда в 1С вообще не публикуется веб сервис (например нет такой возможности)... Т.е. это для варианта работы с полным оффлайн (SQLем и т.д.) . У вас именно такой случай?
При вызове операции через StartProcessHashMap ругается, что "Отправленное задание не соответствует ни одному процессу конфигурации", хотя такой процесс есть.
(232) Вопрос не решился. Пробовал уже разные варианты (с переименованием вызываемого процесса, с вызовом из других процессов), результат один - "отправленное задание не соответствует.."
(238) Есть оператор завершения процесса (break), завершения цикла (exitloop) и показ экранов по условиям. Произвользные процессы у меня появятся в следующем релизе (это будет отдельное приложение - simple UI). Тут же парадигма подразумевает однонаправленный процесс. А там можно выбрать из 2х принципов - как сейчас посдледовадельнось экранов, циклы и т.д. или же запускать каждый экран сам по себе
(239) Тогда может подскажите как реализовать такой алгоритм:
1. оператор сканирует штрихкод
2. на экран выводится найденный в БД товар (или ошибка считывания). также есть кнопка выхода из цикла (с этим нет проблем).
3. повтор п. 1 (вот тут проблема, т.к. в п.2 приходится вручную нажимать кнопку "Далее")
Цель: сканировать штрихкоды нонстопом с визуальным контролем без лишних нажатий кнопок.
(240) если вам надо выводить считанный товар либо ошибку (т.е. в люом случае что то выводить) то, раз это надо показывать то это надо держать пока пользователь что то не нажмет. Если допустим выводить 2й экран нужно только когда ошибка тогда ставите условие показа на экран и прописываете на обработке штрихкода показ 2го экрана только если не нашел.
(241) Тогда другой вопрос. На одном экране считывание штрихкода и вывод этого товара и ещё кнопки. Штрихкод и кнопки с чекбоксом "Переключаться по окончанию ввода". И тогда проблема, что экран не переключится на следующий по одному из событий (штрихкод или нажатие кнопки).
(242) Да, имеет место быть. На одном экране ожидается что то одно. В таких случаях я советую разделять по экранам это. Это такой линейный последовательный процесс - не важно сколько экранов... В новой версии я переработал механизм подписок на события. Думаю в течении ближайшего месяца плюс/минус я выкачу новый релиз (отдельное приложение) и вот там и экраны независимые будут и подписки на события и много много чего еще
Здравствуйте. Подскажите как в UI выполнить программное переключение на следующий экран. Хотелось бы выполнить алгоритм как в (240). В прошлой версии было "Переключаться по окончанию ввода", а теперь как?
(265) Здравствуйте! Ну теперь всегда "переключаться по окончанию ввода" (по дефолту, галки нет так как многие высказались за то что она не нужна). Кроме того появилось "Произвольные экраны" где надо определять на какой экран переключаться (есть и в онлайне и в оффлайне), кроме того появился "не обновлять экран". В общем полный спектр. Советую посмотреть демку новвовведений в Simple UI и примеры.
(276) Здравствуйте! Тут кто то писал с атоллом. Видимо решили проблему а может и нет. Там суффикс должен быть CR/LF или только CR. строка межет передваться посимвольно или мультивводом - там разные варианты. Сложно сказать что там идет с клавиатуры и что подразумевается под Enter. Как вариант там еще есть настройка wedge as keys она правда для хоневелловских ТСД, но вдруг поможет.
(277) Снова борюсь с автоматическим переходом, нашел вот что:
На закладке "Страница текст" например в Рабочее место "Инвентаризация ОС" в вашей конфигурации
..........
<Cycle>
<Operation Name="Сканирование основного средства" show_by_condition="" SendRequest="false">
<barcode show_by_condition="" Value="" Header="" mask="" Variable="barcode" NextStep="true"/>
<Caption1 show_by_condition="" Value="@counter" Header="" mask="" Variable="" NextStep="false"/>
<Action show_by_condition="" Value="Сканируйте предмет основного средства" Header="" mask="" Variable="" NextStep="false"/>
</Operation>
</Cycle>
а у меня формируется такая строка:
barcode show_by_condition="" Value="" Header="" document_type="" mask="" Variable="barcode_room" NextStep="false"/>
может в этом все дело, тогда как поставить NextStep=true?
(305) Да у меня по идее всегда теперь переключение происходит в новой версии Simple UI... Поэтому я скрыл эту галку. А в чем проявляется проблема? Скорее всего суффикс не распознается как перевод строки.
(306) В вашей конфигурации автоматическое переключение работает (значит не в суффиксе дело), а когда я выгружаю конфигурацию в расширение, не работает.
(310) Специально сделал тестовый процесс. Проверил сначала без цикла 2 экрана : на одном кнопка и штрихкод, на другом результат. Все работает: если нажимать кнопку она переключает, если сканировать ш/к (с камеры) - он переключает.Даже сканером через SSP проверил - тоже работает. Сам клиент последней версии 1.12 (который в Гугл плее). Потом эти 2 экрана засунул в цикл - тоже все работает. Не могу проявить проблему.
(312) Лучше по подсистемам - все кроме подсистемы "Тестовые объекты". Т.е. у вас работает в демке, но не работает в расширении? А сам apk или приложение какой версии?
(314) Да именно так в демке работает а в расширении нет. apk пару недель назад установлен с гугла (пока не понял как посмотреть версию). Почта mrnatan@yandex.ru.
(315) Про почту и StartProcess - ошибся комментарием. Насчет вашей ситуации - не должно быть расширение виновато. Сейчас NextStep не анализируется, в демке было false и все работает... Да и вообще от расширения не зависит это - оно конфу собрало, конфа загрузилась и все... А в отладчике на веб сервис запрос тоже не поступает?
(320) при сканировании функция не срабатывает, после нажатия кнопки вперед срабатывыет со следующими данными
ТелоЗапроса "{"client":"1","process":"Отгрузка","operation":"Выбор документа (заказ)","hashmap":{"nomzak":"2000000000619","orderRef":null,"docRef":null,"order":null}}" Строка
(321) судя по тому что штрихкод записался он отработал. Не знаю у меня вариант только со старой версией приложения остался. Ну попробуйте для проверки NextStep в true записать... Да, была такая проблема в старых версиях что елси на экране больше чем один элемент в "переключаться по окончанию ввода" то срабатывал какой то один. Но я это поменял н-релизов назад... Теперь все срабатывают. Может у вас приложуха не обновилась? попробуйте на телефоне из гугл плея скачать, камерой отсканировать... Не знаю что еще предположить.
(323) там в модуле справочника "ПередЗаписью" . Странно. Очень странно. Никто не жаловался, все работает. А как то тестовую базу получить можно? У меня закончились предположения))
(265) Вопрос решен. На телефоне и ТСД устанавливалась Simple WMS вместо Simple UI. Теперь все работает Атол автоматом переключает при считывании штрих кода.
Дмитрий, спасибо за потраченное время и быстрые отзывы.
(247) Так в 1Ску посылать команду, пусть она печатает. Ставите принтер (если несколько то ш/коды на них чтобы 1Ска знала куда посылать), говорите 1С сделать таб документ и отправить на нужный принтер. Как то так. Печать из моб приложения это очень сложная тема. Я планирую когда нибудь заняться ZPL и прочими вещами для этикеток с моб приложения. Но это на определенные принтеры на определенном принтерном языке. А так, представьте - у вас есть данные и надо чтобы приложение сделало какой то макет и в каком то виде его куда то послало... Ладно послать , а сделать сам макет?...
(248) Всё бы хорошо, но метод табличного документа "Напечатать (Print)" недоступен на сервере. Или что вы подразумеваете под "говорите 1С сделать таб документ и отправить на нужный принтер"?
(251) Произойдет. Уже тестирую печать PDF в Simple UI. Ориентировочно через неделю включу в релиз Simple UI. Принцип простой - по кнопке формируется запрос - в 1С формируется табличный документ, записывается в PDF и отсылается в ответе- на устройстве он открывается. Все. Потом сделаю вариант без предпросмотра сразу на печать
254.
chesnokov-a-v
10009.12.19 13:58 Сейчас в теме
Добрый день.
Никак не могу разобраться.
Попытка
лКоличество = Число(Переменные.qty);
Исключение
лКоличество = 0;
Конецпопытки;
Если лКоличество<>0 Тогда
ДокВладелец = Документы.ПеремещениеТоваров.ПолучитьСсылку(Новый УникальныйИдентификатор(СокрЛП(Переменные.DocRef)));
ОбъектДокВладелец = ДокВладелец.ПолучитьОбъект();
Номенклатура = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(СокрЛП(Переменные.nomRef)));
НеНашли = Истина;
Для каждого стр Из ОбъектДокВладелец.Товары Цикл
Если Стр.Номенклатура = Номенклатура и НеНашли Тогда
НеНашли = Ложь;
Если Стр.Количество+лКоличество<0 Тогда
ОбъектДокВладелец.Товары.Удалить(Стр);
Иначе
Стр.Количество =Стр.Количество+лКоличество;
КонецЕсли;
прервать;
КонецЕсли;
КонецЦикла;
Если НеНашли и лКоличество>0 Тогда
НовСтр = ОбъектДокВладелец.Товары.Добавить();
НовСтр.Номенклатура = Номенклатура;
НовСтр.Количество =лКоличество;
НовСтр.ЕдиницаИзмерения = НовСтр.Номенклатура.ЕдиницаХраненияОстатков;
НовСтр.Коэффициент = НовСтр.ЕдиницаИзмерения.Коэффициент;
НовСтр.СкладскаяЯчейкаПолучатель = Справочники.СкладскиеЯчейкиПКФеррум.НайтиПоКоду("ГЛ000011479",,,ОбъектДокВладелец.СкладПолучатель);
КонецЕсли;
Попытка
ОбъектДокВладелец.Записать();
Исключение
Ошибка=Истина;
СообщениеОбОшибке = ОписаниеОшибки();
КонецПопытки;
З = Новый Запрос;
З.УстановитьПараметр("Ссылка",ОбъектДокВладелец.Ссылка);
З.Текст ="ВЫБРАТЬ
| ПеремещениеТоваровТовары.Номенклатура.Наименование КАК field1,
| """" КАК field2,
| ПеремещениеТоваровТовары.Количество КАК Qty,
| """" КАК field3,
| """" КАК field4
|ИЗ
| Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
|ГДЕ
| ПеремещениеТоваровТовары.Ссылка = &Ссылка
|
|УПОРЯДОЧИТЬ ПО
| ПеремещениеТоваровТовары.НомерСтроки";
ТаблицаСтрок = З.Выполнить().Выгрузить();
КонецЕсли;
Показать
При выполнении кода после ввода количества появляется надпись "Ошибка соединения с сервером".
Насколько я понял ошибка возникает во время записи документа (так как если закомментировать строку ОбъектДокВладелец.Записать(); то надпись не появляется). При этом документ в базе записывается с новыми данными.
Помогите, пожалуйста, разобраться.
(254) Возможно при проведении возникают какие то модальные вызовы (диалог какой нибудь). Ещё вариант ошибка из-за которой код не выполняется и ответ на запрос не посылается. В общем то это один и тот же вариант. Если это старая конфа то там возможны клиентские вызовы в 1С раньше так было.
256.
chesnokov-a-v
10009.12.19 14:26 Сейчас в теме
(255) Спасибо, оперативно.
Начал удалять код кусками и тестировать.
Ошибка была в отсутствии поля QtyPlan в запросе. получается ошибочно грешил на запись документа...
| 0 КАК QtyPlan,
Но возник еще один вопрос (но скорее просто особенность). Когда экран переходит в горизонтальное положение и обратно, то происходит выход к первому экрану (в моем случае к созданию документа). Решение: отключил автоповорот экрана.
263.
chesnokov-a-v
10019.12.19 16:37 Сейчас в теме
Добрый день. Я опять туплю.
Если Переменные.Свойство("spinner_result") Тогда
Если Переменные.spinner_result="Удалить последнее действие" Тогда
//в разработке
ИначеЕсли Переменные.spinner_result="Продолжить работу с документом" Тогда
Переменные.Вставить("resultbotton","");
Переменные.Вставить("StartProcess","Передача на хранение Цикл приема");
ИначеЕсли Переменные.spinner_result="Закончить работу с документом" Тогда
Переменные.Вставить("resultbotton","");
Переменные.Вставить("StartProcess","Передача на хранение Завершение");
КонецЕсли;
КонецЕсли;
Показать
Никак не получается, но в справочнике Операции(Процессы) элементы с такими названиями есть.
В инструкции всего две строчки по этой теме и как бы всё просто.
Сможете направить?
(263) Добрый день! Просто процессы которые Вы пытаетесь запустить нужно чтобы были в составе конфигурации. Можно поставить галочку "Не отображать в списке" чтобы они не мешались в меню. Об этом сообщение. Ну и названия процессов должны быть 1 в 1 с значением StartProcess или StartProcessHashMap.
Также есть дургие способы навигации если вы пользуетесь Simple UI где можно обходиться без этого.