Связанные документы (СКД)

1. A.X. 03.04.17 20:22 Сейчас в теме
Прошу помощи, друзья!
Есть документы-заявки, на основании которых создаются документы движения (документы связаны)
Необходимо средствами СКД по каждому документу движения определить связанный документ

ВЫБРАТЬ
	КазначействоДвиженияДенежныхСредствОбороты.ДокументДвижения.Ссылка КАК ДокСсылка,
	КазначействоДвиженияДенежныхСредствОбороты.СуммаОборот,
	СвязанныеДокументы.Ссылка
ИЗ
	РегистрНакопления.КазначействоДвиженияДенежныхСредств.Обороты КАК КазначействоДвиженияДенежныхСредствОбороты,
	КритерийОтбора.СвязанныеДокументы(&СсылкаДок) КАК СвязанныеДокументы
	Запрос.УстановитьПараметр("СсылкаДок", ДокСсылка) 
Показать


Код выдает ошибку (скрин). Поправьте пожалуйста!
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
10. li5enok 05.04.17 10:02 Сейчас в теме
(9) Параметр должен быть только в одном наборе.
Попытаюсь догадаться для вашего случая.
Первый набор
ВЫБРАТЬ
    КазначействоДвиженияДенежныхСредствОбороты.ДокументДвижения КАК ДокументСсылка,
    КазначействоДвиженияДенежныхСредствОбороты.СуммаОборот
ИЗ
    РегистрНакопления.КазначействоДвиженияДенежныхСредств.Обороты КАК КазначействоДвиженияДенежныхСредствОбороты

Второй набор
ВЫБРАТЬ
    &СсылкаДок КАК СсылкаДок
    СвязанныеДокументы.Ссылка КАК СвязанныйДокумент
ИЗ
    КритерийОтбора.СвязанныеДокументы(&СсылкаДок) КАК СвязанныеДокументы


Выражение источник указываете ДокументСсылка, выражение приемника и параметр СсылкаДок.
При построении отчета не забудьте указать в отборах узкий период или конкретный список документов движения, иначе рискуете ждать результата очень долго.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Touh_Of_soul) 03.04.17 21:06 Сейчас в теме
И АктРазногласий.Автомобиль = &ВыбратьАвто
(1)
ВЫБРАТЬ КазначействоДвиженияДенежныхСредствОбороты.ДокументДвижения.Ссылка КАК ДокСсылка, КазначействоДвиженияДенежныхСредствОбороты.СуммаОборот, СвязанныеДокументы.Ссылка ИЗ РегистрНакопления.КазначействоДвиженияДенежныхСредств.Обороты КАК КазначействоДвиженияДенежныхСредствОбороты, КритерийОтбора.СвязанныеДокументы(&СсылкаДок) КАК СвязанныеДокументы Запрос.УстановитьПараметр("СсылкаДок", ДокСсылка)




ВЫБРАТЬ
    КазначействоДвиженияДенежныхСредствОбороты.ДокументДвижения.Ссылка КАК ДокСсылка,
    КазначействоДвиженияДенежныхСредствОбороты.СуммаОборот,
    СвязанныеДокументы.Ссылка
ИЗ
    РегистрНакопления.КазначействоДвиженияДенежныхСредств.Обороты КАК КазначействоДвиженияДенежныхСредствОбороты,
    КритерийОтбора.СвязанныеДокументы(&СсылкаДок) КАК СвязанныеДокументы

ГДЕ
	КазначействоДвиженияДенежныхСредствОбороты.ДокументДвижения.Ссылка = &ДокСсылка
Показать
2. besica 03.04.17 20:31 Сейчас в теме
Запрос установить параметр в тесте запроса не пишется
Запрос.УстановитьПараметр("СсылкаДок", ДокСсылка)

Это в параметрах указывается
3. A.X. 03.04.17 20:46 Сейчас в теме
Проблема в том, что в параметрах (СКД) я могу установить только "жесткое" значение - ссылку на конкретный документ
А мне нужно для каждого документа движения в таблице установить конкретное, свое значение параметра.
Как это сделать программно в коде запроса?
5. A.X. 04.04.17 06:41 Сейчас в теме
Данный запрос выдает пустое значение (так как отбор в коде осуществляется по пустому параметру)
Такой код тоже выдает ошибку:
ВЫБРАТЬ
	КазначействоКонтрольБюджета.Регистратор.Ссылка КАК ДокСсылка,
	КазначействоКонтрольБюджета.Факт,
	СвязанныеДокументы.Ссылка
ИЗ
	РегистрНакопления.КазначействоКонтрольБюджета КАК КазначействоКонтрольБюджета,
	КритерийОтбора.СвязанныеДокументы( ЗНАЧЕНИЕ( КазначействоКонтрольБюджета.Регистратор.Ссылка ) ) КАК СвязанныеДокументы
6. ResetAtreides 04.04.17 10:46 Сейчас в теме
По логике, тут надо соединение делать, а не параметры выставлять, но по-моему, вы не так задачу решаете. Скорее всего там связь через реквизит "ДокументОснование" , критерий отбора там участвует, конечно, но мне кажется он в запросе не нужен
alex-l19041; +1 Ответить
7. li5enok 04.04.17 11:19 Сейчас в теме
Передача параметра в между наборами СКД вам поможет. Вот тут подробно описано: http://1cskd.ru/2010/10/srez-poslednix-na-kazhduyu-datu-v-skd/
8. volga23rus 04.04.17 11:51 Сейчас в теме
Парень запрос твой никогда не взлетит в таком виде...
Критерий отбора содержит весь список полей связанных между собой объектов.
Для начала определи по какому полю(обычно в реквизите содержится основание) документы связаны между собой, и привязывайся исключительно к реквизитам.
Передай внешний набор данных в СКД со списком своих заявок.
Боюсь разочаровать, но знаний у тебя маловато.
Основная цель найти в ДокументДвижения реквизит содержащий заявку. Через консоль ищи, если несколько типов, для каждого ищи
Прикрепленные файлы:
9. A.X. 04.04.17 19:52 Сейчас в теме
Документы "ДокументДвижения" и Заявка на расходование ден.средств связаны через ссылку ДокументДвижения.ДокументОснование.Ссылка
Самый очевидный способ связать документы через Левое соединение, однако в таком случае почему-то около 20% документов не связываются, хотя в структуре подчиненности документов есть связь (почему так, для меня остается загадкой).
Поэтому, я пошел по другому пути - определить связь через КритерийОтбора.СвязанныеДокументы. Чтобы это сделать, нужно в КритерииОтбора передать параметр - ссылку на документ (при этом, связь работает только в одном направлении от документа-родителя к документу-потомку)
Задать параметр (ссылку на документ-родитель) в СКД можно, как я понимаю, способом, о котором пишет выше Александр Дубровский:
1) в конструкторе СКД мы создаем набор данных1
ВЫБРАТЬ
	КазначействоДвиженияДенежныхСредствОбороты.ДокументДвижения.Ссылка,
	КазначействоДвиженияДенежныхСредствОбороты.СуммаОборот
ИЗ
	РегистрНакопления.КазначействоДвиженияДенежныхСредств.Обороты(, , , ДокументДвижения.Ссылка = &СсылкаДок) КАК КазначействоДвиженияДенежныхСредствОбороты

2) И набор данных2
ВЫБРАТЬ
	СвязанныеДокументы.Ссылка
ИЗ
	КритерийОтбора.СвязанныеДокументы(&СсылкаДок) КАК СвязанныеДокументы

3) Связываем наборы данных как на скрине

В итоге отчет формируется, но выдает пустоту((
Прикрепленные файлы:
10. li5enok 05.04.17 10:02 Сейчас в теме
(9) Параметр должен быть только в одном наборе.
Попытаюсь догадаться для вашего случая.
Первый набор
ВЫБРАТЬ
    КазначействоДвиженияДенежныхСредствОбороты.ДокументДвижения КАК ДокументСсылка,
    КазначействоДвиженияДенежныхСредствОбороты.СуммаОборот
ИЗ
    РегистрНакопления.КазначействоДвиженияДенежныхСредств.Обороты КАК КазначействоДвиженияДенежныхСредствОбороты

Второй набор
ВЫБРАТЬ
    &СсылкаДок КАК СсылкаДок
    СвязанныеДокументы.Ссылка КАК СвязанныйДокумент
ИЗ
    КритерийОтбора.СвязанныеДокументы(&СсылкаДок) КАК СвязанныеДокументы


Выражение источник указываете ДокументСсылка, выражение приемника и параметр СсылкаДок.
При построении отчета не забудьте указать в отборах узкий период или конкретный список документов движения, иначе рискуете ждать результата очень долго.
11. A.X. 06.04.17 05:30 Сейчас в теме
Александр, спасибо большое! Способ сработал!))
Никогда бы не догадался сам, что так можно сделать)
12. VOPOH 01.06.18 08:52 Сейчас в теме
Александр, спасибо Вам огромное) мучился часа 2:)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот