1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программирован. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление
  2. Чат codeby в telegram перезагрузка. Обсуждаем вопросы информационной безопасности и методы защиты информации, программирование. Задавайте свои вопросы и комментируйте чужие. Подробнее ...

    Скрыть объявление

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

Тема в разделе "Базы данных и администрирование", создана пользователем puh14, 11 ноя 2008.

  1. puh14

    puh14 Well-Known Member

    Репутация:
    0
    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Имеется ситуация - написал обработку загрузки номенклатуры в из одной ТИС 7.7 в другую Тис 7.7. Конфы идентичные. Соответствия кодам в номенклатуре нет, соответствие иерархии и наименованиям есть. Наименования зачастую бывают одинаковые в различных ветках. Для шустризны, чтобы не перебирать весь справочник попытался найти нужный элемент через запрос с условием

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

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

    Не пашет.

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

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

    KiR НЕ шибка опытный програмер)

    Репутация:
    0
    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    А почему ты не можешь просто искать по НАЙТИ?
     
  3. puh14

    puh14 Well-Known Member

    Репутация:
    0
    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Это для работы со строкой - а мне надо из справочника вытянуть элемент соответствующий уровню, наименованию и наименованию родителя из ДБФноого файла. Лучше всего через запрос - ежлиб он ещё работал.
     
  4. KiR

    KiR НЕ шибка опытный програмер)

    Репутация:
    0
    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Ну да. точно
     
  5. kaa

    kaa Гость

    Репутация:
    0
    |Условие (СокрЛП(товар.Наименование) = СокрЛП(F.Name));

    так должно работать
     
  6. puh14

    puh14 Well-Known Member

    Репутация:
    0
    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Тоже не пашет.

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

    kaa Гость

    Репутация:
    0
    Не находит или матерится
     
  8. puh14

    puh14 Well-Known Member

    Репутация:
    0
    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    не находит - пустая таблица на выходе.
     
  9. kaa

    kaa Гость

    Репутация:
    0
    может что-нибудь с кодировкой в дбф-ке не так ?

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

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

    puh14 Well-Known Member

    Репутация:
    0
    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Кодировка нормальная - НайтиПоНаименованию работает. Насчет Найти - так мне и надо несколько! Остальные отсеиваются на условиях уровень и имя родителя. Ща попробую!
     
  11. puh14

    puh14 Well-Known Member

    Репутация:
    0
    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    РАботает! Пасиб!
     
Загрузка...

Поделиться этой страницей