8.х БП 1С:БП8 1.6.9.4 ПКО "Получение д/с в банке"

Тема в разделе ""1С:Бухгалтерия БП"", создана пользователем Yuriy.Samorodov, 23 сен 2008.

  1. TopicStarter Overlay
    Yuriy.Samorodov
    Offline

    Yuriy.Samorodov

    Регистрация:
    23 сен 2008
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте!
    Столкнулся со следующей проблемой на релизе 1.6.9.4

    Код: {ОбщийМодуль.УправлениеВзаиморасчетами(277)}: Ошибка при вызове метода контекста (Выполнить): {(11, 40)}: Поле не найдено "Справочник1.Родитель"
    ПО (Справочник2.Ссылка = Справочник1.<<?>>Родитель)
    Выборка = Запрос.Выполнить().Выбрать();
    по причине:
    {(11, 40)}: Поле не найдено "Справочник1.Родитель"
    ПО (Справочник2.Ссылка = Справочник1.<<?>>Родитель)

    Скажите, пожалуйста, где может быть косяк?
  2. hot
    Offline

    hot

    Регистрация:
    29 май 2008
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    У нас в УПП при переходе на 17 релиз тоже была такая проблема. В запрос поподает справочник не имеющий иерархии. Из за этого возникает ошибка. Надо сделать проверку этого в общем модуле.
    Найдите общий модуль УправлениеВзаиморасчетами. В нем есть функция ПолучитьСписокВышеСтоящихГрупп(ЭлементСправочника).
    Здесь надо исправить код на следующее. Что добавил. выделено красным. Т.е. добавляем условие выполнения запроса.


    Результат = Новый Массив;

    Если НЕ ЗначениеЗаполнено(ЭлементСправочника) Тогда
    Возврат Результат;
    КонецЕсли;
    Если ЭлементСправочника.Метаданные().Иерархический Тогда
    ИмяСправочника = ЭлементСправочника.Метаданные().Имя;
    Запрос = Новый Запрос;
    Запрос.Текст = "
    |ВЫБРАТЬ
    | Справочник1.Родитель КАК Родитель1,
    | Справочник2.Родитель КАК Родитель2,
    | Справочник3.Родитель КАК Родитель3,
    | Справочник4.Родитель КАК Родитель4,
    | Справочник5.Родитель КАК Родитель5
    |ИЗ
    | Справочник." + ИмяСправочника + " КАК Справочник1
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник." + ИмяСправочника + " КАК Справочник2
    | ПО (Справочник2.Ссылка = Справочник1.Родитель)
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник." + ИмяСправочника + " КАК Справочник3
    | ПО (Справочник3.Ссылка = Справочник2.Родитель)
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник." + ИмяСправочника + " КАК Справочник4
    | ПО (Справочник4.Ссылка = Справочник3.Родитель)
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник." + ИмяСправочника + " КАК Справочник5
    | ПО (Справочник5.Ссылка = Справочник4.Родитель)
    |ГДЕ
    | Справочник1.Ссылка = &Ссылка";

    ТекущийЭлемент = ЭлементСправочника;

    Пока ЗначениеЗаполнено(ТекущийЭлемент) Цикл
    Запрос.УстановитьПараметр("Ссылка", ТекущийЭлемент);
    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда
    Для Индекс = 1 по 5 Цикл
    ТекущийЭлемент = Выборка["Родитель" + Индекс];
    Если ЗначениеЗаполнено(ТекущийЭлемент) Тогда
    Результат.Добавить(ТекущийЭлемент);
    Иначе
    Прервать;
    КонецЕсли;
    КонецЦикла;
    Иначе
    ТекущийЭлемент = Неопределено;
    КонецЕсли;
    КонецЦикла;
    КонецЕсли;

    Возврат Результат;
  3. GvH
    Offline

    GvH Опытный в 1С

    Регистрация:
    12 авг 2008
    Сообщения:
    179
    Симпатии:
    0
    Баллы:
    26
    Исправлена в релизе 1.6.10.6.

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