Снегопат

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

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




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 271 ]  На страницу Пред.  1 ... 24, 25, 26, 27, 28  След.
Автор Сообщение
 Заголовок сообщения: Re: Хотелки по скриптам
СообщениеДобавлено: 09 ноя 2012, 20:59 
Не в сети
Аватара пользователя

Зарегистрирован: 17 апр 2012, 20:54
Сообщения: 124
Откуда: Октябрьский
Вот что мне реально надоело - так это каждый, каждый раз, когда нужно вставить в текст модуля ссылку на предопределенный элемент плана счетов, то есть просто на счет по сути, конкретнее - конструкцию вида ПланыСчетов.Хозрасчетный.<ИдентификаторСчета>, лазить в предопределенные элементы плана счетов и смотреть, какой же идентификатор соответствует коду счета. В моем случае (хотя, я думаю, не только в моем), обычно известен только код счета. В итоге каждый раз приходится ctrl+q (навигатор по метаданным), ввод строки "хозр", переход к плану счетов в дереве метаданных, ПКМ, "предопределенные", долгий скролл мышкой вниз в поисках нужного кода счета, ЛКМ на найденном элементе, ctrl+c идентификатора, потом все эти открытые окна нужно позакрывать, (два-три Ecs), и финальный ctrl+v.
Столько утомительных действий, и бывает, по нескольку раз подряд.
Мне хочется скрипт, который бы подбирал за меня идентификатор счета по его коду. Например, вместо "41.01" вставлял бы "ТоварыНаСкладах".
С 41.01 еще простой пример, просто запомнить, а для счета 41.11 придется запоминать побуквенно идентификатор "ТоварыВРозничнойТорговлеВПродажныхЦенахАТТ" и таких примеров полно.
Есть способ достучаться до предопределенных элементов? в порядке изучения яваскрипта с интересом занялся бы сам.

UPD. Вобще красиво было бы следующее поведение: Набираем в коде модуля ПланыСчетов (Или ПланСчетов, если в запросе), ставим точку, а снегопат предлагает сперва выбор плана счетов, а затем список, подобный списку процедур и функций модуля, в котором можно написать идентификатор или код счета, нажать энтер и получить нужный результат. мечты, мечты...

_________________
Нет никакого рая, каждое сердце - темница


Последний раз редактировалось demon_infernal 09 ноя 2012, 21:17, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хотелки по скриптам
СообщениеДобавлено: 09 ноя 2012, 21:07 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:53
Сообщения: 448
Откуда: Саратов
demon_infernal писал(а):
Вот что мне реально надоело - так это каждый, каждый раз, когда нужно вставить в текст модуля ссылку на предопределенный элемент плана счетов, то есть просто на счет по сути, конкретнее - конструкцию вида ПланыСчетов.Хозрасчетный.<ИдентификаторСчета>, лазить в предопределенные элементы плана счетов и смотреть, какой же идентификатор соответствует коду счета. В моем случае (хотя, я думаю, не только в моем), обычно известен только код счета. В итоге каждый раз приходится ctrl+q (навигатор по метаданным), ввод строки "хозр", переход к плану счетов в дереве метаданных, ПКМ, "предопределенные", долгий скролл мышкой вниз в поисках нужного кода счета, ЛКМ на найденном элементе, ctrl+c идентификатора, потом все эти открытые окна нужно позакрывать, (два-три Ecs), и финальный ctrl+v.
Столько утомительных действий, и бывает, по нескольку раз подряд.
Мне хочется скрипт, который бы подбирал за меня идентификатор счета по его коду. Например, вместо "41.01" вставлял бы "ТоварыНаСкладах".
Есть способ достучаться до предопределенных элементов? в порядке изучения яваскрипта с интересом занялся бы сам.


Посмотри примеры работы с метаданными в других скриптах (mdNavigator.js, extSearch.js и т.п.).

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хотелки по скриптам
СообщениеДобавлено: 09 ноя 2012, 21:46 
Не в сети

Зарегистрирован: 20 дек 2011, 10:31
Сообщения: 588
Откуда: Украина, Запорожье
kuntashov писал(а):
demon_infernal писал(а):

Посмотри примеры работы с метаданными в других скриптах (mdNavigator.js, extSearch.js и т.п.).
Не все так просто, предопределенные элементы только во внутреннем формате 1С получаем, даже с помощью снегопата.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хотелки по скриптам
СообщениеДобавлено: 10 ноя 2012, 00:04 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:53
Сообщения: 448
Откуда: Саратов
Да, Жень, я поторопился.

Но demon_infernal'у жизнь заметно облегчит шаблон

Код:
<?"", ПланСчетовПредопределенныеДанные>


который будет работать и без Снегопата.

А кому хочется --поизвращаться-- скриптом сделать, вот держите такой вариант:

http://snegopat.ru/scripts/artifact/26d65c442ab6d2025259d9e73f749d1f3d48a08e

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хотелки по скриптам
СообщениеДобавлено: 10 ноя 2012, 16:18 
Не в сети

Зарегистрирован: 20 дек 2011, 10:31
Сообщения: 588
Откуда: Украина, Запорожье
demon_infernal писал(а):
Набираем в коде модуля ПланыСчетов (Или ПланСчетов, если в запросе), ставим точку, а снегопат предлагает сперва выбор плана счетов, а затем список, подобный списку процедур и функций модуля, в котором можно написать идентификатор или код счета, нажать энтер и получить нужный результат. мечты, мечты...

У меня пока не получилось добавить в массив подсказок свои элементы, ждем развития от Саши, телепата, он обещал, что будет развитая возможность добавить свой список подсказок (думал сделать типа подсказки CamelCase - набираешь СКД, а подсказка предлагает СистемаКомпоновкиДанных и т.д.)
Но как для обучения(извращений) я бы добавил 3 шаблона "Предопределенный элемент спр.", "Предопределенный элемент ПВХ", "Предопределенный элемент ПС", потом на примере автоматом бы не ставил первый попавшийся элемент, а прошелся бы по дереву метаданных(смотри скрипт во вложении, фильтр можно посмотреть в extSearch, я там просто пропускал некоторые объекты, а тебе надо наоборот все пропустить кроме как Справочники или ПС и т.д.), определял бы список справочников, на примере choiceHelpTopic выводил бы только те, где есть предопредленные данные (надо у Орефкова уточнить или поковыряться со внутренним представлением - достаточно только признак, что есть предопределенные), позволял бы выбрать пользователю необходимый справочник(тут красиво работают отборы), генерил бы n нажатий клавиши вниз (все тот же choiceHelpTopic ) и последний штрих, опять таки распарсить диалоговое окошко с предопределенными данными и вывести в быстрый выбор (это уже есть в примере http://snegopat.ru/scripts/artifact/26d65c442ab6d2025259d9e73f749d1f3d48a08e)

Код:
function macrosВыводОбъектаМетаданных(){
text = []
printMdObj(metadata.current.rootObject, "", text)
var d = v8New("ТекстовыйДокумент")
d.УстановитьТекст(text.join('\n'))
d.Показать()

}

function printMdObj(mdObj, indent, text)
{
    // Получим и покажем класс объекта
    var mdc = mdObj.mdclass
    text.push(indent + "mdclass " + mdc.name(1) + " id "+mdc.id)
    text.push(indent+"mdObj "+mdObj.id);
    // Переберем свойства объекта. Количество доступных свойств объекта
    // определяется в его классе. Сами свойства объекта получаются методом
    // property(индекс), где индекс может быть - порядковым номером свойства (с нуля)
    // или названием свойства, или строкой с гуидом свойства
    for(var i = 0, c = mdc.propertiesCount; i < c; i++)
    {
        var mdProp = mdc.propertyAt(i)
        var propVal = toV8Value(mdObj.property(i))
        toV8Value(mdRefValue).toStringInternal()
        pres = propVal.presentation() + " to string "+propVal.toStringInternal();
        if (propVal.presentation()=="НеизвестныйОбъект"){
         
        }
        if (mdProp.name(1)=="Предопределенные"){
          //pres =pres+":"+toV8Value(mdObj).toStringInternal();
        }
        text.push(indent + " prop " + mdProp.name(1) + " " + mdProp.id + " = " + propVal.presentation()+" "+pres);
       
    }
    // Перебираем классы потомков (например у Документа это Реквизиты, ТабличныеЧасти, Формы)
    for(var i = 0; i < mdc.childsClassesCount; i++)
    {
        var childMdClass = mdc.childClassAt(i)
        // Покажем название на русском языке во множественной форме
        text.push(indent + childMdClass.name(1, true) + " id "+childMdClass.id)
        // Теперь переберем потомков этого класса.
        for(var chldidx = 0, c = mdObj.childObjectsCount(i); chldidx < c; chldidx++)
            printMdObj(mdObj.childObject(i, chldidx), indent + "\t", text)
    }
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хотелки по скриптам
СообщениеДобавлено: 10 ноя 2012, 19:59 
Не в сети
Аватара пользователя

Зарегистрирован: 17 апр 2012, 20:54
Сообщения: 124
Откуда: Октябрьский
За наводку на шаблон спасибо, не знал о его существовании.
Есть еще такая безумная идея - для конкретной конфигурации набор счетов редко меняется. Можно было бы набрать этот список в простой текстовый файл с разделением кодов и идентификаторов через запятую, читать этот файл и выводить список для выбора.

_________________
Нет никакого рая, каждое сердце - темница


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хотелки по скриптам
СообщениеДобавлено: 13 ноя 2012, 17:25 
Не в сети

Зарегистрирован: 12 ноя 2012, 17:51
Сообщения: 160
А никто еще не придумал принудительного появления кнопки "Завершить сеансы и обновить"?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хотелки по скриптам
СообщениеДобавлено: 13 ноя 2012, 17:55 
Не в сети

Зарегистрирован: 04 июн 2012, 09:28
Сообщения: 343
Эм... а зачем? Если возможно динамическое обновление - почему им не воспользоваться?
За последний год ни разу не натыкался на проблемы, хотя бывало и по десять раз обновлял динамически в течении дня.

_________________
В реальності все не так, як насправді


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хотелки по скриптам
СообщениеДобавлено: 13 ноя 2012, 18:25 
Не в сети

Зарегистрирован: 12 ноя 2012, 17:51
Сообщения: 160
Ну, во-первых все таки динамическое. Я периодически что-то ловлю. Во-вторых, так конфигуратор переоткрывать не надо. Хотя со скриптом панель окон перезапуск конфигуратор теперь не так страшен)) Спасибо автору.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хотелки по скриптам
СообщениеДобавлено: 19 ноя 2012, 11:43 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 271 ]  На страницу Пред.  1 ... 24, 25, 26, 27, 28  След.

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


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

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


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

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