При администрировании информационной базы программисты вынуждены тратить время на создание обработок, которые будут запущены только один раз. А уже через день после использования найти их бывает сложно — часто ли мы задумываемся, прежде чем дать осмысленное название заведомо временному файлу.
Эта обработка хранит дерево текстов модулей, помогает их систематизировать, модифицировать и использовать по мере необходимости.
Для того, чтобы автоматизировать наиболее трудоемкие действия программиста, она включает вспомогательные инструменты:
- Визуальные конструкторы:
- Конструктор запроса (системный)
- Конструктор таблицы значений
- Конструктор объекта ссылочного типа универсальный
- Конструктор документа
- Конструктор справочника
- Конструктор набора записей регистров (любых)
- Дерево метаданных текущей конфигурации, механизм drag’n’drop
- Возможность произвольной обработки данных с использованием встроенных обработок.
Вы все еще создаете разовые обработки (для обычного приложения)? Попробуйте использовать консоль модулей — уверен, Вам понравится.
наверно так встали звезды, что всех на подобные разработки потянуло 🙂
(1) Ага, посмотрел на этоhttp://www.infostart.ru/public/61535/ и подумал, что моя наверное не хуже, полгода уже активно используется, и, возможно многим пригодится. Аналогичных конструкторов, например, ни у кого не видел.
может в скором будущем воще от конфигуратора откажемся 😀
(3) А и правда, зачем для написания какой-нибудь ерундовой обработки лезть в конфигуратор?
(0) Ага, с одноразовыми обработками — беда 🙁
Мне для обучения/экспериментирования — самое то 😎
(5) Буду рад, если пригодится. Файл с примером лежит отдельно (если нужно).
(2) Да 100 лет ужетут лежит 🙂
Ну Ваши наверно подобротей будут сделаны, хотя я к своей привык, юзаю активно уже больше года…
(7) Цели у разработок разные.Тут — универсальный комбайн, здесь — простота использования и помощь в написании за счет применения конструкторов. Ни о каких отчетах в принципе речи не идет, если не формировать их программно из встроенного языка, но это наверное было бы уже извращение.
😉 Нужно переименовать функции и процедуры которые уже есть в типовых, иначе:
ПриОткрытии:
{ВнешняяОбработка.КонсольТекстовМодулей(527,9)}: Процедура или функция с указанным именем уже определена (ПолучитьОписаниеТиповСтроки)
Функция <<?>>ПолучитьОписаниеТиповСтроки(ДлинаСтроки) Экспорт
{ВнешняяОбработка.КонсольТекстовМодулей(545,9)}: Процедура или функция с указанным именем уже определена (ПолучитьОписаниеТиповЧисла)
Функция <<?>>ПолучитьОписаниеТиповЧисла(Разрядность,РазрядностьДробнойЧасти=0) Экспорт
{ВнешняяОбработка.КонсольТекстовМодулей(559,9)}: Процедура или функция с указанным именем уже определена (ПолучитьОписаниеТиповДаты)
Функция <<?>>ПолучитьОписаниеТиповДаты(ЧастиДаты) Экспорт
(9) Странно, нигде в актуальных типовых ЗУП,БП,КА,УПП,РТ не нашел такую функцию глобальных модулей. Что за конфигурация, релиз?
Скачал. «+». Пока не смотрел (не успел), но, имхо, будет удобно для тренировок: сравнивать модули обработок и т.д. Спасибо.
Всем пардон, вкралась досадная ошибка, приводившая к невозможности сформировать новый файл шаблонов. Ошибку исправил, обновил.
После перепроведения документов на закладке «Результат выполнения» она присоединила снизу еще кусок формы с «Доступные обработки» и «Выбранные обработки». Выбираю «Отменить проведение документов» и получаю предупреждение «Данная обработка недоступна для типа <Документы>».
Что бы это значило? 😮
(13) Исправил
Может кто-то выскажется о работе конструкторов?
Просьба всё-таки переформулировать пункты «Конструктор документа» и «Конструктор справочника» ❓ ❓ ❓ Я-то уж разогналась, что кто-то нашёл, как из предприятия конфигурацию на лету менять… 😀
(16) И на что переформулировать? «Конструктор формирования кода создания нового документа / поиска существующего»? Пусть уж лучше так остается.
Поставил плюс, но есть некоторые НО:
1) иногда при составлении кода обработка впихивает в код процедуры и функции, которых нет в конфигурации, такие как ПолучитьОписаниеТиповСтроки и т.п.;
2) вот если бы еще реализовать точки останова — тогда было бы самое оно. Просто написать код и посмотреть, как он выполняется — конечно хорошо, но когда результат не тот, который ожидался — требуется отладка промежуточных итогов. А их нет.
Малаца
(17) Ну хоть вставить слово «экземпляра» 😎
Неплохая разработка. Нашел много хороших идей!
своей . 😉
Надо будет применить их в
Чета я походу не в теме как из режима предприятия выполнять модули! Буду смотреть! +1!
Отличная обработка 🙂
Посмотрел, плюсую
Конфигуратор не заменит — нету отладки, нельзя модифицировать метаданные и пр. Но для мелких вещей пойдет: прототипирование, тестирование…. Кстати, на основе этой идеи можно сделать систему юнит тестов для эски….
Ты там где в коде вызывается «Выполнить» добавь еще набор функций типа assert* (ЭтоИстина, ЭтоРавно, ЭтоНеПусто), если условие не выполняется — выбрасывается исключение.
Пример:
Функция ЭтоИстина(<результат некоего выражения типа boolean>, <название проверки>)
….
КонецФункции
И добавь возможность задавать код, который будет выполняться перед каждым выполнением текста, и после каждого выполнения (только с корректной обработкой исключений и прочее).
И собственно система внешних юнит тестов готова, причем конфигурацию менять не надо — все будет делаться внешними средствами.
Еще можно переработать систему вставки готового кода для типовых случаев в расширяемую макросистему.
(24) Нашел шаблоны, вопрос с макросистемой снят 🙂
(25) Шаблоны пока не работают так как нужно, буду дорабатывать.
(26) Не возражаешь, если я чуть-чуть ее доработаю, в плане использования для тестирования?
(27) Да ради бога, вот если бы еще доработал контекстную подсказку и шаблоны …. А то пока совершенно нет времени ими заниматься.
Прикольно. Практического применения пока не вижу, подумаю.
(29) Пример практического применения:
1. Имелось около сотни различных мелких обработок для различных типовых (и не очень конфигураций). Т.к. конфигурации периодически изменялись, обновлялись обработки также было необходимо держать в актуальном состоянии. Иногда лезь в конфигуратор приходилось из-за изменения вызовов общих модулей или разной прочей ерунды. В результате систематизации имеем несколько файлов модулей для каждой конфигурации для упорядоченного хранения нужных текстов + возможность изменения их на лету.
«Помощник перехода на использование подсистем расчета заработной платы и кадрового учета в прикладных решениях фирмы «1С» на технологической платформе «1С:Предприятие 8» с конфигураций «Камин:Расчет заработной платы (все версии)»» . Весь процесс создания документа (справочника) сводится к созданию структуры полей поиска данного объекта, структуры реквизитов и табличных частей, причем большую часть работы Конструктор документа (Конструктор справочника) сделает за Вас.
2. Составление текстов — просто ли вспомнить имя нужного реквизита при составлении кода? А дерево метаданных тут же. 🙂
3. Просто ли создать документ / справочник? Вспомнить названия реквизитов, табличных частей? Конструктор облегчит Вам жизнь. Функции, вызываемые с помощью конструктора успешно используются более 2-лет в нашей коммерческой разработке
P.S. Достаточно?
(28)http://slil.ru/28260688 чуть-чуть исправленная версия
Добавлены функции-assert’ы (ЭтоИстина, ЭтоРавно). Добавлена возможность задавать код, который будет выполняться перед выполнением основного кода, и после него (может использоваться например, для создания, удаления тестовых записей). Все сохраняется/загружается.
>> Достаточно?
Достаточно.
Тут мне вспоминаются примочки к 7.7. Народ пользовал их и пищал от них. Я как-то обходился штатными средствами. Здесь ситуация похожа.
Конструктор таблицы значений да, полезен. Я всего дважды создавал тз для помещения во временную таблицу, но эти два раза были тоскливыми. Наверное в следующий раз воспользуюсь твоей обработкой.
Обработка прикольная. Но для начала её использования нужно отойти от некоторых привычек. И не факт что скорость сильно увеличится. Для меня, например, заполнение перечня реквизитов документов не самая сложная задача. Труднее понять чем их заполнять. Откуда брать данные. Составить запрос, да так чтобы конструктором запроса не покоцать комментарии.
Буду размышлять о том как в неё перетащить свои одноразовые обработки. И много ли их у меня.
(32) Чегой-то я не подумал, тут же новая система с метриками и бонусами планируется… В общем, кто скачает исправленную версию со slil.ru — скачайте также оригинальную с этой страницы.
(28) на выходных может и поковыряю шаблоны, туда бы еще консоль запросов прикрутить какую-нибудь и с учетом шаблонов будет вообще замечательно.
Писал себе подобную вещь, иногда пользуюсь. А вот твою, на первый взгляд, с более профессиональным подходом написанную сейчас посмотрю. Люблю такие вещи, спасибо!
В «Управление торговлей» падает на имена процедур общего модуля при открытии:
{ВнешняяОбработка.КонсольТекстовМодулей(527,9)}: Процедура или функция с указанным именем уже определена (ПолучитьОписаниеТиповСтроки)
Функция <<?>>ПолучитьОписаниеТиповСтроки(ДлинаСтроки) Экспорт
{ВнешняяОбработка.КонсольТекстовМодулей(527,9)}: Процедура или функция с указанным именем уже определена (ПолучитьОписаниеТиповСтроки)
Функция <<?>>ПолучитьОписаниеТиповСтроки(ДлинаСтроки) Экспорт
{ВнешняяОбработка.КонсольТекстовМодулей(527,9)}: Процедура или функция с указанным именем уже определена (ПолучитьОписаниеТиповСтроки)
Функция <<?>>ПолучитьОписаниеТиповСтроки(ДлинаСтроки) Экспорт
Поправь, пожалуйста!
без телепата скучно 🙁
(38) Так напиши, я разве против. У tormozit’a есть замечательная контекстная подсказка. Остается попросить его разрешения использовать. Прикрутишь, выложишь — тебе столько народа спасибо скажет…
без отладки грустно 🙁
(40) Суровым челябинским одинэсникам отладчик не нужен 🙂
(39) я не хаю, вы молодец! Но вижу смысл применения только один: поднялся в кабинет к глав.буху на пять этажей по лестнице, она мне показывает ошибки в программе, ну а пофигуратор забыл выключить у себя, а проверить надо.. эх, если бы еще он внешние обработки править мог! 🙂
(41) Чуточку флуда: вот ни разу отладчиком не пользовался за 40 лет 😀
(43) Ого! Служебными сообщениями задолбаешься отлаживать.
(44) а что делать, если первые 20 лет их просто не было. 😎
(9) конфа на базе УПП для Украины (старая)
Прошу добавить кнопочку для разбиения запросов по вложенным подзапросам, очень пригодилось бы !!!
Обработка написано добро…
Очень нехватает функции подбора кода при вводе кода по комбинации клавиш «Ctrl+ПРОБЕЛ»
Не все «Классы» метаданных корректно занесены, см.
Мое разрешение на подсказку не нужно. Я ее же и писал для всех. Вот только ее легко подключить можно только в рамках конфигурации, но не внешней обработки.
Ни мог не поставить + 😀
Не работает цикл «Для счетчик = 0 ПО … » — не происходит изменения значения счетчика.
Тот же самый кусок кода в составе конфигурации — работает без проблем.
(52) Юрий, у Вас ошибка в коде. Приведите фрагмент целиком.
(0) А почему шаблоны текста не *.st используются, а вшитые в обработку? или используются???
отличная штука, спасибо!
(0) Опиши последние изменения, плиз.
Вижу, что сейчас версия 2.0.0.18 от 30.12.09, а описана только 2.0.0.15
(35) Что-нибудь получилось с новой версией?
(0) В связи с обращением к запросам и алгоритмам невозможно давать произвольное имя запроса или алгоритма, разрешено только имя в формате идентификатора 1С.
ИМХО либо запрети создавать «плохие» имени, либо в доке/справке/подсказке опиши подобное поведение
(0) Баг — при копировании в дереве текстов модулей не копируются алгоритмы и запросы 🙁
Текст и параметры копируются, а остальное нет.
Совсем не гуд.
версия 2.0.0.18
(0) Еще баг — действия по нажатию кнопки Выполнить сверху рядом с кнопкой Параметры отличаются от действия F7 или контекстное меню на имени текста и выборе Выполнить.
По Выполнить — алгоритмы и запросы работают, а по Ф7 нет 🙁 — выдаются синтаксические ошибки.
(59+) Еще очень серьезный баг: иногда алгоритмы и запросы просто пропадают, в основном это происходит после простых переключений/активаций разных строк в дереве текстов 🙁
(57) Не, я щас кроме основной работы занимаюсь время от времени только этим
(58)(59)(60)(62) Исправил
(56) В релизах старше 2.0.0.15 изменения касаются только исправления выявленных ошибок.
(64) Просьба писать данные по текущему релизу — хотя бы версию и дату.
ИМХО Для этого идеально подходит блог 🙂
(65) По (61) что можешь сказать?
Не хочешь превратить свою консоль в еще и в инструмент юнит-тестирования 🙂 ?
(64) Спасибо.
Но еще ошибки есть:
при переносе элемента в другую группу у этого элемента исчезают и алгоритмы, и запросы 🙁
Поправишь?
(67) Исправил
(68) Нет, пока не хочу, да и времени нет
Если зайти в конструктор запроса, то выдает ошибку. При этом запрос выполняется, с этим проблем нет. В режиме конфигуратора ошибки нет.
В принципе эта ошибка не существенна.
Ещё бы что-нибудь подобное для управляемых форм))
молодец, хорошая обработка
(72) Выполнение кода в тонком клиентеhttp://infostart.ru/public/78340/
Спасибо!
Спасибо! Очень понравилась.
Спасибо. Пользуюсь постоянно.
Статус бар допишите только пожалуйста. Я у себя сделал. Другим тоже может пригодиться.
После перепроведения документов на закладке «Результат выполнения» она присоединила снизу еще кусок формы с «Доступные обработки» и «Выбранные обработки». Выбираю «Отменить проведение документов» и получаю предупреждение «Данная обработка недоступна для типа <Документы>».
Что бы это значило?
при копировании в дереве текстов модулей не копируются алгоритмы и запросы
Текст и параметры копируются, а остальное нет.
Совсем не гуд.
версия 2.0.0.18
(77) AChelentano, сбрось сюда свой вариант. Может, кому пригодится.
судя по скринам — чтото феерическое. Автор берегись, я выхожу на путь тестирования 🙂
Подписался
Попробую в деле этот инструмент. По результатам отпишусь.
(81) +1
Обработка прикольная , только в том плане что конфиг не надо открывать а все остальное можно написать в обычной консоле запросов + куча багов, идея хорошая, когда быстро нужно чего то исправить а в остальном пользы мне кажется мало, это лично мое мнение. Работа проделана колосальная автору респект…
Добрый день! Скачал для 8.1 и 8.2. А есть ли разница в них?!
Пока пробую для 8.2 на толстом клиенте. Запустил конструктор объекта ссылочного типа и на тебе:
1. галочки на всех закладках ставятся, но не снимаются.
2. так и не понял как создается текст модуля заполнения объекта, поиска реквизитов и т.п.
3. не заполняются реквизиты табличных частей.
Это что — бета версия или конструктор доделай сам?! Однаааако….
однозначно плюс, вещь мощная =)
Вот спасибо! Пригодилась для выполнения кода по отключению от интернет-поддержки при запуске Бухгалтерии 2.0
(0) не понял — это для создания кода (таблицы-справочники), или для выполнения кода?
Добавил в консольконтекстную подсказку .
полезная штука! плюсую
хорошая вещь
спасибо tomvlad, alonehobo
странно, куда потерял сие чудо? скачивал же уже! За хорошую вещь не жалко еще один $m отдать.
Подскажите пожалуйста инструмент для решения задач которые легко решала эта обработка только для управляемых форм.
Например стандартная задача.
Есть определенный регистр. Регистраторы сделали по нему движения.
Необходимо получить движения по регистру и что то в них поменять без перепроведения документов.
С помощью этой консоли на обычных формах подобная задача решалась очень легко написанием куска кода и выполнением его через консоль.
А как решить эту задачу на управляемых формах ?
А я всегда думал, что пост фикс «(8.2)» в имени обработки означает, что она под управляемые формы:(