Имя: Пароль:
1C
1C 7.7
v7: Поиск сканером в табличной части документа
0 dimi3o
 
05.01.13
12:53
Всем привет! Возникла надобность ускорить ревизию на предприятии. Нужно подводить указатель к товарной позиции в табличной части сформированного документа "Инвентаризация по складу" простым считыванием штрих-кода для корректировки остатков. В документе "реализация" подбор товарных позиций по штрих-коду идёт. Подскажите, необходимо изменять обработку внешнего события или просто сменить драйвер сканера?
У меня стоит драйвер 2002 года АТОЛ 5.0 с библиотекой - scanopos.dll
1 Mikeware
 
05.01.13
12:55
программиста позовите...
2 dimi3o
 
05.01.13
13:03
Так и сам могу попробовать разобраться. Хотелось бы узнать у профессионалов в какую сторону двигаться.
3 monsterZE
 
05.01.13
13:07
(0) если в реализации такое уже есть - скопируй кусок от туда.. =) только надо будет не подбирать товара а просто вставать на него, если таковой есть.
4 Mikeware
 
05.01.13
13:17
(2) ну так разбирайся...
а направление - в сторону поисков программиста.
5 monsterZE
 
05.01.13
13:17
по событию от сканера - получить искомый шк
выгрузить тч в тз
если поле "шк" в ней не присутствует - добавить
далее
Стр=0;
Если тз.НайтиЗначение(шк, Стр, "шк")=0 Тогда
  Предупреждение("Нет товара с таким шк");
КонецЕсли;
Если Стр>0 Тогда
  АктивизироватьСтроку(Стр);
КонецЕсли;
что-то типа того.. =)
6 Vol71
 
05.01.13
13:24
если это ТИС, посмотри как в справочнике работает.
7 dimi3o
 
05.01.13
15:16
(5) Спасибо за идеи и кусок кода!
Никак не могу найти обработку внешнего события от сканера. Всю конфигурацию перерыл. Извените, пока еще учусь... Не подскажите в каком она модуле? Я так понимаю именно ее указывают при настройке драйвера сканера. Там есть поле "Обработка обслуживания" с радиобаттоном "Встроенная".
8 dimi3o
 
05.01.13
15:28
(6) в справочниках также не идет активация строки товара по штрих-коду.
9 dimi3o
 
05.01.13
15:31
(6) Да у меня "Торговля и Склад", редакция 9.2
10 monsterZE
 
05.01.13
16:01
смотри свой расходник, где осуществляется подбор..
отладчиком найди, что срабатывает по клику со сканера
и копай дальше.. и глубже =)
11 dimi3o
 
05.01.13
16:28
(5) Я извеняюсь спросить... что значит выгрузить табличную часть в тз? Что за тз?
12 monsterZE
 
05.01.13
16:31
=) ТаблицаЗначений
ты получи сперва "пинок" от сканера остальное все мелочи..
13 ЧеловекДуши
 
05.01.13
16:36
(11)Читай в (1)... :)
Или начни читать две желтые книги по описанию языка 1С.
По сути, что бы все работало, как ты хочешь.
У вас еще должны быть проставлены штрих коды, на сам товар.
Если вы этого некогда не делали, то счего ты решил, что без программирования у тебя все получится?
Это тебе не Администрировать... тут нужно быть художником и поэтом :)
14 Mikeware
 
05.01.13
16:38
(13) чтоб "... в дождливый вечер на стекле нарисовать..."? :-)
15 dimi3o
 
05.01.13
16:44
(13) Ничего, разберусь как-нибудь... если надо будет и книги прочитаю. Лучше бы помог, чем критиковать.
Процедуру "ОбработкаВнешнегоСобытия" в реализации нашел, так что думаю основная проблема заключается в том, что в документе "Инвентаризация по складу" товарным позициям не поставлены в соответствие штрих-кода. Придется похоже дописывать код создания документа "Инвентаризация" :-(
16 dimi3o
 
05.01.13
16:54
А с другой стороны можно произвести поиск по ШК товара в справочнике номенклатуры и активизировать строку сравнив наименования в ТЧ :-)
17 Mikeware
 
05.01.13
16:58
(15) тебе надо начинать именно с чтения документации.
18 dimi3o
 
05.01.13
17:06
(17) твою позицию я прочитал еще в (1). Можете не повторять!
19 Mikeware
 
05.01.13
17:07
(18) повторять надо, пока не поймешь.
20 dimi3o
 
05.01.13
17:08
(19) я тебе покажу рабочую процедуру и ты утрёшься. Выложу сюда в ближайшее время.
21 Mikeware
 
05.01.13
17:10
(20) ну-ну... :-)
22 dimi3o
 
05.01.13
17:15
(12) Подскажи как выгрузить ТЧ в ТЗ, чтобы долго не ковыряться...
23 oslokot
 
05.01.13
17:25
Весело тут, как всегда :)
с новым годом !!!
24 dimi3o
 
05.01.13
18:42
(21) Код исправно работает, только что прверил. Утёрся?

//******************************************************************************
Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
   // Процедура разбирает штрих-код, считанный сканером
   // и заполняет строки накладной
   Перем ТаблЧасть;
   Перем ВремТовар, ВремЕдиница, ВремКоличество;
   
   Если Событие = "BarCodeValue" Тогда
         Если Форма.ТолькоПросмотр() = 0 Тогда
           Если глПолучитьТоварПоШтрихкоду(Данные, ВремТовар, ВремЕдиница, ВремКоличество) <> 0 Тогда
               
               
               ВыгрузитьТабличнуюЧасть(ТаблЧасть, "Номенклатура, НомерСтроки");
                   Сообщить("Найден товар: " + ВремТовар+ "   Его штрих-код: "+ Данные);
               //    Сообщить("Табл часть: " + ТаблЧасть);
               // Ищем позицию среди подобранных
               Поз    = 0;
               ТаблЧасть.НайтиЗначение(ВремТовар, Поз, "Номенклатура");
               Если Поз = 0 Тогда
                   Сообщить("Штрих-код не найден в ТЧ документа!");
               Иначе АктивизироватьСтроку(Поз);
               КонецЕсли;
           КонецЕсли;
         КонецЕсли;
   КонецЕсли;
   // Обработка закончена. Готовы к получению нового штрихкода.
       глСканерПосылкаДанных(1);

КонецПроцедуры
25 dimi3o
 
05.01.13
18:47
Спасибо за помочь тем, кто действительо помогал!
26 PALESIA
 
05.01.13
19:07
(24) ужасть О_О : каждый раз при сканировании изделия выгружать табл.часть, если она не изменяется ... если ну енто от ума большого ... хотя мазохизм законом не запрещен ...
27 dimi3o
 
06.01.13
09:01
(26) Как раз ТЧ у меня теперь изменяется. Я добавляю кол.(факт) при каждом считывании ШК, но в основном это поле будет редактироваться вручную. Ибо считывать абсолютно каждый товар на складе, чтобы просто посчитать их количество нецелесобразно. Зато если вдруг во время ревизии нашлась еще одна затерявшаяся позиция из уже обработанных, то ее кол.(факт) инкрементируется считыванием ШК а сумма пересчитается. Так что на счет мазохизма вы погорячились.
28 PALESIA
 
06.01.13
13:37
(27) ну а что изменять значение поля в ТЗ, добавлять строки в неё или удалять уже стало проблемой?
29 Vladal
 
08.01.13
02:58
(27) А если несколько строк номенклатуры?
Например, оператор вручную добавил или разные характеристики?
Этот код не отработает.
30 big
 
08.01.13
05:59
(0) ))))  прикольненько )))
31 dimi3o
 
16.01.13
14:27
(29) Не знаю что у Вас там не работает. Ревизии успешно делаются уже в течение 2-х недель на планшете с WinXP. Так что разбирайтесь в своей конфигурации. А конечный вариант кода здесь не выложен, но и тот что выше исправно функционирует, поэтому не вешайте лапшу на уши людям.
32 ЧеловекДуши
 
16.01.13
14:42
(29) В 7-ки нет характеристик.
33 lamme
 
16.01.13
14:45
(0) смотри ОбработкаВнешнегоСобытия(истояник, событие ...)
именно сюда приходя данные со сканера

смотри в том месте - где сканер работает
т.е. в док Реализация
дальше - отладчик, конфигратор и терпения

хотя там не сложно
34 dimi3o
 
20.01.13
02:25
(33) Спасибо, уже разобрался)
35 Jaffar
 
20.01.13
03:05
(7) "Извените, пока еще учусь.."
не извЕню.
возвращайся в школу, учи русский язык.
36 Jaffar
 
20.01.13
03:11
(31) "Ревизии успешно делаются уже в течение 2-х недель"
тема создана 05/01, пост - 16/01. Никак не 2 недели, даже если представить, что ты сразу во всем разобрался и сразу все исправил.

"на планшете с WinXP."
фантазер?

по теме. зачем позиционироваться на строке в документе "Инвентаризация по складу" "простым считыванием штрих-кода для корректировки остатков"? Если штрих-кода есть на всем (или почти всем) товаре - проще будет собрать остатки любым ТСД (терминал сбора данных), выгрузить эти данные в текстовый файл и загрузить его в документ. Быстрее и точнее. А то в вашей схеме понять, какие строки оператор уже обработал, а какие нет - невозможно.
37 dimi3o
 
20.01.13
04:31
(36) Да, товарищ, на планшете с WinXP (Odeon TPC-10). Всё остальное комментировать не буду.
Программист всегда исправляет последнюю ошибку.