Имя: Пароль:
1C
 
Переход к следующей строке в обработке внеш.события
0 Mafiozaa
 
18.01.21
07:57
Приветствую, есть табличная часть документа, в нее выгружается ТЗ, и в эту табличную часть документа загоняются штрихкода, и после каждого пика переход на след строку, что пробывал
НоваяСтрока() - создает в конце табличной части новые строки в которые успешно загоняются штрихкода, но это мне не надо
я полагаю мне нужно создать обход табличной части, и как то делать как это было в c++ c# (+1)
1 Mafiozaa
 
18.01.21
07:57
Клюшки
2 ДенисЧ
 
18.01.21
07:58
@пробывал@
У тебя буква йо на клавиатуре западает...
3 Mafiozaa
 
18.01.21
08:02
(2) Не спорю скорее всего так и есть, но нужна подсказонька))
4 Злопчинский
 
18.01.21
08:04
что за поток сознания? обход табличной части не создается. создать можно объект. обход - выполняется
5 Mafiozaa
 
18.01.21
08:04
ПолучитьСтроку() и в цикле +1 делать?
6 Злопчинский
 
18.01.21
08:05
нахрена после пика переходить на след.строку? если у тебя каждый ПИК по шк позиционируется на строку с этим шк?
7 Mafiozaa
 
18.01.21
08:06
(4) Как вариант, испробую
8 Злопчинский
 
18.01.21
08:07
если ты пикунул и стоишь на 5 строке.
то https://www.screencast.com/t/zC4UBN0L
9 Злопчинский
 
18.01.21
08:07
ПолучитьСтрокуПоНомеру(НомерСтроки+1)
10 Mafiozaa
 
18.01.21
08:07
(6) Нет, я грубо говоря, на новые позиции добавляю шк
11 Злопчинский
 
18.01.21
08:08
Изложил бы последовательность действий что ли внятно
12 Злопчинский
 
18.01.21
08:09
имеется список новых товаров, стоишь на новом товаре, пикнул сканером по его \ШК, получился привязал ШК к текущей строке, переходишь на след.строку где очередной новый товар?
13 Mafiozaa
 
18.01.21
08:13
(12) Имеется новосозданный документ, в табличную часть выгружается ТЗ номенклатурных позиций и на каждую позицию мне нужно пикнуть шк, если я пикаю и руками перехожу на вторую строку, все огонь, но нужно перепрыг
14 Mafiozaa
 
18.01.21
08:14
(12) Не обязательно новый товар идет след по списку
15 Mafiozaa
 
18.01.21
08:15
(12) Тоесть по сути мне нужен переход от первой строки до второй
16 Злопчинский
 
18.01.21
08:21
(14)  Не обязательно новый товар идет след по списку - нахера тебе тогд апосле пика становится на следующую строку (относительно текущей?).
ты можешь внятно написать последовательность действий от начала до конца? что когда и зачем делается?
17 Злопчинский
 
18.01.21
08:24
1. стоим на какой-то строке N, атрибут ТЧ "НомерСтроки"
2. пикаем штрихкод. "вносим" его в эту строку НомерСтроки
3. Переход на следующую строку: ПолучитьСтрокуПоНомеру(НомерСтроки+1)
18 Mafiozaa
 
18.01.21
08:27
(16)
1. Вводим на основании документа новый документ
2. Вся табличная часть документа переносится в новый документ
3. В новом документе в табличной части 2 колонки Номенклатура / Штрихкод (Номенклатура уже заполнена)
4. Пропикать все штрихкода
5. Провести
19 Злопчинский
 
18.01.21
08:30
(18) Пикнутый ШК в базе есть? или ты привязываешь пикнутый ШК к номенклатуре текеущей строки?
.
ответ в (9) и (17)
20 Mafiozaa
 
18.01.21
08:32
(19) В базе нету, привязываю пикнутый к текущейстроке
21 Злопчинский
 
18.01.21
08:34
(9) и (17)
22 Mafiozaa
 
18.01.21
08:37
(21) Цикл или Условие?) циклом получает один пик на все номенклатурные позиции)
23 Злопчинский
 
18.01.21
11:34
(22) какой на цикл? какое на условие?
у тебя переход на строку - последствия пика. можно сказать что условие. типа если пик обработали успешно - переход на след.строку и ожидание очередного пика
24 Mafiozaa
 
19.01.21
10:36
(23) Играюсь с ПолучитьСтрокуПоНомеру(НомерСтроки+1). Строку видит, но не позиционируется на ней, или я скорее всего что то криво кручу
25 Mafiozaa
 
20.01.21
08:23
Приветствую все никак не могу добить эту мелочь.

Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
    // Процедура разбирает штрих-код, считанный сканером
    // и заполняет строки накладной
    Перем Упаковка,ТекКоличество, Спецификация;
    Перем ВремТовар, ВремЕдиница, ВремКоличество, ВремЦена;
    
    Перем СтрокаВозврЦена;
    Если Событие = "BarCodeValue" Тогда
        Если ПолучитьСтрокуПоНомеру(1) = 1 Тогда
            КодМаркировки = СокрЛП(Данные);
            ПолучитьСтрокуПоНомеру(НомерСтроки + 1);
            глСканерПосылкаДанных(1);
            Сообщить("Внешнее событие: Источник="+Источник+"  Событие="+Событие+ "  Данные="+Данные);
        КонецЕсли;
    Иначе
        глОбработкаВнешнегоСобытия(Источник, Событие, Данные);    
    КонецЕсли;

По моей логике при пике
1. В табличную часть в первую строку загоняется данные считанные сканером
2. ПолучаюСтрокуПоНомеру(НомерСтроки + 1) = Получаю вторую строку
3. Все хорошо
4. Следующий пик я во вторую строку вписываю данные считанные сканером
5. Получаю строку по номеру 3
6. Все хорошо

Но при этом коде, дальше первой строчки я не прыгаю никак, хотя получаю ее)
26 Mafiozaa
 
21.01.21
05:23
Решил
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший