|
Поиск строки в регистре по элементу. | ☑ | ||
---|---|---|---|---|
0
dborovsky
21.05.13
✎
16:31
|
Сразу к делу.
В переменную передаю значение из табл эксель врНаименование = ЛистЭксель.Cells(Счетчик, КолонкаНаименование).Value; врНаименование принимает значение "Клемма АКБ комплект свинцовая с зажимом под болт (Рязань)" У меня есть регистр сведений в котором одно из измерений Наименование со значением: "Клемма АКБ комплект свинцовая с зажимом под болт (Рязань)" Ниже приведен часть кода где я хочу найти эту строку из регистра по наименованию, что я выцепил из экселя. Но почему то постояно выдает что стАльтернативныеНаименования неопределено, т.е. не находит. Может кто даст дельный совет, что ни так. Через отладчик смотрел, значение из экселя и и из регистра один к одному. Заранее спасибо за ответ. Если врНеНайдено Тогда стАльтернативныеНаименования = тзАльтернативныеНаименования.Найти(врНаименование, "Наименование")"; Если стАльтернативныеНаименования = Неопределено Тогда Если Не ПустаяСтрока(врКод) Тогда НоваяСтрока.Наименование = Справочники.Номенклатура.НайтиПоКоду(врКод); КонецЕсли; Иначе НоваяСтрока.Наименование = стАльтернативныеНаименования.Ссылка; КонецЕсли; Иначе... |
|||
1
dborovsky
21.05.13
✎
16:33
|
Т.е. стАльтернативныеНаименования постоянно равно Неопределено
|
|||
2
HEKPOH
21.05.13
✎
16:34
|
вопрос: покажи кусок кода, где "хочу найти эту строку из регистра по наименованию"
|
|||
3
dborovsky
21.05.13
✎
16:35
|
стАльтернативныеНаименования = тзАльтернативныеНаименования.Найти(врНаименование, "Наименование");
|
|||
4
HEKPOH
21.05.13
✎
16:35
|
тзАльтернативныеНаименования - какой тип?
|
|||
5
mikecool
21.05.13
✎
16:36
|
собрать данные из экселя в тз, тз засунуть в запрос, в запросе по подобно искать
|
|||
6
mikecool
21.05.13
✎
16:36
|
маньяк недавно описывал ,как он в несколько проходов поиском занимается
|
|||
7
HEKPOH
21.05.13
✎
16:37
|
в первом посте нет ни одной строчки, где показан поиск в регистре
|
|||
8
Allexe
21.05.13
✎
16:38
|
тзАльтернативныеНаименования это что такое?
|
|||
9
HEKPOH
21.05.13
✎
16:39
|
вероятно, таблица значений
|
|||
10
dborovsky
21.05.13
✎
16:40
|
вот полный код:
//ПОИСК АЛЬТЕРНАТИВНЫХ НАИМЕНОВАНИЙ НОМЕНКЛАТУРЫ зпАльтернативныеНаименования = Новый Запрос; зпАльтернативныеНаименования.Текст = "ВЫБРАТЬ | исПоставщикиНоменклатураНаименование.Наименование, | Номенклатура.Ссылка |ИЗ | РегистрСведений.исПоставщикиНоменклатураНаименование КАК исПоставщикиНоменклатураНаименование | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура | ПО исПоставщикиНоменклатураНаименование.Товар = Номенклатура.Ссылка"; тзАльтернативныеНаименования = зпАльтернативныеНаименования.Выполнить().Выгрузить(); //ЗАГРУЗКА В ТАБЛИЧНУЮ ЧАСТЬ ФОРМЫ ВЫБОРКИ Для Счетчик = НомерНачСтроки По НомерКонСтроки Цикл ИндикаторЗагрузки = Счетчик; врНаименование = ЛистЭксель.Cells(Счетчик, КолонкаНаименование).Value; Если ПустаяСтрока(врНаименование) Тогда Прервать; КонецЕсли; НоваяСтрока = Товары.Добавить(); НоваяСтрока.АльтернативноеНаименование = врНаименование; Если КолонкаКод = 0 Тогда врКод = ""; Иначе врКод = ЛистЭксель.Cells(Счетчик, КолонкаКод).Value; КонецЕсли; НоваяСтрока.АльтернативныйКод = врКод; НоваяСтрока.Количество = лкЗначениеВЧисло(ЛистЭксель.Cells(Счетчик, КолонкаКоличество).Value); НоваяСтрока.Цена = лкЗначениеВЧисло(ЛистЭксель.Cells(Счетчик, КолонкаЦена).Value); НоваяСтрока.Сумма = Окр(НоваяСтрока.Количество * НоваяСтрока.Цена, Округление); стНаименование = Справочники.Номенклатура.НайтиПоНаименованию(врНаименование); Попытка врНеНайдено = стНаименование.Пустая(); Исключение врНеНайдено = Истина; КонецПопытки; Если врНеНайдено Тогда стАльтернативныеНаименования = тзАльтернативныеНаименования.Найти(врНаименование, "Наименование"); Если стАльтернативныеНаименования = Неопределено Тогда |
|||
11
dborovsky
21.05.13
✎
16:41
|
тзАльтернативныеНаименования тип таблица значений
|
|||
12
Allexe
21.05.13
✎
16:43
|
(11) Может дело в лишних пробелах?
|
|||
13
HEKPOH
21.05.13
✎
16:52
|
врНеНайдено = стНаименование.Пустая(); - это что?
|
|||
14
HEKPOH
21.05.13
✎
16:54
|
блин, запутался в названиях переменных)))
|
|||
15
HEKPOH
21.05.13
✎
16:54
|
но в попытке это делать - жесть
|
|||
16
dborovsky
22.05.13
✎
10:28
|
Удалил последнее слово и находит. Может на самом деле где лишний пробел был. Спасибо за ответы.
P.S. Если не через попытку, как тогда правильнее? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |