v7: Программное копирование документа. #711110


#0 by Eeakie
Добрый вечер. Программно копирую документ, но не могу потом поймать его контекст. Делаю через: 1. Открывается журнал документа и документ делается активным (АктивизироватьОбъект); 2. Копирую документ, Сервис.ЭмулироватьКлавиатуру("{F9}"); 3. Журнал закрывается. В итоге у меня есть скопированный документ, но нет к нему доступа. Пробовал через АктивныйКонтекст, но ловится только документ-исходник. Есть какой-нибудь вариант поймать контекст копии? Можно, я так понимаю, сделать просто через "ОткрытьФорму" новый документ и скопировать через метаданные все атрибуты. И контекст там будет, но это второй вариант.
#1 by ДенисЧ
А зачем такой гемор? Не проще ли программно его скопировать, заполнив по метаданным?
#2 by Eeakie
Казалось что проще сэмулировать копирование, чем заполнять по метаданным.
#3 by ДенисЧ
хм... Ты всегда левое ухо правой ногой чешешь?
#4 by Eeakie
Понял. Делаю через мета.
#5 by Fedor-1971
Что сделать то хочешь?
#6 by Fedor-1971
+ В смысле какая исходная задача для копирования документа?
#7 by Ёпрст
всего-то примитивный запрос на insert в пару-тройку табличек.
#8 by Eeakie
Надо в документе сделать кнопку, которая будет делать идентичный документ, но разбивать табличную часть по условию. Т.е. какая-то часть строк останется в первом документе, а остальные перейдут в копию. Да я был бы рад сделать прямым, но пока что не имею представления как это сделать.
#9 by Fedor-1971
ВводНаОсновании(ДокОснование) - почитай в справке, там есть документ основание и твой новый документ - новый заполняй как тебе нужно.
#10 by Eeakie
В моём документе не прописана процедура ввода на основании документа такого же вида. Писать её не вижу смысла. Надо всего-то сделать копию текущего документа, а там уже с табличной частью разбираться.
#11 by Eeakie
Что не так? КонтКопии = "";
#12 by Eeakie
У меня есть подозрение, что работа с атрибутами через КонтекстФормы это хреновое занятие.
#13 by ДенисЧ
Ты на пальцах расскажи, занафея тебе форму открывать??
#14 by Eeakie
Знаю, уже много раз получал в морду эту фразу, но тут надо именно так. Можно создать программно через Новый и заполнить, но этот документ (копию) нужно будет сразу выдать на экран. А для этого его нужно будет сохранить после создания. Нафига мне это надо? Надо открыть форму, заполнить чё надо и думать писать его в базу или нет.
#15 by Fedor-1971
в же сказал - откроется форма нового документа заполненная как написано в процедуре ВводНаОсновании. Пользователь примет решение - сохранять или нет.
#16 by Eeakie
Я, возможно, как-то неправильно поставил вопрос. Мне надо просто скопировать документ, на который есть ссылка и получить контекст формы полученного копированием документа.
#17 by Eeakie
+ Зачем мне дописывать ВводНаОсновании? Можно и через метаданные скопировать.
#18 by Eeakie
++ Это сродни тому, что я и хочу: "ОткрытьФорму и через контекст делать что угодно", но только без переписи ВводНаОсновании.
#19 by Chai Nic
Через контекст, вроде как, будет работать только если formex подключен..
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С