v7: Как при программном создании документа достучаться до процедур создаваемого документа? #810097


#0 by Масянька
День добрый! Из одного док-та создается другой: программно, без открытия и пр. Как бы добраться до процедур, которые есть в модуле создаваемого? Спасибо.
#1 by Рэйв
Через точку от переменной объекта, но процедуры должны быть экспортными
#2 by Umga2002
Приоткрытии Параметры Закрыть
#3 by Масянька
В создаваемом сделала - Функция ПробитьЧекНаККМ Экспорт В другом:     ДокЧек.ПробитьЧекНаККМ; Выдало: ДокЧек.ПробитьЧекНаККМ; {Документ.ТоварныйЧек.Форма.Модуль}: Поле агрегатного объекта не обнаружено (ПробитьЧекНаККМ) ЧЯДНТ?
#4 by Масянька
Как обходной вариант - знаю. Но хочется по-человечески...
#5 by Остап Сулейманович
По-человечески - код нужно вынести в глобальный модуль. И потом уже вызывать и из формы документа и из дополнительных обработок.
#6 by silent person
в 7.7 ? там оно так не работает. штатно, функции и процедуры доступны только в контексте открытой формы.
#7 by Масянька
А как можно эмулировать нажатие кнопки? Не открывая форму и пр.
#8 by Остап Сулейманович
Экспортные процедуры глобального модуля доступны в любом контексте.
#9 by silent person
так это понятно, но в Как бы добраться до процедур, которые есть в модуле создаваемого? ну или через formex можно попробовать, но там тоже надо форму открывать. Синтаксис: ВыполнитьПроцедуру(Контекст, ИмяПроцедуры, СписокАргументов) Параметры: •    Контекст - тип: ГрупповойКонтекст. Контекст, в котором необходимо выполнить процедуру. Необязательный. По умолчанию - текущий контекст. •    ИмяПроцедуры - тип: Строка. Имя процедуры. •    СписокАргументов - тип: СписокЗначений. Список значений, содержащий аргументы процедуры. Если размер списка меньше, чем количество аргументов процедуры, то в оставшиеся аргументы передаются пустые значения. Лишние значения игнорируются. Значения по умолчанию игнорируются. Необязательный. По умолчанию - пустой список. Возвращает: результат выполнения метода в виде числа: 1 в случае успеха, 0 в противном случае. Описание: Метод предназначен для выполнения процедуры в заданном контексте. Пример:
#10 by Остап Сулейманович
Непонятно чего вы хотите. Поместить код нажатой клавиши в буфер очереди клавиатуры можно при помощи vbscript. Точнее - wshell. Вызвать обработчик без собственно нажатия - просто вызвать соответствующую процедуру из кода.
#11 by Ёпрст
исли включишь turbobl в настройках 1cpp, то просто, через Конт.ИмяПроцы
#12 by Масянька
А как? Включить.
#13 by MadDAD
Для этого все равно нужен контекст. А через Документ.Новый мы просто получим запись в БД. Надо по любому открывать форму. Примерно так:
#14 by MadDAD
УН=СоздатьОбъект("УправлениеНастройками"); УН.Включить("TurboBL");
#15 by MadDAD
Ну и собственно через Контекст открытой формы можно все и заполнить.
#16 by Масянька
Блин... Как же не хотелось... Спасибо.
#17 by MadDAD
Сервис - объект 1С++
#18 by Ёпрст
не хотелось чего ?
#19 by Fragster
#20 by Ёпрст
форму открывать ? Или что ? Для этого процы, которые заполняют документ помещают в глобальник, и пользуют их.
#21 by Масянька
Чтобы форма мелькала. Которая на фиг не нужна.
#22 by Масянька
Ты меня совсем за дуру держишь? Шоу и я могу устроить... А вот без шоу...
#23 by MadDAD
А без шоу сделать класс - наследник от документа. И в нем описать все что должно делаться без открытия формы.
#24 by Масянька
Блондинка не потянет :(
#25 by Масянька
А с минимизацией окна стоит поиграться или нет? Чтобы не мелькало.
#26 by MadDAD
Мне кажется тогда все окна начнут мелькать.
#27 by Масянька
Мне тоже так кажется. Вот и спрашиваю.
#28 by MadDAD
А вот сделать прозрачным можно попробовать.
#29 by Ёпрст
нужно как-то себя заставиь перестать страдать х--ней, и переписать процы заполнения доков к себе в обработку. Или поместить их в глобальник
#30 by MadDAD
Ну это же самый очевидный и простой вариант. Пионеры не ходят по прямой.
#31 by Табуретко
Если все правильно прописать в ПриОткрытии то и мелькать ничего не должно...
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

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