Имя: Пароль:
1C
1С v8
ВПФ в управляемом приложении: нужен параметр с данными из стороннего документа
0 PiotrLoginov
 
24.10.12
23:55
Здравствуйте всем. Пытаюсь разобраться в роли, которую играет в запросе содержимое параметра МассивОбъектов.

Мне нужно в макет внешней печатной формы для Расходной накладной (конфигурация УТ 11) добавить ячейку со значением одного из реквизитов стороннего документа, а именно заказа, на основании которого создана текущая Расходная накладная.

Насколько я понял, когда мы составляем запрос на выборку данных (для использования их потом при заполнении печатной формы), мы должны указать, что информация должна выбираться именно из той конкретной расходной накладной, которая в данный момент у нас открыта. Для этого, как правило, в запросе присутствует параметр, значение которго берется из МассивОбъектов. Именно там уже по умолчанию находится ссылка на текущий открытый документ.

Значит, если я хочу добавить в запрос выборку данных не из текущего открытого документа, а еще откуда-то, я должен добавить в запрос еще один параметр, значением которого будет ссылка на конкретный экземпляр объекта конфигурации (в моем случае - на заказ, на основании которго создана в данный момент открытая расходная накладная). Правильно? А как это сделать?
1 dimaldinho
 
25.10.12
00:04
>> на основании которго создана в данный момент открытая расходная накладная

Запрос.Текст = "Выбрать Заказ.Ссылка Из Документы.Заказ КАК Заказ Где Заказ.Ссылка = &ЗаказСсылка"

Запрос.УстановитьПараметр("ЗаказСсылка", Основание);

Основание - это имя реквизита расходной накладной.
2 dimaldinho
 
25.10.12
00:05
Хотя в (0) текста так много, что я не уверен, что написал в тему :)
3 PiotrLoginov
 
25.10.12
00:13
Я думаю, это то, что мне надо *yahoo*

Спасибо огромное. А насчет текста - сори, знаю, что не умею чтобы и коротко, и максимально понятно, так стараюсь хотя бы структурировать абзацами.
4 PiotrLoginov
 
25.10.12
00:44
Не сработало :( при попытке закрыть окно модуля выскакивает сообщение, что переменная Основание не определена.

Мб мне предварительно сформировать запрос, записывающий значение в переменную Основание ?
5 dimaldinho
 
25.10.12
07:35
>> Мб мне предварительно сформировать запрос, записывающий значение в переменную Основание ?

Предварительно проверить, как называется реквизит, где хранится основание, если он есть. И как в контексте внешней печатной формы называется переменная, где хранится ссылка на расходную накладную. Может быть что-то вроде

Запрос.УстановитьПараметр("ЗаказСсылка", ДокОбъект.ДокументОснование);

или

Запрос.УстановитьПараметр("ЗаказСсылка", ДокСсылка.Основание);
6 PiotrLoginov
 
25.10.12
07:59
Аа-а.. понял. Есть реквизит ЗаказКлиента , тип данных которого - сразу несколько документов, могущих быть основанием для Расходной накладной. Прямо сейчас не могу, а в течение дня тогда попробую варианты...
7 PiotrLoginov
 
27.10.12
00:25
Попробовал:

ЗаказКлиента,
ДокОбъект.ДокументОснование,
ДокСсылка.Основание.

Такие переменные "не определены". Охотно верю, что если правильно "обзову" документ-основание, можно будет ссылку на него принять в качестве параметра. Но чтобы правильно его "обозвать", я должен все-таки четко представлять, как работает процедура Печать, и какие откуда берутся для нее параметры.

Попробовал почитать значения параметров отладчиком - новый затык: использовать отладчик для внешних форм - само уже не так-то просто. Завтра напишу новый пост на эту тему.