Снегопат

Обсуждение Снегопата
Текущее время: 23 ноя 2024, 10:47

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу 1, 2, 3  След.
Автор Сообщение
СообщениеДобавлено: 09 июл 2012, 11:22 
Не в сети

Зарегистрирован: 24 авг 2011, 15:57
Сообщения: 388
Открыта внешняя обработка (ну или просто форма обработки, отчета, внешнего отчета) как определить основную форму и открыть ее?

_________________
ИТ учет http://tunesoft.ru


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 июл 2012, 11:47 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:04
Сообщения: 2052
Код:
$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)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 июл 2012, 11:53 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:04
Сообщения: 2052
Хотя лучше заменить:
Код:
var mdObj = windows.getActiveView().mdObj


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 июл 2012, 12:30 
Не в сети

Зарегистрирован: 24 авг 2011, 15:57
Сообщения: 388
Код:
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)
Версия снегопата последняя

_________________
ИТ учет http://tunesoft.ru


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 июл 2012, 12:44 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:04
Сообщения: 2052
Интересно. На 8.2.13.205 erf - открывает, а epf - валит.
Разберусь чутка попозжа, из 8.3 вылезу слегка.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 июл 2012, 14:55 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:36
Сообщения: 1085
Народ, а нельзя ли для скрипта "Немедленное выполнение кода" добавить фичу - добавление собственных макросов на лету.
например, хочется потестить вышеприведенный код, для этого сейчас нужно выполнить кучу действий:
- создать новый скрипт
- закинуть в него код
- сохранить скрипт
- загрузить скрипт в Снегопат
- открыть нужное окно (не автоматизируется)
- запустить полученный макрос (его еще нужно найти в списке)
Нельзя ли этот процесс как-то автоматизировать, необязательно в этот скрипте?
есть какие-то подсказки?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 июл 2012, 15:50 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:53
Сообщения: 448
Откуда: Саратов
Артур, это же JavaScript!

Такие макросы ты можешь создавать налету прямо в окне немедленного выполнения кода:

Код:
macrosСозданДинамически = function () {
   Message("Привет, я Дино Макросус!");
}


После выполнения этого участка в макросы скрипта Immediate.js будет добавлен макрос "СозданДинамически".

_________________
С уважением,
Александр Кунташов
Канал про 1С в Телеграме: @kuntashov_devnotes


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 июл 2012, 15:54 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:36
Сообщения: 1085
kuntashov писал(а):
Артур, это же JavaScript!

Такие макросы ты можешь создавать налету прямо в окне немедленного выполнения кода:

Код:
macrosСозданДинамически = function () {
   Message("Привет, я Дино Макросус!");
}


После выполнения этого участка в макросы скрипта Immediate.js будет добавлен макрос "СозданДинамически".

Ага, я вот как раз про это и говорил.
Периодически плаваю я с такими "хитрыми" фичами JS :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 июл 2012, 15:56 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:36
Сообщения: 1085
Сделал, но макрос в окне макросов для этого скрипта все равно не появился :(
что не так?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 июл 2012, 16:04 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:36
Сообщения: 1085
artbear писал(а):
Сделал, но макрос в окне макросов для этого скрипта все равно не появился :(
что не так?

Возможно, что Снегопат просто не умеет перечитывать скрипты для обновления списка макросов.
как бы его программно заставить перечитать список макросов определенного скрипта?

Саши (мн.число), ау :) !


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB