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

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

!!!Новый форум для разработчиков: forum.simpleui.ru
f333; gorakh; colV; EasyWay; +4 Ответить
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
96. VladEdward 23 15.07.19 17:09 Сейчас в теме
Добрый день. Скачал конструктор, но возник вопрос. Поддерживает ли сервис работу с документом отбор/размещение товаров, а также сканирование работу на адресном складе по формуле: ячейка-номенклатура-серия. Это возможно запрограммировать?
97. informa1555 2646 15.07.19 17:12 Сейчас в теме
(96) Добрый день! Конечно поддерживает - это же конструктор. Я даже не спрашиваю какая это конфигурация - это не важно.
102. VladEdward 23 18.07.19 14:11 Сейчас в теме
(97) Можете кратко описать алгоритм действий для настройки следующего: в 1С создается "Отбор товаров на складе", заполняется номенклатурой, выставляется статус в работе. Затем этот документ выгружается в ТСД для сканирования серий в этот же документ. Сканируются серии, документ сохраняется на ТСД и выгружается. Или как с вами связаться для доработки этого функционала?
103. informa1555 2646 18.07.19 15:04 Сейчас в теме
(102) Могу. Начнем с того что это онлайновый ТСД где ничего никуда не выгружается, а работает сразу напрямую с базой. Вешать отбор на оффлайновые ТСД прям ну очень неудобное решение - это будет очень долго. Создаете процесс для отбора. Первое действие выбрать из списка существующий отбор либо стартовать отбор из списка Задачи (смотря как пропишите). Далее цикл по Серия-Количество или по Товар-Серия-Количество, смотря как вам надо и после цикла статус у распоряжения поменять чтобы он из списка ушел.
104. VladEdward 23 18.07.19 17:35 Сейчас в теме
(103) Копирую процесс, меняю запрос и подбираю один готовый экран и один цикл. Ошибка во вложении. Да, и вспомогательный документ "Отгрузка" обязателен?
Прикрепленные файлы:
105. informa1555 2646 18.07.19 18:19 Сейчас в теме
(104) Это обычная 1Сная ошибка синтаксиса, не приложения. Она говорит о том, что в конфе нет модуля ОтладкаПроцессов. Он не нужен, можно обработчики так писать. Отгрузка и другие вспомогательные докуенты не нужны. Они только для примера. ОтладкаПроцессов тоже не нужна, но можно сделать свой модуль, поместить в него свои процедуры и вызывать их из обработчиков - так проще работать.
106. informa1555 2646 18.07.19 18:26 Сейчас в теме
(104) А да, "готовые" экраны подбирать нет смысла - там же обработчики привязаны к объетам примера. Если вам надо сделать к типовой конфе привязку то на них надо просто смотреть как на пример. Давайте ка я вам немного помогу.
Вот обработчики к ERP к документу отбору:
1) Выбор отбора

Если  НЕ  Переменные.Свойство("selected_pos")  Тогда
	НовДок = Документы.ОтборРазмещениеТоваров.СоздатьДокумент();
	НовДок.Дата = ТекущаяДата();
	НовДок.ВидОперации = Перечисления.ВидыОперацийОтбораРазмещенияТоваров.Отбор;


	НовДок.ЗонаОтгрузки =   Справочники.СкладскиеЯчейки.НайтиПоНаименованию("500");
	НовДок.Склад = Справочники.Склады.НайтиПоНаименованию("Склад материалов");
	НовДок.Статус  =Перечисления.СтатусыОтборовРазмещенийТоваров.ВРаботе;
	НовДок.Записать();

	ОбъектДокВладелец = НовДок.Ссылка;

	Переменные.Вставить("order",СокрЛП(НовДок));
	Переменные.Вставить("orderRef",СокрЛП(НовДок.Ссылка.УникальныйИдентификатор()));

Иначе
	З = Новый Запрос;
З.Текст = "ВЫБРАТЬ
          |	ОтборРазмещениеТоваров.Ссылка КАК Ссылка
          |ИЗ
          |	Документ.ОтборРазмещениеТоваров КАК ОтборРазмещениеТоваров
          |ГДЕ
          |	ОтборРазмещениеТоваров.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийОтбораРазмещенияТоваров.Отбор)
          |	И (ОтборРазмещениеТоваров.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыОтборовРазмещенийТоваров.Подготовлено)
          |			ИЛИ ОтборРазмещениеТоваров.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыОтборовРазмещенийТоваров.ВРаботе))
          |	И НЕ ОтборРазмещениеТоваров.ПометкаУдаления";

	Выб = З.Выполнить().Выбрать();
	Пока Выб.Следующий() Цикл
		Если СокрЛП(СокрЛП(Выб.Ссылка.Номер)+" от "+Формат(Выб.Ссылка.Дата,"ДФ=dd.MM.yy")) = СокрЛП(Переменные.selected_pos) Тогда
			Переменные.Вставить("order",СокрЛП(Выб.Ссылка));
			Переменные.Вставить("orderRef",СокрЛП(Выб.Ссылка.УникальныйИдентификатор()));

           ОбъектДокВладелец = Выб.Ссылка;

		КонецЕсли;
	КонецЦикла;

КонецЕсли;

З =  Новый Запрос;
			З.УстановитьПараметр("Ссылка",ОбъектДокВладелец);
			З.Текст = "ВЫБРАТЬ
			          |	ВложенныйЗапрос.Ячейка.Код КАК field3,
			          |	"""" КАК field4,
			          |	ВложенныйЗапрос.Номенклатура.Наименование КАК field1,
			          |	ВложенныйЗапрос.Характеристика.Наименование КАК field2,
			          |	ВложенныйЗапрос.КоличествоУпаковок КАК QtyPlan,
			          |	ВложенныйЗапрос.КоличествоУпаковокОтобрано КАК Qty
			          |ИЗ
			          |	(ВЫБРАТЬ
			          |		ОтборРазмещениеТоваровТоварыОтбор.Номенклатура КАК Номенклатура,
			          |		ОтборРазмещениеТоваровТоварыОтбор.Характеристика КАК Характеристика,
			          |		ОтборРазмещениеТоваровТоварыОтбор.КоличествоУпаковок КАК КоличествоУпаковок,
			          |		ОтборРазмещениеТоваровТоварыОтбор.КоличествоУпаковокОтобрано КАК КоличествоУпаковокОтобрано,
			          |		ОтборРазмещениеТоваровТоварыОтбор.Ячейка КАК Ячейка
			          |	ИЗ
			          |		Документ.ОтборРазмещениеТоваров.ТоварыОтбор КАК ОтборРазмещениеТоваровТоварыОтбор
			          |	ГДЕ
			          |		ОтборРазмещениеТоваровТоварыОтбор.Ссылка = &Ссылка) КАК ВложенныйЗапрос
			          |    ";
					  ТаблицаСтрок = З.Выполнить().Выгрузить();


2)Выбор отбора При начале работы 
З = Новый Запрос;
З.Текст = "ВЫБРАТЬ
          |	ОтборРазмещениеТоваров.Ссылка КАК Ссылка
          |ИЗ
          |	Документ.ОтборРазмещениеТоваров КАК ОтборРазмещениеТоваров
          |ГДЕ
          |	ОтборРазмещениеТоваров.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийОтбораРазмещенияТоваров.Отбор)
          |	И (ОтборРазмещениеТоваров.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыОтборовРазмещенийТоваров.Подготовлено)
          |			ИЛИ ОтборРазмещениеТоваров.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыОтборовРазмещенийТоваров.ВРаботе))
          |	И НЕ ОтборРазмещениеТоваров.ПометкаУдаления";

Выб = З.Выполнить().Выбрать();

	СписокПоступления = "Создать новое...";
	
Пока Выб.Следующий() Цикл
		СписокПоступления=СписокПоступления+";"+СокрЛП(Выб.Ссылка.Номер)+" от "+Формат(Выб.Ссылка.Дата,"ДФ=dd.MM.yy");
КонецЦикла;

Переменные.Вставить("pos_list",СписокПоступления);

3)Подтверждение ячейки
МенеджерыОбъектов = Новый Массив();
МенеджерыОбъектов.Добавить(Справочники.СкладскиеЯчейки.ПустаяСсылка());

МассивСсылок = ШтрихкодированиеПечатныхФорм.ПолучитьСсылкуПоШтрихкодуТабличногоДокумента(Переменные.barcode_addr,МенеджерыОбъектов);
Если МассивСсылок.Количество()=0 Тогда
       	 Ошибка=Истина;
		 СообщениеОбОшибке = "Не найдена ячейка "+Переменные.barcode_addr;

Иначе
     СсылкаЯчейка =  МассивСсылок[0];
     Переменные.Вставить("addr",СокрЛП(СсылкаЯчейка));
     Переменные.Вставить("addrRef",СокрЛП(СсылкаЯчейка.УникальныйИдентификатор()));
КонецЕсли;

3)Ввод номенклатуры
ШК = "";
Если Переменные.Свойство("barcode") Тогда 
ШК =  Переменные.barcode;
КонецЕсли;

Если Переменные.Свойство("barcode_str") Тогда 
ШК = Переменные.barcode_str;
КонецЕсли;

Ном = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул",ШК);
Если НЕ Ном.Пустая()  Тогда

			  	 Переменные.Вставить("nom",СокрЛП(Ном));	
			  	 Переменные.Вставить("char","");
			  	 Переменные.Вставить("unit",СокрЛП(Ном.ЕдиницаИзмерения));
			  	 	
				 Переменные.Вставить("nomRef",СокрЛП(Ном.УникальныйИдентификатор()));
				 Переменные.Вставить("charRef",Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000"));
				 Переменные.Вставить("unitRef",Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000"));
				
				 
				 
				 
					
				 Если Ном.ВидНоменклатуры.НастройкаИспользованияСерий = Перечисления.НастройкиИспользованияСерийНоменклатуры.ЭкземплярТовара Тогда
				 	Переменные.Вставить("qty_show","false"); 
				 	Переменные.Вставить("serial_show","true"); 
				 Иначе
				 	Переменные.Вставить("qty_show","true"); 
				 	Переменные.Вставить("serial_show","false"); 
				 КонецЕсли;
				 
				

Иначе



				З = Новый Запрос;
			З.Текст = "ВЫБРАТЬ
			          |	ШтрихКоды.Номенклатура КАК Номенклатура,
			          |	ШтрихКоды.Характеристика КАК Характеристика,
			          |	ШтрихКоды.Упаковка КАК Упаковка
			          |ИЗ
			          |	РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихКоды
			          |ГДЕ
			          |	ШтрихКоды.Штрихкод = &Штрихкод";
			З.УстановитьПараметр("Штрихкод",ШК);
			Выб = З.Выполнить().Выбрать();
					
			Если Выб.Следующий() Тогда
				
			  Если ТипЗнч(Выб.Номенклатура) = Тип("СправочникСсылка.Номенклатура") Тогда
			
			  	 Переменные.Вставить("nom",СокрЛП(Выб.Номенклатура));	
			  	 Переменные.Вставить("char",СокрЛП(Выб.Характеристика));
			  	 Переменные.Вставить("unit",СокрЛП(Выб.Упаковка));
			  	 	
				 Переменные.Вставить("nomRef",СокрЛП(Выб.Номенклатура.УникальныйИдентификатор()));
				 Переменные.Вставить("charRef",СокрЛП(Выб.Характеристика.УникальныйИдентификатор()));
				 Переменные.Вставить("unitRef",СокрЛП(Выб.Упаковка.УникальныйИдентификатор()));
				
				 //Тут предполагается что в одном ордере не будет одинаковая номенклатура на разные назанчения.
				 //Если это не так то нужно организовать выбор назначений
			//	 ТаблицаДо = ЗначениеИзСтрокиВнутр(Переменные.RowsBefore);
			//	 СтрТаблицаДо = ТаблицаДо.НайтиСтроку(Выб.Номенклатура,"Номенклатура");
			//	 Назначение = СтрТаблицаДо.Назначение; 
			//	 Переменные.Вставить("reserveRef",СокрЛП(Назначение.УникальныйИдентификатор()));
				 
				 
				 
					
				 Если Выб.Номенклатура.ВидНоменклатуры.НастройкаИспользованияСерий = Перечисления.НастройкиИспользованияСерийНоменклатуры.ЭкземплярТовара Тогда
				 	Переменные.Вставить("qty_show","false"); 
				 	Переменные.Вставить("serial_show","true"); 
				 Иначе
				 	Переменные.Вставить("qty_show","true"); 
				 	Переменные.Вставить("serial_show","false"); 
				 КонецЕсли;
			
			 Иначе
	   	       	 Ошибка=Истина;
				 СообщениеОбОшибке = "Отсканирована не номенклатура";

			 КонецЕсли;	 
				 	 
				
			Иначе
	       	 Ошибка=Истина;
			 СообщениеОбОшибке = "Штрих-код не найден";

	
			КонецЕсли;	

КонецЕсли;

4)Ввод количества и запись в отбор
//ОтладкаПроцессов.Обработчик1(Переменные,ТаблицаСтрок,Ошибка,СообщениеОбОшибке);


	ДокВладелец = Документы.ОтборРазмещениеТоваров.ПолучитьСсылку(Новый    УникальныйИдентификатор(СокрЛП(Переменные.orderRef)));
	ОбъектДокВладелец =  ДокВладелец.ПолучитьОбъект();
	
	Сообщить("ОбъектДокВладелец =  "+СокрЛП(ОбъектДокВладелец));
	
	Номенклатура = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(СокрЛП(Переменные.nomRef)));
	Характеристика = Справочники.ХарактеристикиНоменклатуры.ПолучитьСсылку(Новый УникальныйИдентификатор(СокрЛП(Переменные.charRef)));
	Упаковка = Справочники.УпаковкиЕдиницыИзмерения.ПолучитьСсылку(Новый УникальныйИдентификатор(СокрЛП(Переменные.unitRef)));
	Ячейка = Справочники.СкладскиеЯчейки.ПолучитьСсылку(Новый УникальныйИдентификатор(СокрЛП(Переменные.addrRef)));
	
 	Отбор = Новый Структура;
   	Отбор.Вставить("Номенклатура",Номенклатура);
   	Отбор.Вставить("Характеристика",Характеристика);
   	Отбор.Вставить("Ячейка",Ячейка);
   	СтрокиРаспоряжения =  ОбъектДокВладелец.ТоварыОтбор.НайтиСтроки(Отбор);
   
   	Если СтрокиРаспоряжения.Количество()>0 Тогда
     НовСтр =СтрокиРаспоряжения[0];
   	Иначе
     НовСтр = ОбъектДокВладелец.ТоварыОтбор.Добавить();
     НовСтр.Номенклатура = Номенклатура;
     НовСтр.Характеристика = Характеристика;
     НовСтр.Упаковка = Упаковка;
     НовСтр.Ячейка = Ячейка;
   	КонецЕсли; 
   
   	
   //	НовСтр.КоличествоУпаковок = Число(Переменные.qty);
   	НовСтр.КоличествоУпаковокОтобрано = Число(Переменные.qty);
//НовСтр.Количество =?(ЗначениеЗаполнено(Упаковка), НовСтр.КоличествоУпаковок*Упаковка.Числитель,НовСтр.КоличествоУпаковок);
   	НовСтр.КоличествоОтобрано =?(ЗначениеЗаполнено(Упаковка), НовСтр.КоличествоУпаковокОтобрано*Упаковка.Числитель,НовСтр.КоличествоУпаковокОтобрано);

	


	ОбъектДокВладелец.ОбменДанными.Загрузка =Истина;
	ОбъектДокВладелец.Записать();


			
			
З =  Новый Запрос;
			З.УстановитьПараметр("Ссылка",ОбъектДокВладелец.Ссылка);
				З.Текст = "ВЫБРАТЬ
			          |	ВложенныйЗапрос.Ячейка.Код КАК field3,
			          |	"""" КАК field4,
			          |	ВложенныйЗапрос.Номенклатура.Наименование КАК field1,
			          |	ВложенныйЗапрос.Характеристика.Наименование КАК field2,
			          |	ВложенныйЗапрос.КоличествоУпаковок КАК QtyPlan,
			          |	ВложенныйЗапрос.КоличествоУпаковокОтобрано КАК Qty
			          |ИЗ
			          |	(ВЫБРАТЬ
			          |		ОтборРазмещениеТоваровТоварыОтбор.Номенклатура КАК Номенклатура,
			          |		ОтборРазмещениеТоваровТоварыОтбор.Характеристика КАК Характеристика,
			          |		ОтборРазмещениеТоваровТоварыОтбор.КоличествоУпаковок КАК КоличествоУпаковок,
			          |		ОтборРазмещениеТоваровТоварыОтбор.КоличествоУпаковокОтобрано КАК КоличествоУпаковокОтобрано,
			          |		ОтборРазмещениеТоваровТоварыОтбор.Ячейка КАК Ячейка
			          |	ИЗ
			          |		Документ.ОтборРазмещениеТоваров.ТоварыОтбор КАК ОтборРазмещениеТоваровТоварыОтбор
			          |	ГДЕ
			          |		ОтборРазмещениеТоваровТоварыОтбор.Ссылка = &Ссылка) КАК ВложенныйЗапрос
			          |			          ";
					  ТаблицаСтрок = З.Выполнить().Выгрузить();
Показать
107. VladEdward 23 19.07.19 11:01 Сейчас в теме
(106)Отбираю запросом документы:
З = Новый Запрос; 
	З.Текст = "ВЫБРАТЬ 
	| ОтборРазмещениеТоваров.Ссылка КАК Ссылка 
	|ИЗ 
	| Документ.ОтборРазмещениеТоваров КАК ОтборРазмещениеТоваров 
	|ГДЕ 
	| ОтборРазмещениеТоваров.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийОтбораРазмещенияТоваров.Отбор) 
	| И (ОтборРазмещениеТоваров.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыОтборовРазмещенийТоваров.Подготовлено) 
	| ИЛИ ОтборРазмещениеТоваров.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыОтборовРазмещенийТоваров.ВРаботе)) 
	| И ОтборРазмещениеТоваров.Проведен"; 

	ТаблицаСтрок = З.Выполнить().Выгрузить(); 
 	Переменные.Вставить("result", ТаблицаСтрок);
Показать

В экране делаю вид элемента экрана "таблица" и значение поля @result. Ошибка: не задано значение переменной:@result. Это первое и если вывести список, как обработать выбор нужного документа?
108. informa1555 2646 19.07.19 11:28 Сейчас в теме
(107) не не, так нельзя. Вы пытаетесь вставить в строковую переменную таблицу. 1С такого ну умеет. К тому же таблица неформатированная как нужно. На выбор есть 2 варианта: в документации раздел "Работа с произвольными таблицами" и Предопределенная таблица. Соотвественно в демо базе есть примеры для работы того и этого варианта. Ну и еще недавно я пост публиковал как раз по таблицам
109. VladEdward 23 19.07.19 11:45 Сейчас в теме
(108)Если выводит с номенклатурой работает, но по такому варианту, нужно знать номер отбора, ввести номер, затем получить список номенклатуры из этого ордера. Это тоже получается, но всегда нужно нажимать на кнопку план/факт для просмотра списка товаров. И дальше по этой схеме добавляем обработчик сканирования номенклатуры, сканируем серию... Предопределенную таблицу в моб. приложении поменять никак нельзя?
110. informa1555 2646 19.07.19 12:06 Сейчас в теме
(109) Таблицы (оба варианта) можно менять по каждому действию, можно вписывать в экран и менять после каждого сканирования вот тут написано https://infostart.ru/public/1093292/
Таким образом если надо на части экрана будет таблица часть будет отдана под другие элементы.
Номер Отбора вводить не очень удобно. Лучше сделать либо 1) через список Задачи 2)через выпад список 3)через сканирование документа
98. freek 17.07.19 16:55 Сейчас в теме
Дмитрий, добрый день.
Никак не могу сообразить как реализовать рабочее окно с логином и паролем.
У меня несколько пользователей, работают на ТСД посменно, каждый должен авторизоваться на терминале в свою смену под своим логином и паролем (за каждым пользователем я закрепил отдельный мобильный клиент).

Сделал экран по образцу в тестовой конфигурации, после того как пользователь вводит правильный код мобильного клиента, но например вводит неправильный пароль, программа все равно открывает этот мобильный клиент.
100. informa1555 2646 17.07.19 17:24 Сейчас в теме
(98) Добрый день! Там есть галочка Логин для процессов которые должны запускаться при запуске. Этот процесс может содержать несколько экранов. Можно повесить сканирование ш/кода бейджа. Даже нужно. Можно этот процесс определить в отдельной конфигурации и подгружать другую конфигурацию (т.е. в конфе где логин кроме логина гничего не будет). Если пароль введен неверно, можно не отпускать экран (выдавать ошибку), и в любом случае запуск конфы (команда ID) делать только когда пароль правильный. Если даже юзер закроет процесс логина он увидит только опять кнопку Логина.
258. i.c.h 99 11.12.19 15:58 Сейчас в теме
(100) Дмитрий, добрый день!

Помоги, пожалуйста, разобрать с ID. У меня также несколько пользователей работают на ТСД посменно. Есть экран авторизации. Сканированием устанавливается ID, подключается нужная конфигурация. Но в параметрах подключения ТСД всегда один и тот же пользователь (как в примерах - usr).
При программном создании документов необходимо установить ответственного из справочника scМобильныеКлиенты (реквизит - ПользовательИБ. Определяем по ID), входящего в расширение Simple WMS. Как это сделать? При обращении к Переменные.ID из экранов (не стартовых/начальных) выход ошибка поле объекта не обнаружено (ID).
259. informa1555 2646 11.12.19 16:17 Сейчас в теме
(258) добрый день! ID - это команда загрузки конфы. Пользователя храните просто в переменной какой то и все. Типа отсканировали бейдж или как там у вас авторизация устроена, и все - все что он добавляет - прописываете ответственного из этой переменной
260. i.c.h 99 11.12.19 16:20 Сейчас в теме
(259) Спасибо, попробую. Так не догадался сразу сделать)
261. i.c.h 99 12.12.19 08:52 Сейчас в теме
(259) Добрый день!
Передача значений через переменные не срабатывает на первом экране.
Так, например код:
Переменные.Вставить("UID_МобильныеКлиенты", МобКлиент.ПользовательИБ.УникальныйИдентификатор());
выполняется успешно на экране авторизации (первый экран с отметкой "Запустить при старте(логин)"). Авторизация выделена в отдельную операцию(процесс). При обращении к переменной в других процессах информации уже нет о ID и UID_МобильныеКлиенты (сообщение об ошибке).

Внутри другого процесса, в моем случае "Приемка сырья", передача ссылки на документ между экранами/процессами срабатывает.
Мне бы хотелось после операции(процесса) "Авторизация" в операции(процессе) "Приемка сырья" при программном создании документа обратиться к ID авторизованному в ТСД пользователю.

Код вида:
ПоместитьВоВременноеХранилище(... не выполняются в операции(процессе) "Авторизация" (возникает ошибка)
или ПараметрыСеанса.мойПараметр = ... выполняется в операции(процессе) "Авторизация", в операции(процессе) "Приемка сырья" данных в параметре сеанса нет

Как же определить кто авторизовался в данных момент? Один ТСД пользователи используют посменно.
Прикрепленные файлы:
262. informa1555 2646 12.12.19 09:20 Сейчас в теме
(261) Да, стек переменных существует в рамках процесса, между процессами он недоступен. Это надо хранить на стороне 1С, например в р/с записывать при авторизации и менять при следующей авторизации. Вообще я подумаю насчет того, чтобы сделать глобальные переменные приложения и константы. Запланирую это.
99. acanta 17.07.19 16:56 Сейчас в теме
А карточки сотрудника со штрих кодом ни?
101. informa1555 2646 17.07.19 17:24 Сейчас в теме
(99) Можно. Ответил в пред. вопросе.
111. Senarist 19.07.19 14:02 Сейчас в теме
Дмитрий, добрый день. Возможно ли перенести на неуправляемые формы ? Если да, то мне все формы нужно отрисовывать вручную ?
112. informa1555 2646 19.07.19 14:10 Сейчас в теме
(111) Здравствуйте! Вообще проект больше развивается в сторону андроид приложения. RDPшную часть можно сделать на неупр. формах - взять обработку и по аналогии сделать такую же для неупр. форм. Я уж сейчас не помню - там можно создавать динамически элементы или нет, если нет то наверное можно через вилимость выкрутится. Будет такой же конструктор но конечно надо приложить усилия. А зачем вам неупр? УФ в толстом клиенте тоже работать же будут.
113. Senarist 19.07.19 14:13 Сейчас в теме
(112) у нас на предприятии упп на неупр формах. Как мне объединять ?
114. informa1555 2646 19.07.19 15:07 Сейчас в теме
(113) Под 8.3 запускаете и объединяете. Для андроид решения нужен только HTTPсервис SimpleWMS и несколько справочников, перечисления. С RDP вариантом больше всего. Вам именно RDP надо?
115. Senarist 19.07.19 20:51 Сейчас в теме
116. informa1555 2646 19.07.19 21:22 Сейчас в теме
(115) ну и отлично. Понадобится поставить http сервис и справочники и перечисления которые начинаются на sc. Объекты БПО и обработка не нужны . Это можно сделать на 8.3. УПП при этом никак не затрагивается
117. Senarist 22.07.19 15:17 Сейчас в теме
(116)Добрый день! Все получилось, но возникла проблема. В одном из экранов, в обработчике ввода пишу строку: Док = Документы.КорректировкаНЗП.СоздатьДокумент();
На этом приложение крашится. "Приложение Simple WMS Client остановлено". Попытка Исключение не работает (не попадает в исключение). И так с некоторыми документами (не всеми). Что это может быть? (С помощью внешних обработок документы создаются без проблем)
118. informa1555 2646 22.07.19 15:48 Сейчас в теме
(117) Интересно... А что там еще есть в самом экране и приведите тут код обработчика пожалуйста
120. user747332 23.07.19 07:05 Сейчас в теме
(118)
Прикрепленные файлы:
121. informa1555 2646 23.07.19 07:50 Сейчас в теме
(120) А что происходит после того как этот обработчик в УПП выполняется? Что в hashmap в ответе отдается?
122. user747332 23.07.19 08:15 Сейчас в теме
(121)
Прикрепленные файлы:
123. informa1555 2646 23.07.19 08:36 Сейчас в теме
(122) Так тут ниче нет. Переменные не записались, обработчик не выполнился чтоли? Можно дальше перед самой отправкой?
124. user747332 23.07.19 10:15 Сейчас в теме
(123) Дальше циклы где идет поиск операции а затем экранов. А дальше (где я указал стрелкой) в обработчике ввода мой код, где он мой документ КорректировкаНЗП создавать не хочет... Переменные для этого обработчика никакие не нужны, этот экран просто создает документ, записывает его и записывает в переменную результат о его создании (или не создании)
125. informa1555 2646 23.07.19 10:40 Сейчас в теме
(124) в DocRef пишется "Неопределено"? Там строка какая то должна быть. На запрос set_input от 1Ски идет ответ json в ответе hashmap и вот что в этом ответе? Это не перед выполнением обработчика а после, после вставки в ответ Ответ.УстановитьТелоИзСтроки(ОтветJSON);
Вот перед этой строкой у вас что в jsone и что в HashMap?
126. user747332 23.07.19 10:47 Сейчас в теме
(125) Я Вас понял) Дело в том что до того места он не доходит. Вот тут Выполнить(ТекущийЭкран.ОбработчикВвода)
все зависает и все, крах приложению приходит. Отладка на этом заканчивается.
127. informa1555 2646 23.07.19 12:10 Сейчас в теме
(126) По таймауту оно что ли отлетает... Приложение то просто не дожидается ответа получается. Почему в 1С этот обработчик зависает? Запись документа тормозит? Даже если приложение не дождалось ответа 1С то все равно должна выполнить обработчик. Что то не то у вас с записью. Попробуйте с ОбменДанными.Загрузка=Истина записать.
128. user747332 23.07.19 12:21 Сейчас в теме
(127) До записи не доходит. Я код в обработчике ввода копировал напрямую
Иначе
Выполнить(ТекущийЭкран.ОбработчикВвода) <-- вместо этого
КонецЕсли;
Док = Документы.КорректировкаНЗП.СоздатьДокумент(); и тут все.

Даже если написать так:
ТипЗнч(Выб.Владелец) = Тип("ДокументСсылка.КорректировкаНЗП")
Где ВыбВладелец будет ссылка на документ КорректировкаНЗП, то тоже вылетает с сообщением
"Приложение Simple WMS Client остановлено"

"По таймауту оно что ли отлетает... " Похоже на то
129. informa1555 2646 23.07.19 13:00 Сейчас в теме
(128) Может с правами что то? Я вспомнил что таймаут там может быть довольно большой особенно если это запуск сеанса. Никогда такой проблемы не встречал. Попробуйте запрос set_input отправить к 1С из чего то другого. soap_ui или постман например. Тут явно по этой строчке процедура веб сервера прерывается с неизвестным ответом. Можно конечно прописать ответ тогда приложение не будет вылетать, но правильнее разобраться почему 1С вылетает. То что под обработкой делается это хорошо, вопрос почему в модуле сервера не делается.
130. user747332 24.07.19 13:27 Сейчас в теме
(129) Проблему решил. В модуле объекта моего документа ( и некоторых других), в частности Процедура ОбработкаУдаленияПроведения(Отказ) использовались модальные вызовы окон. Предупреждение("Вы не можете отменить проведение документа!"); и прочая такого рода фигня...
informa1555; +1 Ответить
131. informa1555 2646 24.07.19 14:11 Сейчас в теме
(130) Точно! Это ж старая УПП. Да есть такое))
132. user747332 25.07.19 10:59 Сейчас в теме
(131) Пытаюсь проводить этим документом, но вылезает из за модальности куча проблем. Во первых непонятно почему при создании документа из приложения "сканируются" все функции в модуле объекта создаваемого документа. Так же в этом модуле в Обработке проведения есть РежимДиалогаВопрос.ДаНет, непонятно возможно ли это чем то заменить, даже не распознает экспортные переменные. Кажется для моей реализации придется создавать новый документ без этого всего, а нужный мне заполнять на основании и проводить уже не с мобильного приложения...
133. informa1555 2646 25.07.19 11:55 Сейчас в теме
(132) диалог заменить можно кнопками. Диалог работает. Переменная которая отвечает за видимость это строка "true" или "false" а не булево. Про модальные вызовы - это оно не сканирует а 1с прерывается.
134. user747332 25.07.19 12:30 Сейчас в теме
(133) Мне кажется Вы меня не поняли или я Вас. Мне нужно создать документ Выполнить(ТекущийЭкран.ОбработчикВвода) в этом обработчике пишу Документы.ИмяДокумента.СоздатьДокумент(); В этот момент начинает проверяться модуль объекта моего документа. Если хоть где то есть Модальные вызовы то приложение завершается с ошибкой. Например Предупреждение() Я заменил на Сообщить(), а как быть вот с этим Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет); приложение тоже завершается если я это не закоменчу. А если я решу потом проводить этот документ с мобильного. В обработке проведения вызывается еще множество процедур и функций где присутствуют модальные вызовы. С этим возможно что то сделать или мне создавать новый документ который будет без этого всего
135. informa1555 2646 25.07.19 13:05 Сейчас в теме
(134) все верно. Я так и понял. Модальные вызовы прерывают выполнение процедуры модуля веб сервера. Приложение тут ни при чем. Оно просто не получает ответ. Вы просто используйте директивы предпроцессора в своих модулях и все. Проверьте, приложение ничего не проверяет- это все 1С платформа)))
136. user747332 25.07.19 13:21 Сейчас в теме
(135) т.е. все оповещения которые приходят пользователю придется исключить проверкой #Если МобильноеПриложение ?
137. informa1555 2646 25.07.19 13:45 Сейчас в теме
(136) наоборот если Клиент или как там. Посмотрите в новой УПП там 1с это все сделала в типовых.
119. informa1555 2646 22.07.19 15:54 Сейчас в теме
(117) Посмотрел ошибку - крашится приложение на сериализации JSONа... Т.е. что то такое в json есть изза чего его структура нарушается. С подобными вещами в 1С периодически сталкиваюсь. Смотрите переменные - что то такое из запрещенных символов Вы туда засунули видимо.
138. MegaKent 26.07.19 11:13 Сейчас в теме
несколько вопросов:
1) сам андроид клиент :
а) есть ли поддержка печати с самого ТСД (к примеру протоколы : PCL, ZPL, EPL - особенно ZPL по сети) - на самом деле очень критичное замечание
б) порекомендовал бы сделать стили (CSS к примеру) - таблицы выводятся так, кнопки так... и т.д.... (как я понял приложение там XHTML разметка)
в) в чем различие от ALL-TOUCH TERMINAL EMULATION (у ЗЕБРЫ МС33 к примеру)
г) добавить возможноть перехватывать intent/action для хардварного сканера а клавиатуру оставить как клавиатуру
2) 1с часть
а) думаю стоит добавить предварительный просмотр экранов (как будет выглядеть на экране) - даже с надписями в виде переменных
б) стоит полностью поддержать аутентификацию 1С (права доступа в особенности с RLS - представьте что у вас 20 складов, в каждом складе по 30 ТСД которые передают по сменам)
в) графическая интерпритация рабочих процессов (когда закончил разработку процесса появилось что-то ввиде BPMN схемы обзора - чтоб понять что ничего не упустил)
139. informa1555 2646 26.07.19 12:15 Сейчас в теме
(138)
1)
А) сейчас нет. В планах есть.
Б) нет это не html. Но дизайн надо привести в порядок да. Шрифты в таблице настраиваются кстати
2)
А) да, надо бы сделать да.
Б) там есть возможсти логина на конструкторе + логин для сервиса. А что конкретно имеется ввиду? Чёт не совсем понял
В) о, это сложно... Хорошо бы такое иметь но сложно....
С другой стороны может кто нибудь возьмётся и улучшит 1сную часть)
140. MegaKent 26.07.19 12:57 Сейчас в теме
(139)
1)
А - Жаль ( так как на сервере печать не организовать)
Б - я это к тому, что можно было создать общий стиль приложения, а далее в локальных случаях его корректировать (к примеру: все кнопки - всегда синие, шрифт 80% полужиный. но на одном из экранов текст к кнопке 120%, при этом стиль синяя и полужирный текст остался). стилизация под корпоративный стиль очень важна
2)
А - есть механизмы генерации клиента для терминала(1с клиент на РДП) было бы не плохо показывать хотябы его
Б - смысл в том чтоб пользователь заходил под своими правами (к примеру: ему доступен только один склад и только отборы из ячеек, соответственно можно было бы скрывать кнопки простым
Если Не ПравоДоступа("Изменение", Метаданные.Документы.РасходныйОрдерНаТовары) Тогда
	НеОтображатьКнопку = Истина;
КонецЕсли;	

В - приложил пример скетча проектирования интерфейса на ТСД
- не плохой пример кстати

С другой стороны может кто нибудь возьмётся и улучшит 1сную часть)

все может быть... )

https://infostart.ru/public/1066904/ - я правильно понял что в ней есть этот клиент 1С (надеюсь в форме генерируемой есть обработчики подключаемого оборудования (особенно устройств ввода)
пробывали запускать это все в мобильном клиенте (на последних релизах БПО (входит в состав ЕРП2/УТ11) есть поддержка андроида и сканера в разрыв клавиатуры/ОТГ) ?
Прикрепленные файлы:
141. informa1555 2646 26.07.19 17:15 Сейчас в теме
(140)
Жаль ( так как на сервере печать не организовать)
- будет ZPL и обычный принтер это включено в план развития. Просто у меня ближайшая перспектива - оффлайн режим и все вокруг этого. Соответственно я все силы бросил на это сейчас.

https://infostart.ru/public/1066904/ - это готовое решение для ордерного склада в УТ11 или КА (простое без наворотов и без адресного). Если вы уже скачали конструктор, то значит вы можете любую конфигурацию запустить под RDP там есть подключаемое оборудование (БПО). Но в RDP нет последних фич которые я делал для андроида. У меня это не приоритет.

пробывали запускать это все в мобильном клиенте
- кто то пробовал - работает. Я сам нет. На RDP многое не сделать. Тот же оффлайн или ZPL да и вообще много чего. ТСД на винде рано или поздно сломаются и их выкинут, а новые купят на андроиде))

есть поддержка андроида и сканера в разрыв клавиатуры/ОТГ - он как раз так и работает
142. пользователь 26.07.19 18:03
Сообщение было скрыто модератором.
...
143. user611165_DobrikovMV 29.07.19 18:57 Сейчас в теме
Все бы хорошо, только обработка не создает новые объекты. Не документ, не справочник. При этом ошибку не выдает. В чем может быть причина?
144. informa1555 2646 29.07.19 19:40 Сейчас в теме
(143) Вы имеете ввиду что обработчики экранов работают, там прописано создание объектов но объекты не создаются? Попробуйте в отладке посмотреть что мешает записи. Попробуйте в режиме ОбменДанными. Загрузка=истина. Недавно у человека выше были модальные вызовы в модуле объекта. Это код на стороне 1С ничего специфического там нет.
145. Night_Trap 30.07.19 14:40 Сейчас в теме
Дмитрий, спасибо за Вашу работу!!! Великолепно и гениально! Скорость впечатляет :) 2 недели пытался перековырять штатную форму (КА 2.4) Рабочего Места Работника Склада .... Сдался! И сегодня нашел вашу разработку. СУПЕР!
Есть ряд вопросов, помогите пожалуйста (не нашел ответ в разборе типовых экранов и циклов):
- можно ли создать Приемку товара (Приходный ордер) непосредственно через ТСД. Чтобы кладовщик пошел клацать товар по факту
- может ли после ввода ШК ТСД определять товар из базы
- как победить аппаратный ввод ШК на ТСД GlobalPOS GP-C5000 (написал ранее в другой публикации, где расширение скачал).
- есть ли методичка по описанию механизма (циклов, экранов и т.п.), чтобы меньше Вас отвлекать? Или может оно есть в пакете с Демо базой? (я приобрел расширение)
146. informa1555 2646 30.07.19 15:10 Сейчас в теме
(145) Спасибо!))
- Да можно создавать приходник по распоряжению или просто пустой. Напишите в личку я вам код пришлю. Или в скайп dimarik1555
-Ну конечно. Опять же в расширении есть это на всех экранах где номенклатура. Опять же чтобы не раздувать ветку в личке код могу кинуть
-надо запрограммить суффикс CR-LF для экранов где есть просто Штрихкод. Естественно сканер должен работать в режиме HID или клавиатуры. Это либо в настройке либо программирующими штрихкодами делается. Не знаю как у вас. Либо если совсем никак то убрать ш/код, поставить поле ввода строки и оно туда будет штрихкод писать и энтер жать. Это не эстетично. По факту все программится как надо. Просто у разных терминалов по разному
-Да конечно есть это все в комплекте с демкой.
147. Night_Trap 30.07.19 15:23 Сейчас в теме
(146) Спасибо за быстрый ответ. Написал в скайп :)
148. user747332 07.08.19 07:20 Сейчас в теме
Здравствуйте, а как сделать так чтобы при нажатии на кнопку выполнялся один экран, а если она не нажималась то другой. Там есть поле "Показывать по условию", но это не подходит. Не понятно как и где указать что была нажата именно кнопка.
Прикрепленные файлы:
149. informa1555 2646 07.08.19 07:51 Сейчас в теме
(148) Здравствуйте! Кнопка (список кнопок) возвращает нажатую кнопку в переменную (ставите Переключаться по окончании ввода и ловите нажатие в обработчике). Соответственно проверять можно нажата она или нет через заполнение этой переменной. Если не нажата то и переменной ничего нет. В обработчике ввода можно либо указать для экранов "Показывать по условию" в "true"/"false" (строки) либо запустить процесс через StartProcessHashMap или StartProcess. Позже я добавлю еще запуск просто экрана но и этого достаточно для вашей задачи
150. user747332 07.08.19 11:30 Сейчас в теме
(149) Спасибо сделал. Еще 1 вопрос, могу ли я показать на экране значения полученные из запроса? (если да то сколько, в какой вид элемента экрана ). Что то то типа таблицы значений из 2ух столбцов + при нажатии на одну из строк столбца (например столбец с заказом) этот заказ записывался бы в переменную?
151. informa1555 2646 07.08.19 11:54 Сейчас в теме
(150) Конечно. У меня есть отдельный пост про это.
152. user611165_DobrikovMV 14.08.19 19:47 Сейчас в теме
С программой разобрался. Создал приложение. Теперь следующая проблема. Не знаю в чем дело. Поставил на ТСД включил режим ввода в разрыв клавиатуры. Штрих код считывается но не срабатывает. Нажимаю энтер и вижу, что штрих код идет в одну строку (то есть сколько сосчитал раз, столько цифр, потом нажимаешь энтер и вводится вся эта ерунда). То есть не срабатывает завершение ввода. В чем может быть проблема? Honeywell EDA60K. Вторая проблема, не работает голос Андроид 7.1.1. Просто нет голоса. На мобильном проверял голос на одном работает на другом нет.
153. informa1555 2646 14.08.19 21:04 Сейчас в теме
(152) у Honeywell в настройках надо настроить wedge as keys на все символы (цифры, буквы какие есть в штрихкоде) + добавление энтера в конце (/n). За синтез речи отвечает Угловский сервис который может просто не стоять https://play.google.com/store/apps/details?id=com.google.android.tts
154. user611165_DobrikovMV 15.08.19 10:38 Сейчас в теме
(153) Не могу добавить энтер. Уже голову поломал.
155. user611165_DobrikovMV 15.08.19 10:45 Сейчас в теме
Все понял, банально. В суффикс добавить (\n). Слеш у тебя был в другую сторону :). Спасибо за подсказку.
156. i.c.h 99 16.08.19 07:56 Сейчас в теме
Дмитрий, здравствуйте! Использую Вашу разработку для проекта. Возникли вопросы:
Сообщение об ошибке не умещается на экране. Можно ли эту информацию переносить в статусы исполнения процессов?
Если на телефоне вкл. Автоповорот и он сработал, то процесс в цикл завершается. Происходит возврат к предыдущему процессу. (не критично, пока просто отключаю автоповорот)
Как можно менять Заголовки экрана (самая верхняя строка)?
157. informa1555 2646 16.08.19 08:04 Сейчас в теме
(156) Здравствуйте! А что такое статусы исполнения процессов? Про заголовки хорошая идея забил в план развития продукта.
158. i.c.h 99 16.08.19 08:46 Сейчас в теме
Увидел в демо базе Simple WMS регистр Статусы исполнения процесса. Как вариант его использовать для записи сообщений об ошибках
Прикрепленные файлы:
159. i.c.h 99 16.08.19 12:48 Сейчас в теме
Подскажите, пожалуйста, из-за чего код типовой процедуры может не срабатывать

Действия = Новый Структура;
Действия.Вставить("ЗаполнитьПризнакХарактеристикиИспользуются", Новый Структура("Номенклатура", "ХарактеристикиИспользуются"));
Действия.Вставить("ЗаполнитьПризнакТипНоменклатуры", Новый Структура("Номенклатура", "ТипНоменклатуры"));
Действия.Вставить("ЗаполнитьПризнакАртикул", Новый Структура("Номенклатура", "Артикул"));

НоменклатураСервер.ЗаполнитьСлужебныеРеквизитыПоНоменклатуреВКоллекции(ДокОбъект.ТоварыПоРаспоряжениям, Действия);

ДокОбъект - объявлен ранее
Прикрепленные файлы:
161. informa1555 2646 16.08.19 13:13 Сейчас в теме
(159) Так это лучше в отладчике смотреть. Очевидно ошибка в НоменклатураСервер там и надо встать.
160. i.c.h 99 16.08.19 12:50 Сейчас в теме
для строки - ПользователиКлиентСервер.ТекущийПользователь() тоже ошибка
162. informa1555 2646 16.08.19 13:15 Сейчас в теме
(160) У меня там в документации написано как отладку использовтаь. Так сложно сказать что там не работает.
163. i.c.h 99 16.08.19 13:20 Сейчас в теме
(162) Спасибо. Буду разбираться.
593. chesnokov-a-v 100 25.08.21 16:34 Сейчас в теме
(162) Добрый день. Не могу найти на сайте https://uitxt.readthedocs.io/ru/latest/ как использовать отладку. По поиску отла* ничего не находит. Где можно прочитать про этот механизм? Подскажите, пожалуйста.
594. informa1555 2646 25.08.21 18:05 Сейчас в теме
(593) Добрый день! Добавляете в обработчик вызов процедуры из общего модуля. Например ОтладкаПроцессов в демке есть пример. Туда помещаете текст обработчика. В 1С должна стоять отладка http-процессов.
164. dll 9 19.08.19 16:47 Сейчас в теме
Добрый день!
Если ранее уже была скачена демо база предыдущей версии, то где можно скачать обновление от 15.08.19?
Или их также нужно качать за стартмани?
165. user747332 20.08.19 11:20 Сейчас в теме
Здравствуйте! Есть ли возможность сделать так чтобы ввод числа был сразу с кнопок ТСДшника, т.е. без позиционирования (нажатия пальцем на строку ввода)
167. informa1555 2646 20.08.19 15:22 Сейчас в теме
(165) Здравствуйте! Странно, специально попросил проверить на ТСД, говорят работают. Я также помню что с этим бился зимой и все заработало в итоге... Возможно окончание шкода добавляет что то, что действует как таб...
166. litonchik 20.08.19 12:05 Сейчас в теме
Дмитрий, добрый день.

В модуле формы scЭкраны в процедуре OffLineПередУдалением замените Элементы на Объект, при удалении строки ошибка)
168. informa1555 2646 20.08.19 15:23 Сейчас в теме
(166)
OffLineПередУдалением
Спасибо!
169. vdscom 20 21.08.19 15:58 Сейчас в теме
Дмитрий, добрый день, есть вопросы

1. я подзабыл, как заполнять настройки мобильного приложения. можете ли вы выложить образец рабочих настроек ?
2. в случае ввода некорректных настроек, мобильное приложение крашится, и его необходимо переустанавливать. можно ли устранить это ?

Спасибо
170. informa1555 2646 21.08.19 16:20 Сейчас в теме
(169) Добрый день! Вот в этом посте есть картинка с настройками. https://infostart.ru/public/1066904/
По поводу вылета. У вас Galaxy S9+?
177. informa1555 2646 24.08.19 10:33 Сейчас в теме
(169) 2. отследил проблему исправил в релизе который сейчас публикуется
171. vdscom 20 21.08.19 16:54 Сейчас в теме
да, а как вы догадались ? :)
172. informa1555 2646 21.08.19 17:18 Сейчас в теме
(171) По логам ошибок. Гугл собирает. Не в тему вопрос - а им вообще одной рукой можно пользоваться? Или слишком большой
По поводу этой ошибки - она какая то блуждающая я ее сам никогда не ловил и не знаю как проявить. Как бы ее воспроизвести?
173. vdscom 20 21.08.19 23:00 Сейчас в теме
одной рукой можно, сам иногда пользуюсь. для информации - у дочери Ноут 9, тоже любит пользоваться одной рукой. но если использовать в качестве WMS терминала - думаю, будут часть ронять, а это недешево :)

по поводу ошибки - она возникала и раньше, на другом телефоне. причина - я ошибался в настройках соединения с базой 1с, как правило, это было некорректное указание адреса, например, без "http://". попробуйте и вы так сделать
178. ponkratov 16.09.19 17:23 Сейчас в теме
Дмитрий, привет.

Спасибо за интересный продукт. Пока разрабатывали процессы - делали всё на телефонах - полет отличный, смогли уложить всю логику в доступные инструменты. Начали выходить на склад и отлаживаться на ТСД и поймали интересную особенность: приложение не воспринимает штрихкоды с символами дефиса (-). При отладке выяснили, что при сканировании таких штрихкодов не происходит вызова http-сервиса, а следовательно событие не обрабатывается. Что может быть не так?
ТСД : АТОЛ Smart.lite
OS: Android 7
179. informa1555 2646 16.09.19 17:47 Сейчас в теме
(178) Спасибо. Затрудняюсь сейчас ответить так как в отъезде, смогу провести тест и наверное исправить на следующей неделе. Вообще их можно же убирать, как 1С например кодирует УИДы в типовых(например адреса или документы). Напишите пример штрих-код пожалуйста и тип кода, я через неделю напечатаю и попробую отсканировать.
180. ponkratov 16.09.19 17:52 Сейчас в теме
(179)
их можно же убирать, как 1С например кодирует УИДы в типовых

Спасибо за ответ. Убирать дефисы из штрихкодов на уровне данных не хотелось бы - они являются частью бизнес логики. Такие шк успешно считываются всеми аппаратными сканерами без исключения, но почему то не обрабатываются SimpleWMS.

Примеры штрихкодов: "С-2-3-4", "-180806--001" и любые другие с символом дефиса.
Тип: Code-128
181. informa1555 2646 16.09.19 18:16 Сейчас в теме
(180) Принято. А без дефисов читает?
182. ponkratov 16.09.19 18:21 Сейчас в теме
(181) Да, без дефисов все ок. Отрабатывает ожидаемо.
183. informa1555 2646 16.09.19 18:52 Сейчас в теме
(182) Ну, как я и писал смогу ответить через примерно неделю. Сорямба за задержку, ну нет у меня девайсов при себе)
184. informa1555 2646 30.09.19 16:15 Сейчас в теме
(180)
С-2-3-4"
Добрый день! Тут похоже дело то не то не в дефисах а в русской "С". У меня копипастом этот номер даже в виде штрихкода не кодируется а если С заменяю на С то все работает. Проверил и практически и сам код все работает. У меня есть замена но только "энтер" убирает.
185. ponkratov 30.09.19 16:19 Сейчас в теме
(184) Добрый. По поводу кириллических символов понятно - может быть моя опечатка. Больше интересует проблема с числовым примером, в котором вообще нет букв. Сможете проверить?
186. informa1555 2646 30.09.19 17:32 Сейчас в теме
(185) Нашел проблему. Там разные сканера по разному работают и вот у одного из алгоритмов обрезается все кроме "буквы и цифры"... Я могу скомпилить apk и прислать на почту.
187. ponkratov 30.09.19 17:35 Сейчас в теме
(186) Это было бы очень кстати. Мы сможем проверить и дать фидбек в ближайший день-два.
aleks.ponkratov@gmail.com
188. informa1555 2646 30.09.19 17:37 Сейчас в теме
(187)
aleks.ponkratov@gmail.ru
отправил
189. ponkratov 30.09.19 17:44 Сейчас в теме
(188) Продублируйте на корректный адрес, пожалуйста.
Не успел исправить.
190. informa1555 2646 30.09.19 17:53 Сейчас в теме
191. ponkratov 30.09.19 17:54 Сейчас в теме
(190) Спасибо) корректный был aleks.ponkratov@gmail.com.
После проверки отпишусь.
Оставьте свое сообщение
Вакансии
Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день

Программист 1C
Волгоград
зарплата от 200 000 руб.
Полный день

Аналитик
Санкт-Петербург
зарплата от 200 000 руб. до 250 000 руб.
Полный день