|
v7: Найти значение в ТЗ | ☑ | ||
---|---|---|---|---|
0
Mafiozaa
22.01.21
✎
07:54
|
Всем привет, что то не понятное, есть табличная часть, есть ТЗ, выгружаю табличную часть в ТЗ (в табличной части есть колонка (КодТовара)) хочу найти значение в колонке ТЗКоды.КодТовара, выдает ошибку неверный идентификатор колонки, но если в цикле пишу сообщить ТЗКоды.КодТовара он показывает все содержимое этой колонки
Для А = 1 По ТЗКоды.КоличествоСтрок() Цикл Если ТЗКоды.НайтиЗначение(Штрихкод, А, ТЗКоды.КодТовара) = 1 Тогда Сообщить("Есть") КонецЕсли; КонецЦикла; |
|||
1
ДенисЧ
22.01.21
✎
07:55
|
А что СП говорит про НайтиЗначение() ? (у меня клюшек нет, посмотреть негде)
|
|||
2
Mafiozaa
22.01.21
✎
07:56
|
(1)
НайтиЗначение(<?>,,); Синтаксис: НайтиЗначение(<Знач>,<Строка>,<Колонка>) Назначение: Найти заданное значение в таблице значений. Возвращает число: 0 - значение не найдено; 1 - значение найдено Параметры: <Знач> - значение для поиска. <Строка> - идентификатор переменной, куда возвращается номер найденной строки. Если при вызове метода передать в этот параметр номер строки, то поиск будет осуществляться только по указанной строке. <Колонка> - номер или идентификатор колонки, возвращает номер найденной колонки. Идентификатор переменной, куда возвращается номер найденной колонки. Если при вызове метода передать в этот параметр номер или идентификатор колонки, то поиск будет осуществляться только по указанной колонке. |
|||
3
Документовед
22.01.21
✎
07:57
|
ТЗКоды.ВыбратьСтроки();
Если ТЗКоды.НайтиЗначение(Штрихкод, А, ТЗКоды.КодТовара) = 1 Тогда |
|||
4
ДенисЧ
22.01.21
✎
07:57
|
А у тебя в ТЗКоды.КодТовара название колонки шоле?
|
|||
5
ДенисЧ
22.01.21
✎
07:57
|
Так попробуй
Если ТЗКоды.НайтиЗначение(Штрихкод, А, "КодТовара") = 1 Тогда |
|||
6
Андрей_Андреич
naïve
22.01.21
✎
07:57
|
Вообще ни одной буквы не угадал
Если ТЗКоды.КодТовара=Штрихкод Это если в цикле проверять Если найти первую попавшуюся строка то: А=0; Если ТЗКоды.НайтиЗначение(Штрихкод, А, "КодТовара") = 1 Тогда Сообщить("Есть в строке № "+А) КонецЕсли; |
|||
7
Bigbro
22.01.21
✎
07:58
|
"кодТовара" в кавычках надо
|
|||
8
JeHer
22.01.21
✎
08:01
|
(6) это клюшки. Там надо А=1.
И вполне возможно, что в ТЗ коды попали со всякими левыми символами, в том числе с пробелом. |
|||
9
Mafiozaa
22.01.21
✎
08:04
|
(6) "КодТовара" - съел, но не возвращает 1ку, хотя штрихкод верный, щас пробелы отобью
|
|||
10
Андрей_Андреич
naïve
22.01.21
✎
08:04
|
(8) Садись два. Если не указать А=0, то ищет в строке с номером А. Если А=0, то ищет по всей таблице и в А возвращает номер найденной строки
|
|||
11
Mafiozaa
22.01.21
✎
08:08
|
(10) (8) (7) (6) Штрихкод верный, СокрЛП не помог, еденичку не ворачивает
|
|||
12
Mafiozaa
22.01.21
✎
08:15
|
В чем может быть проблема?)
|
|||
13
JeHer
22.01.21
✎
08:15
|
(10) это что? Фича какая-то?
|
|||
14
JeHer
22.01.21
✎
08:15
|
(12) типы данных одинаковые?
|
|||
15
Андрей_Андреич
naïve
22.01.21
✎
08:16
|
(11) Мы же твоих данных не видим. Сохрани таблицу значений в файл и выложи. и штрихкод тоже
|
|||
16
ДенисЧ
22.01.21
✎
08:16
|
(13) Это поведение, описанное в документации
|
|||
17
Mafiozaa
22.01.21
✎
08:18
|
(14) Ну если я табличную часть выгружаю в ТЗ, врятле они меняются как то
|
|||
18
Bigbro
22.01.21
✎
08:18
|
я вообще не понял зачем цикл?
стр=0; Если ТЗКоды.НайтиЗначение(ШтрихКод,стр,"КодТовара")=1 Тогда Сообщить("Найден штрихкод в строке "+стр); Иначе Сообщить("Штрихкод "+ШтрихКод+" не найден"); КонецЕсли; |
|||
19
Андрей_Андреич
naïve
22.01.21
✎
08:20
|
(17) Если тебе нужны ответы - следуй советам. Можно же не думать, а тупо посмотреть проверить. ЗначениеВФайл() и будет видно
(18) Может человеку надо все дубли проверить |
|||
20
Bigbro
22.01.21
✎
08:20
|
(19) дубли не так проверяются.
|
|||
21
Bigbro
22.01.21
✎
08:21
|
а так он в цикле ищет в ТЗ но каждый раз по одной ячейке. это бред какой то.
|
|||
22
Mafiozaa
22.01.21
✎
08:23
|
Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
// Процедура разбирает штрих-код, считанный сканером // и заполняет строки накладной Перем Упаковка,ТекКоличество, Спецификация; Перем ВремТовар, ВремЕдиница, ВремКоличество, ВремЦена; Перем СтрокаВозврЦена; Если Событие = "BarCodeValue" Тогда Штрихкод = СокрЛП(Данные); Сообщить(Штрихкод); стр=1; Если ТЗКоды.НайтиЗначение(ШтрихКод,стр,"КодТовара")=1 Тогда Сообщить("Найден штрихкод в строке "+стр); Иначе Сообщить("Штрихкод "+ШтрихКод+" не найден"); КонецЕсли; //Если ТЗКоды.НайтиЗначение(Штрихкод,Стр,ТЗКоды.КодТовара) = 1 Тогда // Сообщить("Йоу") //Иначе // Сообщить("Колом"); //КонецЕсли; //ПолучитьСтрокуПоНомеру(НомерСтроки); //Если СтрДлина(Данные) > 14 Тогда // Маркер = СокрЛП(Данные); // КодМаркировки = Маркер; // ПолучитьСтрокуПоНомеру(НомерСтроки + 1); // АктивизироватьСтроку(НомерСтроки); //КонецЕсли; глСканерПосылкаДанных(1); Иначе глОбработкаВнешнегоСобытия(Источник, Событие, Данные); КонецЕсли; |
|||
23
Mafiozaa
22.01.21
✎
08:23
|
||||
24
Mafiozaa
22.01.21
✎
08:24
|
При данном коде, вижу вот это см скрин
|
|||
25
JeHer
22.01.21
✎
08:25
|
ТЗКоды как заполняешь-то всё-таки?
|
|||
26
Mafiozaa
22.01.21
✎
08:26
|
(25) ВыгрузитьТабличнуюЧасть(ТЗКоды);
|
|||
27
Андрей_Андреич
naïve
22.01.21
✎
08:26
|
(24) Ну и что что скрин - может это вычисляемое поле, а в таблице его нет. Говорю же - выдай собственно ТЗКоды
|
|||
28
Mafiozaa
22.01.21
✎
08:27
|
(27) Секунду, этим и занимаюсь
|
|||
29
Андрей_Андреич
naïve
22.01.21
✎
08:27
|
(26) А в коде нет этой выгрузки
|
|||
30
Mafiozaa
22.01.21
✎
08:27
|
(29) Она заполняется при открытии
|
|||
31
Bigbro
22.01.21
✎
08:27
|
стр = 0
а не стр = 1 иначе ищет по строке номер 1 |
|||
32
Mafiozaa
22.01.21
✎
08:28
|
(29) И при обходе пусть той же номенклатуры в цикле, выдает все значения
|
|||
33
Mafiozaa
22.01.21
✎
08:28
|
(31) Стр = 0, тоже самое
|
|||
34
Андрей_Андреич
naïve
22.01.21
✎
08:29
|
(32) Пока таблицу не покажешь - смысла нет
|
|||
35
Bigbro
22.01.21
✎
08:30
|
Значит оборачивай в СОкрЛП()
по-любому там пробелы у тебя добиты, длина поля больше чем длина штриха. |
|||
36
JeHer
22.01.21
✎
08:30
|
Вот не поленился и накидал обработину. У меня всё ищет
|
|||
37
Bigbro
22.01.21
✎
08:31
|
ну или наоборот штрих добивай пробелами до нужной длины, чтобы найтизначение работало
|
|||
38
Mafiozaa
22.01.21
✎
08:33
|
(34)
ЗначениеВФайл("123.txt", ТЗКоды); Сообщить(ЗначениеВФайл("123.txt", ТЗКоды)); Возвращает 1, файл пустой |
|||
39
JeHer
22.01.21
✎
08:33
|
(36)+ https://prnt.sc/xf4q4x
По-любому, типы не совпадают |
|||
40
Mafiozaa
22.01.21
✎
08:35
|
(39) Строка 13 символом, а кодтовара строка 20 символом, щас под 13 сделал проверю
|
|||
41
Mafiozaa
22.01.21
✎
08:36
|
(39) Красавчик, полетело
|
|||
42
Mafiozaa
22.01.21
✎
08:50
|
Уважаемые,опять колом встал)))
|
|||
43
Mafiozaa
22.01.21
✎
08:51
|
Бывает такое что на 1 номенклатурную позицию вбито 2-3 штрихкода)
|
|||
44
Андрей_Андреич
naïve
22.01.21
✎
08:52
|
(42) Хвастаешься?
|
|||
45
JeHer
22.01.21
✎
08:52
|
(43) опять в загадки играть будем? В чем теперь-то вопрос?
|
|||
46
Bigbro
22.01.21
✎
08:55
|
(43) и что с того?
|
|||
47
Mafiozaa
22.01.21
✎
09:04
|
(44) (45) (46) Принцип понятен, буду играться, разберусь, спасибо большое)
|
|||
48
Mikeware
22.01.21
✎
09:38
|
Открой для себя индексированную таблицу из 1с++
|
|||
49
Андрей_Андреич
naïve
22.01.21
✎
09:47
|
(48) Сначала синтакс-помощник бы открыть ...
|
|||
50
Mikeware
22.01.21
✎
10:02
|
(49) ну да. Это первое дело...
"спроси у мужика в кепке!"© |
|||
51
Mafiozaa
22.01.21
✎
11:45
|
(48) Вот это дельное, а (49) (50) не по сути, ибо через него и делал
|
|||
52
GreyK
22.01.21
✎
12:54
|
(51) А чем индексированная таблица дельнее, чем НайтиЗначений? Ну окромя того, что надо уметь пользоваться.
|
|||
53
andrewalexk
22.01.21
✎
13:01
|
(52) :) найтизначение одно - ничем, а найтизначение списком - дельнее
|
|||
54
GreyK
22.01.21
✎
13:13
|
(53) Тут бы ТС хоть одно значение найти, а вы про списки уже речь ведете, как говорят мудрецы : Большая дорога начинается с маленького шага :)
|
|||
55
Mikeware
22.01.21
✎
13:51
|
(52)(53) тем, что можно найти сразу БлижайшуюБольше, и сравнив по СокрЛП, понять, попал или не попал.
ну и мелкий сахар, типа сразу спозиционироваться... Или УстановитьФильтр и посмотреть КоличествоСтрок... (54) ну да, сначала нужно научиться справшивать и понимать МужикаВКепке® |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |