Внешняя обработка-каталог для быстрого создания и организации полезных процедур (8.2)

11.10.13

Разработка - Инструментарий разработчика

Обработка позволяет объединить функционал нескольких обработок в одной, с удобной навигацией и автоматическим сохранением значений параметров.

Скачать исходный код

Наименование Файл Версия Размер
Внешняя обработка-каталог
.epf 8,84Kb
4
.epf 1.0.3 8,84Kb 4 Скачать

Во время поддержки баз часто накапливается множество мелких обработок, иногда даже состоящих из одной процедуры. В итоге в папке с обработками наступает бардак: уже не помнишь какая актуальна, или что делает файл внешняяобработка1.epf. Не говоря уже о том, как "долго" создавать обработку которая получает данные хитро-вывернутым способом и выводит результат в табличную часть.

 
Представленная обработка обладает следующими преимуществами:
  • Все хранится в одном файле
  • Позволяет вывести любую таблицу на форму одной строчкой
  • Легко добавляются описания к процедурам, всегда можно вспомнить, что делает процедура
  • Выводит данные как в виде текстового документа, так и в виде таблицы
  • Можно вывести несколько таблиц рядом во вкладках для сравнения
  • Автоматически сохраняет значения параметров
  • Для каждой хранит процедуры свои параметры
 
Пример использования.

Допустим нам надо создать простенькую обработку, которая выбирает леммы(слова) из документа и выводит их в виде, удобном для загрузки во flashscard программу и одновременно выводит таблицу значений с частотой использования леммы.
 
При создании обычной обработки нам нужно создать обработку, создать реквизиты, придумать и создать таблицу с реквизитами, создать форму, красиво расположить реквизиты и наконец реализовать алгоритм. Причем подготовительная часть занимает даже больше времени на создание, чем кодинг. Работать мышкой удобно, но медленно. 
 
При использовании представленной обработки, единственное подготовительное действие - это создание новой команды, все остальное делается кодом, не отрываясь от клавиатуры. Приступим. 
 
1. Создадим копию обработки, откроем и поменяем ей название, чтобы не перепутать с другими наборами процедур. Я делаю это один раз для каждой базы, в последствии этого шага не будет.
 название
 
2. Открываем форму и добавляем новую команду формы. Название этой команды обязательно должно начинаться с "тмп_". В данном случае "тмп_ВыгрузкаСловДляЗаучивания". В синониме пишем то, что будет отображаться в списке на форме при выполнении обработки.
Создание команды
 
3. Создаем процедуру для команды. Добавляемые реквизиты, так же как и с командами, должны иметь префикс "тмп_"
 
&НаКлиенте
Процедура тмп_ВыгрузкаСловДляЗаучивания(Команда)
 ОчиститьРеквизиты(); // Процедура обязательна для каждой пользовательской команды. Она удаляет реквизиты предыдущей команды, а также сохраняет введенные значения.
 
 ДобавитьРеквизитНаФорму("тмп_Документ",Новый ОписаниеТипов("ДокументСсылка.СписокСлов"),Команда.Имя);
 ДобавитьРеквизитНаФорму("тмп_ЯзыкИсточник",Новый ОписаниеТипов("ПеречислениеСсылка.Языки"),Команда.Имя);
 ДобавитьРеквизитНаФорму("тмп_ЯзыкПеревод",Новый ОписаниеТипов("ПеречислениеСсылка.Языки"),Команда.Имя);
 
 Комментарий="Процедура выводит список слов для загрузки во флешкарт."; // Комментарий чтобы помнить для чего процедура
КонецПроцедуры
 
4. Все реквизиты у нас есть, реализуем алгоритм. Алгоритм реализуется в процедуре, название которой совпадает с названием процедуры команды формы, но с добавлением в конце слова "Сервер":
 
&НаСервере
Процедура тмп_ВыгрузкаСловДляЗаучиванияСервер()     
     Запрос = Новый Запрос;
     // Дальше идет запрос
     РезультатЗапроса = Запрос.Выполнить();
     Выборка = РезультатЗапроса.Выбрать();
     Пока Выборка.Следующий() Цикл
          // Процедура выводит строку в табличный докумет, который называется лог
          // его можно использовать как для отладки, так и для получения результата.
          ЗаписатьВЛог(""+Выборка[Строка(ЭтаФорма["тмп_ЯзыкИсточник"])]+Символы.Таб+Выборка[Строка(ЭтаФорма["тмп_ЯзыкПеревод"])]);
     КонецЦикла;
    // С помощью этой процедуры мы можем вывести любую произвольную таблицу значений на форму
     ЗагрузитьТаблицуНаФорму(РезультатЗапроса.Выгрузить(),"Таблица1","Список слов");
    
КонецПроцедуры
 
Результат работы созданной процедуры:
 
Результат работы
 
 Результат в таблице
 
Описание процедур, используемых в пользовательских разработках

ОчиститьРеквизиты(); 

-Обязательна для использования процедура! Указывается первой строчкой в процедуре вызываемой командой формы. Она сохраняет и убирает реквизиты предыдущей используемой процедуры.

ЗагрузитьТаблицуНаФорму(ТабРез,НаправлениеВывода="Таблица1",ЗаголовокСтраницы=Неопределено);

Загружает прозивольную таблицу на форму.
 
Параметры:
ТабРез - таблица значений, которую надо вывести на форму.
НаправлениеВывода - строка. Может принимать значения "Таблица1","Таблица2","Таблица3". Используется если нужен одновременный вывод таблиц на форму.
ЗаголовокСтраницы - строк. Заголовок, который будет отображаться на форме.

ЗаписатьВЛог(ДобавляемаяСтрока);
 
Выводит текст в текстовый документ на форме.

Дополнительные советы

- Удобно для каждой базы сделать отдельный набор процедур. Например у нас есть база test. Мы для нее создаем копию и называем test.epf и там храним все мелкие процедуры-обработки. 
- Если доработок много - можно разделить по функционалу, каждый файл отвечает за свой функционал.
- Для более быстрого создания реквизитов и обращения к ним можно создать шаблоны. 

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    126096    683    389    

736

Infostart PrintWizard - создание и редактирование печатных форм в 1С 8.3

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

18000 руб.

06.10.2023    8200    24    6    

44

Infostart УДиФ: Управление данными и формами 1С

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 руб.

10.11.2023    4576    12    2    

38

SALE! %

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2280 руб.

14.01.2013    178790    1084    0    

862

Бустер Конвертации данных 3 (Infostart Toolkit)

Инструментарий разработчика 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 руб.

07.10.2021    15051    3    12    

37

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99730    239    97    

298

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28384    4    10    

16

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18468    6    8    

40
Оставьте свое сообщение