Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Связывание объектов по реквизиту в запросе
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
SergXP
Вопрос собственно в заголовке темы.
Пытался связать объекты в условии (Условие(Справочник.КонтрПозиции.Товар = Регистр.ОстаткиТоваров.Товар)wink.gif, но платформа ругается "Ошибка в выражении"Справочник"".
Sanyk
Звязування таблицб в 7 робиться за допомогою оголошення змінних в запиті: "Товар = Справочник.КонтрПозиции.Товар, Регистр.ОстаткиТоваров.Товар;".
SergXP
Нет, что-то не так работает. Получаемое значение реквизита справочника пустое. Связь не установлена. Может потому, что справочник подчинен еще одному справочнику?
Sanyk
Покажіть повний текст запиту
SergXP
"//{{ЗАПРОС(Сформировать)
    |Период с ВыбДата по ВыбДата;
    |Фирма = Регистр.ОстаткиТоваров.Фирма;
    |Склад = Регистр.ОстаткиТоваров.Склад;
    |ДокументПрихода = Регистр.ОстаткиТоваров.ДокументПрихода;
    |Товар = Регистр.ОстаткиТоваров.Товар,Справочник.КонтрПозиции.Товар;
    |ОстатокТовара = Регистр.ОстаткиТоваров.ОстатокТовара;
    |НомерСтроки = Регистр.ОстаткиТоваров.НомерСтроки;
    |Ответственный = Справочник.КонтрПозиции.Сотрудник;
    |Функция ОстатокТовараНаКонец = КонОст(ОстатокТовара);
    |Группировка Товар упорядочить по Товар.Наименование;
    |Группировка ДокументПрихода упорядочить по ДокументПрихода.ДатаДок;
    |Условие(Фирма=ВыбФирма);
    |Условие(Склад = СкладБрака);
    |Условие((ПустоеЗначение(ВыбОтветственный) = 1) ИЛИ (Ответственный = ВыбОтветственный));
    |"//}}ЗАПРОС
;

Повторюсь, нужно отфильтровать запрос по Ответственному, который находится в справочнике КонтрПозиции, который связан по реквизиту Товар с регистром и еще и подчинен справочнику Склады.
Acid
а почему это не сделать в условии?
SergXP
Пробовал, не выходит. Получается просто условие, а не связывание, как например в фокспро
Acid
SergXP @ Сегодня, 9:50 необходимо зарегистрироваться для просмотра ссылки ,
Проделайте то же самое в конструкторе запросов.
Sanyk
Наврядчи получиться одним запитом. Нема в 77 поняття ліве (праве) з'єднання. Робіть двума послідовними запитами.
SergXP
Acid @ Сегодня, 10:20 необходимо зарегистрироваться для просмотра ссылки ,
Именно через конструктор и делал...

Sanyk @ Сегодня, 10:26 необходимо зарегистрироваться для просмотра ссылки ,
Очень жаль. Таким образом ломается весь отчет, т.к. нарушается вся арифметика по группировкам...
Sanyk
Не бачу де вона може бути порушена, у Вас немає групування "Ответсвенный".
sava1
Sanyk,
Если база файловая - используйте 1sqlite, скульная - 1срр и пишите нормальные скульные запросы.
Acid
сформируйте список значений по Справочник.КонтрПозиции.Товар
И делайте условие.
SergXP
Sanyk @ Сегодня, 11:18 необходимо зарегистрироваться для просмотра ссылки ,
Ломается арифметика между группировками "Товар" и "ДокументПрихода". Группировка "Ответственный" совсем не нужна. По ответственному просто нужен фильтр.

sava1 @ Сегодня, 12:22 необходимо зарегистрироваться для просмотра ссылки ,
С 1срр пока не знаком...

Цитата(Acid @ 30.11.16, 12:42) необходимо зарегистрироваться для просмотра ссылки
сформируйте список значений по Справочник.КонтрПозиции.Товар
И делайте условие.

И? Мне нужно отфильтровать по Ответственному выборку из рагистра остатков, где ответственного нет.
Sanyk
Першим запитом формуєте список значень з потрібними ТМЦ, в другому запиті фільтруєте за домомогою цього списку
SergXP
Кажется понял... Спасибо. Только там результат первого запроса можно выгрузить в ТЗ, а не список...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.