|  06.07.2004, 10:12 | #1 | 
| Участник | 
			
			Добрый день. У меня следующий нубский вопрос. Необходимо создать формочку, аналогичную LedgerTransVoucher (Главная книга\Запросы\Аудит\Бухгалтерские проводки), но с добавлением данных из TransactionLog и фильтрацией по текущему пользователю. Сделал форму по подобию LedgerTransVoucher, в качестве DS подсунув вьюшку (соединение LedgerTrans и TransactionLog по полю createdTransactionID). Основная часть формы работает нормально, но существуют проблемы с обработкой кнопок. Например, с кнопкой Исходный документ, по которой должна вызываться формочка OriginalDocuments. Свою такую форму создавать не хочется, а в существующей в конструктор класса передается запись LedgerTrans. У меня же форма которая вызывает OriginalDocuments в DS содержит только view основанный на LedgerTrans (можно добавить LedgerTrans, но как использовать именно его я не знаю). Т.е. вопрос такой: есть 2 DS – как передавать в вызываемый объект запись конкретного DS через element.args().record. Пытаюсь так: Args args = new Args(); Form form1 = new Form('OriginalDocuments'); FormRun formRun; ; args.object(form1); args.caller(LedgerTrans_DS); //??? args.name('OriginalDocuments'); formRun = ClassFactory.formRunClass(args); formRun.init(); formRun.run(); formRun.wait(); Но ничего не выходит. | 
|  | 
|  06.07.2004, 12:05 | #2 | 
| Участник | 
			
			надо заполнять не args.caller() а args.record() В caller нужно положить ссылку на текущий, вызывающий объект. На объект инициатор вызова. Тогда "на той стороне" можно будет понять кто вызывал и выпонить call back вызов. | 
|  | 
|  06.07.2004, 12:06 | #3 | 
| Участник | 
			
			см. в качестве примера в руководство разработчика. Ключевое слово "Activating a menu item from your X++ code" или в FAQ Как программно открыть форму или отчет | 
|  |