Обработка или функция которая отвечает за сканирования в документ

1. Greek26rusa 2 26.05.17 20:42 Сейчас в теме
Вопрос. Какая обработка или процедура отвечает за считывания штрих кода в документ реализация,перемещения товара и т.д

Или же все таки обработка ТО отвечает за считывания в документ? кто знает подскажите
Конфигурация УТ 10.3


Нужно это для того что бы
обрезать qr код я его считываю он у меня вводится как cod39 2000013001061 3700011101013

как можно сделать так что бы считались только первые 13 цифр потому что они неизменны . Остальные это служебная инфа которая меняется постоянно.
Прикрепленные файлы:
+
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
14. spe1c 5 14.07.17 23:52 Сейчас в теме
(12)Так вам что нужно, наоборот первые 13 цифр не считывать?
Я выше уже писал - вы когда считываете, у вас штрихкод в регистр сведений сохраняется, ведь так? Вот перед записью набора в этот регистр и меняйте данные, если внешнее событие отловить не можете.
+
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. spe1c 5 27.05.17 00:24 Сейчас в теме
Посмотрите в модуле документа обработчик "ВнешнееСобытие(Источник, Событие, Данные)". Так же может быть такой обработчик в модуле приложения. Вроде бы в этих обработчиках подобные вещи реализуются.
+
3. Greek26rusa 2 01.06.17 22:53 Сейчас в теме
11. GreenDragon 07.06.17 17:29 Сейчас в теме
В модуле формы документа РеализацияТоваровУслуг:

///////////////////////////////////////////////////////////////////////////////
//// ФУНКЦИИ ВЗАИМОДЕЙСТВИЯ С ТОРГОВЫМ ОБОРУДОВАНИЕМ (ОБЩИЕ ФУНКЦИИ API)

// Процедура - обработчик внешнего событие, которое возникает при посылке
// внешним приложением сообщения, сформированного в специальном формате.
// Внешнее событие сначала обрабатывается всеми открытыми формами, имеющими
// обработчик этого события, а затем может быть обработано в процедуре модуля
// приложения с именем ОбработкаВнешнегоСобытия().
//
// Параметры:
//  Источник - <Строка>
//           - Источник внешнего события.
//
//  Событие  - <Строка>
//           - Наименование события.
//
//  Данные   - <Строка>
//           - Данные для события.
//
Процедура ВнешнееСобытие(Источник, Событие, Данные)

	Если Не ВводДоступен() Тогда
		Возврат;
	КонецЕсли;

	ПолучитьСерверТО().ОбработатьВнешнееСобытие(Источник, Событие, Данные, ЭтаФорма);

КонецПроцедуры // ВнешнееСобытие()
Показать


В модуле обычного приложения:

// Функция возвращает объект для взаимодействия с торговым оборудованием.
//
// Параметры:
//  Нет.
//
// Возвращаемое значение:
//  <ОбработкаОбъект> - Объект для взаимодействия с торговым оборудованием.
//
Функция ПолучитьСерверТО() Экспорт

	Если глСерверТО = Неопределено Тогда
		глСерверТО = Обработки.ТОСервер.Создать();
	КонецЕсли;

	Возврат глСерверТО;

КонецФункции // ПолучитьСерверТО()
Показать


Для реализации костыля соответственно находим в модуле объекта "Обработки.ТОСервер" функцию "ОбработатьВнешнееСобытие", где манипулируем с переменной "Данные" так, как нам нужно - обрезаем, добавляем, проверяем или ещё какие извращения творим.
+
13. Greek26rusa 2 14.07.17 21:45 Сейчас в теме
(11)Не понял вас в каком моменте обрежит то.?
+
4. Greek26rusa 2 01.06.17 22:53 Сейчас в теме
помогите пожалуйста
+
5. spe1c 5 01.06.17 23:13 Сейчас в теме
включите в отладчике замер производительности, в режиме предприятия просканируйте код, в конфигураторе выключите замер производительности, появиться список строк кода, которые работали. Поставьте точку останова в одной из строк, потом отладчиком отловите всю цепочку в стеке вызовов.
Xershi; +1
6. spe1c 5 02.06.17 13:07 Сейчас в теме
И вот еще я о чем подумал, если вы пишете:
как можно сделать так что бы считались только первые 13 цифр потому что они неизменны .


Тогда возникает вопрос, а зачем вам считывать эти первые 13 цифр, если они неизменны? Сохраните их 1 раз в константе.
И на самый крайний случай, перехватите уже считанный штрихкод в событии ПередЗаписью модуля набора записей и изменяйте как хотите.
+
12. Greek26rusa 2 14.07.17 21:44 Сейчас в теме
(6)Штрих кодов много то. просто первые 13 не меняются а остальные меняются
+
14. spe1c 5 14.07.17 23:52 Сейчас в теме
(12)Так вам что нужно, наоборот первые 13 цифр не считывать?
Я выше уже писал - вы когда считываете, у вас штрихкод в регистр сведений сохраняется, ведь так? Вот перед записью набора в этот регистр и меняйте данные, если внешнее событие отловить не можете.
+
7. BackinSoda 02.06.17 13:09 Сейчас в теме
СерверТО кажись называется, а внутри должно быть ОбработатьВнешнееСобытие()
+
8. spe1c 5 02.06.17 13:19 Сейчас в теме

И на самый крайний случай, перехватите уже считанный штрихкод в событии ПередЗаписью модуля набора записей и изменяйте как хотите.

Забыл добавить: в модуле набора записей регистра, в который штрихкоды сохраняются.
+
9. JohnnyAlexandrov 25 07.06.17 17:08 Сейчас в теме
Процедура КоманднаяПанельТоварыПоискПоШтрихКоду(Кнопка)
    Результат = РаботаСТорговымОборудованием.ВвестиШтрихкод();
    Если Не ПустаяСтрока(Результат) Тогда
        ПолучитьСерверТО().ОбработатьВведенныйШтрихкод(Результат, ЭтаФорма);
    КонецЕсли;
КонецПроцедуры
+
10. MsDjuice 114 07.06.17 17:11 Сейчас в теме
Поменять
 ПолучитьСерверТО().ОбработатьВведенныйШтрихкод(Результат, ЭтаФорма);

на
ПолучитьСерверТО().ОбработатьВведенныйШтрихкод(Лев(Результат, 13), ЭтаФорма);

чтобы найти вызов, используйте глобальный поиск
+
15. Greek26rusa 2 15.07.17 14:30 Сейчас в теме
Спасибо большое кто помогал и предлогал задача решена всем спасибо

Если кому интересно то добавил в тоНасервере

Если СтрДлина(ШК) > 13 Тогда
ШК = Лев(ШК, 13);
КонецЕсли;
+
Внимание! Тема сдана в архив

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