запрос с условием по тексту

puh14

Well-Known Member
11.07.2008
1 412
0
#1
Имеется ситуация - написал обработку загрузки номенклатуры в из одной ТИС 7.7 в другую Тис 7.7. Конфы идентичные. Соответствия кодам в номенклатуре нет, соответствие иерархии и наименованиям есть. Наименования зачастую бывают одинаковые в различных ветках. Для шустризны, чтобы не перебирать весь справочник попытался найти нужный элемент через запрос с условием

|Товар = Справочник.Номеклатура.текущийЭлемент;
|Группировка Товар;
|Условие (товар.Наименование = F.Name);

Где F.Name - текстовое поле в ДБФ, одинаковое по длине с наименованием.

Не пашет.

Пробовал добавлять имена в списки, СокрЛП, |Условие (товар.Уровень = F.Level); - единственное что пока не пробовал ПолноеНаименование

Пришлось делать через НайтиПоНаименованию - что не есть гут, в какой-то момент может закосячить. Ставить 1с++ неохота, есть ли какие нибуть другие выходы?
 

KiR

НЕ шибка опытный програмер)
11.09.2007
1 581
0
#2
А почему ты не можешь просто искать по НАЙТИ?
 

puh14

Well-Known Member
11.07.2008
1 412
0
#3
Это для работы со строкой - а мне надо из справочника вытянуть элемент соответствующий уровню, наименованию и наименованию родителя из ДБФноого файла. Лучше всего через запрос - ежлиб он ещё работал.
 
K

kaa

Гость
#5
|Условие (СокрЛП(товар.Наименование) = СокрЛП(F.Name));

так должно работать
 

puh14

Well-Known Member
11.07.2008
1 412
0
#6
Тоже не пашет.

Текст = "
|Период с ВыбНач по ВыбКон;
|Без Итогов;
|Товар = Справочник.Номенклатура.ТекущийЭлемент;
|Группировка Товар;
|Условие (Товар.ЭтоГруппа() = F.group); //не пашет
|Условие (СокрЛП(Товар.Наименование) = СокрЛП(F.name));// не пашет
|Условие (Товар.Уровень() = F.level);"//не пашет
;
 
K

kaa

Гость
#9
может что-нибудь с кодировкой в дбф-ке не так ?

В таких случаях я пользовался так |Условие (Найти(СокрЛП(Товар.Наименование),СокрЛП(F.Name))>0)

Правда задачи были для синхронизации справочников, вываливалась табличка с найдеными занчениями их несколько
 

puh14

Well-Known Member
11.07.2008
1 412
0
#10
Кодировка нормальная - НайтиПоНаименованию работает. Насчет Найти - так мне и надо несколько! Остальные отсеиваются на условиях уровень и имя родителя. Ща попробую!