Снегопат https://snegopat.ru/forum/ |
|
Как определить и открыть основную форму обработки? https://snegopat.ru/forum/viewtopic.php?f=3&t=219 |
Страница 1 из 3 |
Автор: | vladnet [ 09 июл 2012, 11:22 ] |
Заголовок сообщения: | Как определить и открыть основную форму обработки? |
Открыта внешняя обработка (ну или просто форма обработки, отчета, внешнего отчета) как определить основную форму и открыть ее? |
Автор: | orefkov [ 09 июл 2012, 11:47 ] |
Заголовок сообщения: | Re: Как определить и открыть основную форму обработки? |
Код: $addin stdlib ... var mdObj = windows.mdiView.enumChilds().item(0).mdObj var mainForm = mdObj.container.findByUUID(stdlib.getUuidFomMDRef(mdObj.property("ОсновнаяФорма"))) mainForm.editProperty("Форма") Это если открыта сама внешняя обработка. Если же одна из форм, то еще надо у mdObj взять parent. Проверить тип объекта можно по mdObj.mdclass.name(1) |
Автор: | orefkov [ 09 июл 2012, 11:53 ] |
Заголовок сообщения: | Re: Как определить и открыть основную форму обработки? |
Хотя лучше заменить: Код: var mdObj = windows.getActiveView().mdObj
|
Автор: | vladnet [ 09 июл 2012, 12:30 ] |
Заголовок сообщения: | Re: Как определить и открыть основную форму обработки? |
Код: function macrosОткрытьОсновнуюФорму() { try { var mdObj = windows.getActiveView().mdObj var mainForm = mdObj.container.findByUUID(stdlib.getUuidFomMDRef(mdObj.property("ОсновнаяФорма"))) mainForm.editProperty("Форма") return true }catch(e){} return false } Такой код у меня выносит 1с наглушняк. 1С:Предприятие 8.2 (8.2.13.205) Версия снегопата последняя |
Автор: | orefkov [ 09 июл 2012, 12:44 ] |
Заголовок сообщения: | Re: Как определить и открыть основную форму обработки? |
Интересно. На 8.2.13.205 erf - открывает, а epf - валит. Разберусь чутка попозжа, из 8.3 вылезу слегка. |
Автор: | artbear [ 09 июл 2012, 14:55 ] |
Заголовок сообщения: | Re: Как определить и открыть основную форму обработки? |
Народ, а нельзя ли для скрипта "Немедленное выполнение кода" добавить фичу - добавление собственных макросов на лету. например, хочется потестить вышеприведенный код, для этого сейчас нужно выполнить кучу действий: - создать новый скрипт - закинуть в него код - сохранить скрипт - загрузить скрипт в Снегопат - открыть нужное окно (не автоматизируется) - запустить полученный макрос (его еще нужно найти в списке) Нельзя ли этот процесс как-то автоматизировать, необязательно в этот скрипте? есть какие-то подсказки? |
Автор: | kuntashov [ 09 июл 2012, 15:50 ] |
Заголовок сообщения: | Re: Как определить и открыть основную форму обработки? |
Артур, это же JavaScript! Такие макросы ты можешь создавать налету прямо в окне немедленного выполнения кода: Код: macrosСозданДинамически = function () { Message("Привет, я Дино Макросус!"); } После выполнения этого участка в макросы скрипта Immediate.js будет добавлен макрос "СозданДинамически". |
Автор: | artbear [ 09 июл 2012, 15:54 ] |
Заголовок сообщения: | Re: Как определить и открыть основную форму обработки? |
kuntashov писал(а): Артур, это же JavaScript! Такие макросы ты можешь создавать налету прямо в окне немедленного выполнения кода: Код: macrosСозданДинамически = function () { Message("Привет, я Дино Макросус!"); } После выполнения этого участка в макросы скрипта Immediate.js будет добавлен макрос "СозданДинамически". Ага, я вот как раз про это и говорил. Периодически плаваю я с такими "хитрыми" фичами JS ![]() |
Автор: | artbear [ 09 июл 2012, 15:56 ] |
Заголовок сообщения: | Re: Как определить и открыть основную форму обработки? |
Сделал, но макрос в окне макросов для этого скрипта все равно не появился ![]() что не так? |
Автор: | artbear [ 09 июл 2012, 16:04 ] |
Заголовок сообщения: | Re: Как определить и открыть основную форму обработки? |
artbear писал(а): Сделал, но макрос в окне макросов для этого скрипта все равно не появился ![]() что не так? Возможно, что Снегопат просто не умеет перечитывать скрипты для обновления списка макросов. как бы его программно заставить перечитать список макросов определенного скрипта? Саши (мн.число), ау ![]() |
Страница 1 из 3 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |