Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 04:42

Как выбрать реквизит из документа основания?

Автор sapravka, 31 мар 2013, 13:41

0 Пользователей и 1 гость просматривают эту тему.

sapravka

 Здравствуйте!
Я новичок в программирование, поэтому прошу помощи:
Подскажите, пожалуйста – как выбрать реквизит документа, на основании которого делается другой документ?
Реквизит размещен на основной форме документа и имеет тип булево!
Пробую сделать как то так:

Если Документы.НужныйДокументОснование.Реквизиты.НашРеквизитСТипомБулево = Истина Тогда


Выдает ошибку - Поле объекта не обнаружено (Реквизиты)
И главное – как прописать что бы искался нужный мне реквизит в документе основания?

Besart

нужно сделать не тип булево, а тип ДокументСсылка.НужныйВамДокумент, а потом уже програмно заполнять нужные вам реквизиты, а в пользовательском режиме будете выбирать конкретный документ на основании которого будет заполняться текущий документ

SlazZy

Цитата: Besart от 31 мар 2013, 17:24
нужно сделать не тип булево, а тип ДокументСсылка.НужныйВамДокумент, а потом уже програмно заполнять нужные вам реквизиты, а в пользовательском режиме будете выбирать конкретный документ на основании которого будет заполняться текущий документ
вот зря вы человека путаете :)

на самом деле всё правильно, только без "реквизиты", обращение к реквизитам возможно напрямую от ссылки через точку.
То есть
Документы.НужныйДокументОснование.НашРеквизитСТипомБулево = Истина


Но для начала проверьте существование этого документа.

Besart

Цитата: sapravka от 31 мар 2013, 13:41Подскажите, пожалуйста – как выбрать реквизит документа, на основании которого делается другой документ?
или я не понял вопрос, либо он сам не понял что написал


sapravka

Цитата: SlazZy от 31 мар 2013, 18:25
Цитата: Besart от 31 мар 2013, 17:24
нужно сделать не тип булево, а тип ДокументСсылка.НужныйВамДокумент, а потом уже програмно заполнять нужные вам реквизиты, а в пользовательском режиме будете выбирать конкретный документ на основании которого будет заполняться текущий документ
вот зря вы человека путаете :)

на самом деле всё правильно, только без "реквизиты", обращение к реквизитам возможно напрямую от ссылки через точку.
То есть
Документы.НужныйДокументОснование.НашРеквизитСТипомБулево = Истина


Но для начала проверьте существование этого документа.


Попробывал так обратиться:

Документы.ЗарплатаКВыплатеОрганизаций.ВыплатаДепонентов = Истина

Но получаю ошибку:

Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{Документ.ПлатежноеПоручениеИсходящее.МодульОбъекта(747)}: Поле объекта не обнаружено (ВыплатаДепонентов)


anonimous

Цитата: SlazZy от 31 мар 2013, 18:25вот зря вы человека путаете

на самом деле всё правильно, только без "реквизиты", обращение к реквизитам возможно напрямую от ссылки через точку.
То есть
это ты человека запутал, besart прав,
Цитата: sapravka от 01 апр 2013, 02:25Документы.ЗарплатаКВыплатеОрганизаций.ВыплатаДепонентов = Истина
данное значение нужно присваивать реквизиту програмно, на основании выбранного документа ЗарплатаКВыплатеОрганизаций, а для этого необходимо на форме проводимого документа создать реквизит с типом ДокументСсылка.ЗарплатаКВыплатеОрганизаций, и уже в пользовательском режиме выбирать нужный документ

а потом уже ставить условие Если ....Истина Тогда

sapravka

Добавлен реквизит на форму документа:






И теперь пытаюсь обратиться к нему из другого документа потомка к этому документу основания...
Подскажите пожалуйста, как это реализовать...
А то уже всю голову сломал...
Добавлено: 01 апр 2013, 08:28


Пытался запросом:

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗарплатаКВыплатеОрганизаций.ВыплатаДепонентов КАК ВыплатаДепонентов
|ИЗ
| Документ.ЗарплатаКВыплатеОрганизаций КАК ЗарплатаКВыплатеОрганизаций
|ГДЕ
| ЗарплатаКВыплатеОрганизаций.Ссылка = &Ссылка;
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();


Да все равно не получается обратиться из другого документа потомка к документу основания...

SlazZy

Цитата: sapravka от 01 апр 2013, 08:03се равно не получается обратиться из другого документа потомка к документу основания...

ДокументОснование.ВыплатаДепонентов
так.


Цитата: anonimous от 01 апр 2013, 02:59это ты человека запутал, besart прав,

на самом деле нет, по-моему мы просто все не могли понять чего человек хочет :)

Besart

Сколько можно повторять: в другом документе создаешь реквизит например Зарплата с типом ДокументСсылка.ЗарплатаКВыплатеОрганизаций, затем в этом другом документе пишешь обращение к нужному реквизиту
Если Зарплата.ВыплатаДепонентов = Истина Тогда

sapravka

Цитата: Besart от 01 апр 2013, 17:42
Сколько можно повторять: в другом документе создаешь реквизит например Зарплата с типом ДокументСсылка.ЗарплатаКВыплатеОрганизаций, затем в этом другом документе пишешь обращение к нужному реквизиту
Если Зарплата.ВыплатаДепонентов = Истина Тогда

Создал реквизит Зарплата с типом ДокументСсылка.ЗарплатаКВыплатеОрганизаций, а затем в документе ПлатежноеПоручениеИсходящее написал:

Если Зарплата.ВыплатаДепонентов = Истина Тогда

Но он не видит документа основания – пишет ложь, хотя в структуре подчиненности хорошо видно, что в документе основание стоит истина, вот сами посмотрите:



Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск