Снегопат 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/ |