1С 8.2 Не срабатывает запрос....
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Показано с 1 по 4 из 4
  1. #1
    Гость форума

    Регистрация
    12.03.2014
    Сообщений
    7
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию 1С 8.2 Не срабатывает запрос....

    Доброго времени суток!
    Помогите, пожалуйста, разобраться со следующей проблемой:

    Создал справочник "Производители". В справочнике есть таб. часть "ВариантыНазваний" - с 3-мя реквизитами таб.части: "Партнёр" + "НазваниеБрэнда" + "НазваниеДляЗапроса".

    Например:
    Поставщик№1 | "HYUNDAI/KIA/MOBIS" | "HYUNDAI/KIA"
    Поставщик№2 | "KIA/HYUNDAI/MOBIS" | "HYUNDAI/KIA"
    Поставщик№3 | "HYUNDAI/KIA"_______| "HYUNDAI/KIA"

    Пытаюсь запросом получить нужный мне элемент справочника:

    PHP код:
    Функция ПолучитьПроизводителяНоменклатуры(СтрокаПоискаПартнёрВидНоменклатурыЭкспорт
        Запрос 
    Новый Запрос;
        
    Запрос.Текст "ВЫБРАТЬ
                       |    ПроизводителиВариантыНазваний.Ссылка,
                       |    ПроизводителиВариантыНазваний.Ссылка.ГруппаДляРазмещения,
                       |    ПроизводителиВариантыНазваний.Ссылка.ВидНоменклатуры,
                       |    ПроизводителиВариантыНазваний.Ссылка.ВидЗапчасти,
                       |    ПроизводителиВариантыНазваний.Партнёр,
                       |    ПроизводителиВариантыНазваний.НазваниеБрэнда КАК НазваниеБрэнда,
                       |    ПроизводителиВариантыНазваний.НазваниеДляЗапроса
                       |ИЗ
                       |    Справочник.Производители.ВариантыНазваний КАК ПроизводителиВариантыНазваний
                       |ГДЕ
                       |    ПроизводителиВариантыНазваний.Ссылка.ВидНоменклатуры = &ВидНоменклатуры
                       |    И ПроизводителиВариантыНазваний.Ссылка.ПометкаУдаления = ЛОЖЬ
                       |    И ПроизводителиВариантыНазваний.Партнёр = &Партнёр
                       |    И ПроизводителиВариантыНазваний.НазваниеБрэнда = &НазваниеБрэнда
                       |
                       |УПОРЯДОЧИТЬ ПО
                       |    НазваниеБрэнда"
    ;
        
    Запрос.УстановитьПараметр("НазваниеБрэнда"СтрокаПоиска);
        
    Запрос.УстановитьПараметр("Партнёр"Партнёр);
        
    Запрос.УстановитьПараметр("ВидНоменклатуры"ВидНоменклатуры);
        
        
    ТаблицаПроизводителей Запрос.Выполнить().Выгрузить();
        
        
    Если ТаблицаПроизводителей.Количество() = 0 Тогда
            Сообщить
    ("Не найден производитель номенклатуры - " СтрокаПоискаСтатусСообщения.Внимание);
            
    Возврат Справочники.Производители.ПустаяСсылка();
        
    Иначе
            Возврат ТаблицаПроизводителей
    [0].Ссылка;
        
    КонецЕсли;
    КонецФункции 
    Параметры перепроверял по 10 раз. Типы совпадают (везде тип значения строка)!!! Консоль запросов, при проверке, показывает мне нужный результат. А вот в функции запрос почему-то не срабатывает (Результат - пустой)....
    Как так может быть? Что неправильно делаю?

  2. #2
    Спец PRO
    Аватар для arccos6pi
    Регистрация
    13.12.2010
    Адрес
    Тамбов
    Сообщений
    366
    Сказал(а) спасибо
    22
    Поблагодарили 1066 раз(а) в 244 сообщениях

    По умолчанию

    консоль это все классно,а вот отладка что говорит?

    ---------- Post added at 17:08 ---------- Previous post was at 17:06 ----------

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

  3. #3
    Гость форума

    Регистрация
    12.03.2014
    Сообщений
    7
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию

    Отладка говорит что переменная "ТаблицаПроизводителей " - таблица значений. ТаблицаПроизводителей .Количество() = 0;

    СтрокаПоиска = "BMW"
    ВидНоменклатуры - Тип "СправочникСсылка.Номенкат ура". Значение "Товар".
    Партнёр = "ADEO".

    Все значения и типы совпадают смотрел ручками ))

    По коду программно получал нужный элемент и сравнивал все параметры поиска. Все равны между собой.

    PHP код:
    Производитель Справочники.Производители.НайтиПоКоду("000000079");
        
    Если Производитель.ВидНоменклатуры ВидНоменклатуры Тогда
            Поиск 
    Новый Структура;
            
    Поиск.Вставить("Парнёр"Партнёр);
            
    СтрокиПартнёра Производитель.ВариантыНазваний.НайтиСтроки(Поиск);
            
    Если СтрокиПартнёра.Количество() = 0 Тогда
                Сообщить
    ("!");
            
    КонецЕсли;
            
    Поиск Новый Структура;
            
    Поиск.Вставить("НазваниеБрэнда"СтрокаПоиска);
            
    СтрокиПоБрэнду Производитель.ВариантыНазваний.НайтиСтроки(Поиск);
            
    Если СтрокиПоБрэнду.Количество() = 0 Тогда
                Сообщить
    ("!");
            
    КонецЕсли;
            
    Поиск Новый Структура;
            
    Поиск.Вставить("НазваниеБрэнда"СтрокаПоиска);
            
    Поиск.Вставить("Парнёр"Партнёр);
            
    НайденныеСтроки Производитель.ВариантыНазваний.НайтиСтроки(Поиск);
            
    Если НайденныеСтроки.Количество() = 0 Тогда
                Сообщить
    ("!");
            
    КонецЕсли;
        
    КонецЕсли
    Все три условия не выполнились!
    Последний раз редактировалось Максимио; 21.04.2014 в 18:20.

  4. #4
    Спец PRO
    Аватар для arccos6pi
    Регистрация
    13.12.2010
    Адрес
    Тамбов
    Сообщений
    366
    Сказал(а) спасибо
    22
    Поблагодарили 1066 раз(а) в 244 сообщениях

    По умолчанию

    Цитата Сообщение от Максимио Посмотреть сообщение
    Отладка говорит что переменная "ТаблицаПроизводителей " - таблица значений. ТаблицаПроизводителей .Количество() = 0;

    СтрокаПоиска = "BMW"
    ВидНоменклатуры - Тип "СправочникСсылка.Номенкат ура". Значение "Товар".
    Партнёр = "ADEO".

    Все значения и типы совпадают смотрел ручками ))

    По коду программно получал нужный элемент и сравнивал все параметры поиска. Все равны между собой.

    PHP код:
    Производитель Справочники.Производители.НайтиПоКоду("000000079");
        
    Если Производитель.ВидНоменклатуры ВидНоменклатуры Тогда
            Поиск 
    Новый Структура;
            
    Поиск.Вставить("Парнёр"Партнёр);
            
    СтрокиПартнёра Производитель.ВариантыНазваний.НайтиСтроки(Поиск);
            
    Если СтрокиПартнёра.Количество() = 0 Тогда
                Сообщить
    ("!");
            
    КонецЕсли;
            
    Поиск Новый Структура;
            
    Поиск.Вставить("НазваниеБрэнда"СтрокаПоиска);
            
    СтрокиПоБрэнду Производитель.ВариантыНазваний.НайтиСтроки(Поиск);
            
    Если СтрокиПоБрэнду.Количество() = 0 Тогда
                Сообщить
    ("!");
            
    КонецЕсли;
            
    Поиск Новый Структура;
            
    Поиск.Вставить("НазваниеБрэнда"СтрокаПоиска);
            
    Поиск.Вставить("Парнёр"Партнёр);
            
    НайденныеСтроки Производитель.ВариантыНазваний.НайтиСтроки(Поиск);
            
    Если НайденныеСтроки.Количество() = 0 Тогда
                Сообщить
    ("!");
            
    КонецЕсли;
        
    КонецЕсли
    Все три условия не выполнились!
    если ТаблицаПроизводителей .Количество() = 0 тогда у вас или параметры неверные,или данных по такому запросу просто нет

Похожие темы

  1. Ответов: 2
    Последнее сообщение: 26.03.2014, 22:02
  2. Помогите пожалуйста организовать запрос по дате!
    от kskb7771 в разделе Прикладное программирование
    Ответов: 3
    Последнее сообщение: 22.08.2010, 16:27

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •