Как посмотреть код внешней обработки в 1с
Вам приходилось отправлять внешнюю обработку по почте и в самый последний момент перепроверить - та ли это версия? Вам приходилось задаваться вопросом - какая из этих обработок с именами "Обработка1", "Обработка1 (новая)" и "Обработка1 (новая2)" является актуальной? А чем они отличаются? Если вы уже познакомились с системами контроля версий, то наверняка, сталкиваетесь с вопросом - какие изменения внесены между версиями обработки?
Вы хотите получить возможность быстро посмотреть содержимое внешней обработки и сравнить ее с другой? И все это без запуска 1С:Предприятия, только из оболочки ОС? Тогда мы идем к вам! :)
Задачи на разработку
Итак, я хотел чтобы у меня была возможность:
Поставленные самому себе задачи были достигнуты. Написан инструмент "V8 Viewer".
Ниже располагается инструкция по применению.
Возможности программы
На данный момент, актуальная версия 1.0.2.6 умеет:
- Регистрироваться в системе, как обработчик открытия внешних отчетов и обработок. Это означает, что в любом месте системы, где есть возможность открыть файл на просмотр, можно открыть и посмотреть содержимое внешнего отчета(обработки).
- Просматривать содержимое файла, открывать макеты, модули форм и объектов. Для управляемых форм возможен просмотр элементов формы.
- Выполнять сравнение двух файлов, аналогично тому, как сделано в самой платформе. Имеется возможность сравнения дерева метаданных, содержимого макетов и модулей.
- Предусмотрен "отчет по свойствам" - в дереве сравнения можно отобразить отчет, похожий на стандартный "Отчет о сравнении объектов".
- В редакторе модуля есть возможность навигации по перечню процедур и функций, сворачивание/разворачивание всех блоков кода (по аналогии со стандартным редактором кода)
- Отображать внутреннее содержимое контейнера - низкоуровневый "просмотр" файла. Запускается правым щелчком на файле, пункт "Browse".
- Предусмотрено автоматическое обновление. При запуске проверяется наличие обновлений и выдается предложение об обновлении.
Итак, основная задача - взаимодействие с системой контроля версий SVN, а главное - замечательной оболочки для нее - TortoiseSVN. Если вы еще не знакомы с системами контроля версий, то самое время этим заняться. На мой взгляд - жизненно необходимая вещь, когда вам нужно хранить всю свою работу и время от времени возвращаться к предыдущим версиям.
Поскольку статья все-таки не про SVN, то подробно останавливаться не буду. Тем не менее, кажется, что пару слов сказать стоит.
При работе с SVN вы создаете где-нибудь репозитарий - хранилище, в котором будет лежать вся история версий. Это может быть каталог на компьютере, но лучше - где-то в сети Интернет. Допустим, мы хотим хранить версии просто на машине. Заходим в пустой каталог (пусть будет D:\REPO) и в контекстном меню выбираем пункт TortoiseSVN->Create repository here. Теперь, этот каталог будет нашей базой данных со всей историей версий.
Далее, есть понятие "рабочего каталога". "Рабочий каталог", это то место, в котором вы ведете непосредственно разработку. Этот каталог "подключен" к репозиторию и может обмениваться с ним изменениями (фиксировать новые изменения, откатываться к предыдущим).
Заходим в любой пустой каталог, выбираем в контекстном меню "SVN Checkout" и указываем путь до репозитория. Теперь, каталог подключен к репозиторию.
Мы можем добавлять туда файлики, изменять их и отправлять на хранение в репозиторий. Вся изменения теперь сохраняется и возможен откат до любого предыдущего состояния.
Прелесть в том, что можно сравнивать 2 любые версии файла. Меню "Tortoise SVN->Show log->Compare with..". Кроме того, Tortoise позволяет сравнивать вообще любые 2 файла, не только в рабочем каталоге, а вообще везде.
В качестве объектов сравнения понимает текстовые файлы и картинки, но, разумеется, не понимает устройство внешних обработок 1С. Наша задача - научить его.
Настройка Tortoise SVN
1. Устанавливаем V8 Viewer
2. В любом каталоге щелкаем правой кнопкой и выбираем TortoiseSVN->Settings->Advanced
3. В окне Advanced добавляем расширение .epf и указываем командную строку запуска V8 Viewer C:\Program Files\v8viewer.exe -diff %base %mine
Обратите внимание на параметры командной строки:
- ключ -diff запускает программу в режиме сравнения
- шаблоны %base и %mine - это ключевые слова Tortoise. Вместо них он подставит пути к выбранным Вами файлам.
По умолчанию, при сравнении модулей программа распаковывает их во временный каталог. При сравнении внешним diff-инструментом видны имена временных файлов, которые неинформативны.
В версии 1.0.1 и старше возможно указание дополнительных ключей -name1 и -name2. В этих аргументах можно передать заголовки сравниваемых файлов, которые будут отображены в интерфейсе. Для TortoiseMerge можно воспользоваться макросами %bname и %yname. В них Tortoise передает заголовки сравниваемых файлов, по которым их можно идентифицировать.
В конечном итоге, строка запуска сравнения может иметь следующий вид:
\v8viewer.exe -diff %base %mine -name1%bname -name2%yname
символами процента (%) отмечены ключевые слова Tortoise вместо которых он подставляет конкретные значения имен сравниваемых файлов и заголовков к ним. Рекомендуется настроить ключи -name1 и -name2, чтобы повысить информативность сравнения двух файлов 1С, чтобы видеть - где какой. Примеры настройки командной строки можно прочесть ниже.
4. Сохраняем изменения.
Теперь, если мы войдем в каталог с внешними обработками и выделим две из них, то в контекстном меню "Tortoise SVN ->" появится пункт "Diff", который запустит сравнение файлов.
Особенности программы
Системные требования
Вся работа со внутренними файлами 1С, такими как табличные документы и графические схемы, выполняется программой " Настройка V8 Viewer
Какой-то специфической настройки не требуется, тем не менее, пару слов сказать хочется. Все настройки выполняются в соответствующем окне, назначение настроек описано там же:
Для работы с файлами 1С, такими, как табличные документы и графические схемы требуется наличие программы "1С:Работа с файлами". Программа бесплатная, скачать можно с сайта 1С, перейдя по ссылке прямо из окна настроек. Сравнение табличных документов также выполняется этой утилитой. Без нее, нельзя будет просмотреть табличный макет, но при сравнении двух обработок все равно будет видно, что макеты различаются.
Для сравнения текстов используется любой сторонний diff-viewer. В настройках необходимо указать командную строку для запуска. Метки "%1" и "%2" замещают имена файлов, передаваемые для сравнения. Необязательные метки %name1 и %name2 используются в качестве заголовков файлов.
Ну и рекомендуется настроить соответствие типу файла - с помощью флажка "файловые ассоциации".
Примеры настройки командной строки для diff-просмотрщика
1. Путь к файлу *.exe должен быть заключен в кавычки. Это стандартное условие для запуска программ, если путь к ним содержит пробелы.
2. Подавляющее большинство инструментов для сравнения файлов понимают синтаксис:
[путь к exe] [первый файл] [второй файл]
Строка запуска для такого случая должна иметь вид: "C:\[путь к exe]" %1 %2
Многие современные программы для сравнения позволяют также указывать дополнительные опции, например - читабельный текст в заголовке сравниваемых файлов. Такие заголовки упрощают жизнь, т.к. видно - где какой файл в окне сравнения. Для TortoiseMerge строка запуска будет иметь следующий вид:
"C:\[путь к exe]" /base:%1 /mine:%2 /bname:%name1 /yname:%name2
Заключение
Мне хочется получить отзыв сообщества на тему полезности данного инструмента. Писался он, в основном, ночами, под косыми взглядами супруги. Осталось довольно много задач на реализацию, в частности, поддержка редактирования модулей и макетов, а также открытие файлов *.cf. Приглашаются желающие помочь в разработке.
Мне хотелось бы, чтобы V8 Viewer стал полезным инструментом, который помогает многим людям в ежедневной работе.
От себя добавлю, что испытываю неподдельный восторг, когда, прикрепляя файл к письму в Outlook, я щелкаю по иконке вложения *.epf и получаю возможность перед отправкой посмотреть содержимое модулей, макетов и т.п.
P.S. Если понравится, не забывайте вернуться на эту страницу и поставить "плюсик" :)
Спасибо за внимание!
UPD 30.04.2020
Исправлена ошибка открытия обработок, созданных современными версиями платформы
Специальные предложения
Теперь в моем наборе "must have".
Почему сразу не подвязаны файлы отчетов *.erf ?
Не хватает просмотра макетов СКД)
*.cf даже открывает, можно узнать название конфигурации и почитать глобальный модуль) (1) Serj1C, читаем статью: это предварительная версия. Отчеты намеренно не подвязаны, ради экономии времени. Обязательно будут. Макеты СКД должны открываться. Разве нет? Внушает!
Эх, когда ж ктонить уже на JavaScript сравнение форм портирует :(
замысел хорош, хотя, как справедливо замечено, идея не новая и уже есть несколько реализаций. (хотя в данной разработке конечные цели поставлены, конечно, более глобальные, чем в уже имеющихся)
4-го фрэймворка по умолчанию нет в WinXP SP3, по крайней мере, на оф.диске с СП3 у меня вшит только 2.0 (5) andrewks, странно, у меня есть. Но у меня тестовый образ диска кхм. не совсем официальный.
Вернее, у меня есть образ диска, на котором я тестировал "чистый запуск". Диск вроде родной, не "ремикс". Все запускается, работает.
Вот ошибка выпала.
При открытии формы в обработке под 8.2. Система win 7.
Вот. Но это честно был первый файл в который я ткнул.
Редактор AvalonEdit. Но Вам им пользоваться нельзя, у вас аллергия :):):)
(12) под линуксом не работает . Я надеюсь, что все-таки у Magister получиться доработать редактор и запустить его в linux версии конфигуратора. (13) pumbaE, под Линуксом, ага, не работает. и на Макоси тоже. Хотя есть Mono, можно вспомнить и пресловутый 1% компьютеров :)P.S. у самого дома - линукс, не стоит разводить старый, как мир холивар.
(14) я не развожу, я просто уточняю.
p.s.: вам скоро захочется делать merge для обработок ибо бранчи это удобно, еще захочется посмотреть историю изменения определенного куска модуля.
(16) andrewks, на базе SynEdit, альтернатива SciColorer - это в снегопате. Если партнеры продавят api в конфигураторе, то когда-нибудь думаю можно будет и без снегопата.(17) pumbaE, а можно подробнее ? Есть определённые пожелания к api в конфигуратор? Давай составим петицию, главное чтобы она разумной была.
(0) Evil Beaver , круто! Спасибо! Пожелания:
1. Сравнение начинать не только правой кнопкой мыши - Показать различия в диалогах, а просто двойным щелчком. Ну или в настройках указать метод (возможно, при двойном ЛКМ открывать сам модуль).
2. В сравнении SVN передавать не темповые файлы вида tmpCEE5.tmp, а нормальные названия. Я долго вкуривал, что файл слева - более поздняя версия ((. Или это зависит от настроек tortoise?
3. В описании привели только англоязычный интерфейс SVN. 1С-ники к сожалению не все владеют английским, уточните что есть русификация
(95) Cratos2, поподробней можете посмотреть в снегопате, я как скриптописатель могу показать мощь api снегопата и скриптов. 1. Сравнение начинать не только правой кнопкой мыши - Показать различия в диалогах, а просто двойным щелчком. Ну или в настройках указать метод (возможно, при двойном ЛКМ открывать сам модуль)Поведение содрал с родного "одинэсовского". Ваше предложение интересно, подумаю.
2. В сравнении SVN передавать не темповые файлы вида tmpCEE5.tmp, а нормальные названия. Я долго вкуривал, что файл слева - более поздняя версия ((. Или это зависит от настроек tortoise?
Да, это самого напрягало. В новой версии сделано более умное именование. Новая версия готовится, но пока на работе завал, руки не доходят.
3. В описании привели только англоязычный интерфейс SVN. 1С-ники к сожалению не все владеют английским, уточните что есть русификация
У меня английский интерфейс, скриншоты с него и снимал. Руссификация есть, но когда я ее вижу, то как слепой котенок пытаюсь переводить с русского обратно на английский. Дело привычки. Хотя айтишник, имхо, должен владеть английским, даже если он пишет "Если Тогда" :)
4. За ошибку спасибо. Посмотрю.
(13) Пока что мешает доработать нехватка времени и отсутствие всего требуемого функционала в Снегопате. С Сашей по этому поводу общались, но у него времени мало сейчас - так что быстро не получится.
(29) Magister, не только из-за скорости, думаю. Кажется, что независимость от MS не последнюю роль играет. Ну и конечно, более полный контроль над кодом.(33) Потому что цель 1С - зарабатывать деньги. И пока что эта цель вполне достигается.
Не поставили задачу программистам пофиксить что-то - вот и не пофиксили. Всё просто :)
А вот [quote]Используют бесплатные компоненты, вместо написания своих.[/quote]это наоборот хорошо. Зачем изобретать велосипеды?
(31) sanches; kuntashov; srv7; Evil Beaver;Судя по массовым минусам - вы все согласны, т.е. вам тоже всем хватает только школьных знаний? :) (31) а меня в институте учили что Си и С++ это как бы не одно и тоже.
И еще - а в какой это школе С++ дают или С ? Вы скажите - я постараюсь туда сына перевести, а то мы все по книжкам, да по книжкам и дома. (0) Маленькое уточнение: не только SVN но и для всей линейки Tortoise применима данная настройка (git, mercurial, bzr).
(3) orefkov, сравнение ведь это пол дела, захотите сразу же и merge форм :) А зачем все это нужно?
Текстовый файл с историей версий, описание, версии обработок в архиве.
SVN - нужны только при групповой работе (и тогда да, ставить SVN какой-нить, просмоторщик вроде этого и т.д.), но никак не одному программисту.
Все :)
А сравнивать обработки можно вполне и типовыми средствами. отбило охоту кормить троля.
Отвечу кратко - удобство.
удобство пользоваться громоздким VSN в одиночку?!
Да уж :)
Это еще не известно, кто тролль :)
(20) AlexO, кхм. история версий в архиве, а описание - в txt.
Вопрос: Сколько кликов мышкой у вас получается от момента сохранения файла до момента регистрации новой версии?
Ну или не кликов, а элементарных действий?
А при откате к предыдущей версии? Короче, Вы либо тролль, либо системой контроля версий не пользовались ни разу. При всем уважении.
Сколько кликов мышкой у вас получается от момента сохранения файлавсе столько же, как и создавать-нажимать кнопки и писать описание в SVN.
кто вам делает откат? SVN? точно такой же "откат" - берете старую версию из архива и делаете с ней, что хотели.
НО: зато все просто, всегда знаешь - как все устроено и где лежит, простейшая структура, возможность создания перекрестных "ссылок", виден размер всего и в частности, можно "подключать" любые файлы, компоновать все в какой душе угодно последовательности и структуре, могу поменять структуру как требуется, а не как заложили разработчики, если нужно по другому скопоновать файлы или время требует перемен, быстрое создание архива всей библиотеки и перенос и развертывание - в общем, полная свобода.
И никаких ограничений :) (20) AlexO, прочтите (11) , автор предпочитает "громоздкий" svn (но svn развивается, посмотрите на версию 1.7 уже даже .svn в корне лежит, а не в каждой папке) , я использую bzr и git. Недосыпание очень вредит здоровью, а работа по вечерам вредит семейным отношениям. Поэтому хочу попросить автора все же поберечь себя и семью и работать в рабочее время :-) Я серьезно. (27)
так вот, никакой SVN вам не позволит:
- при смене ссылок - найти их ВСЕ и обновить (только Линукс так умеет, да и то - потому что у него используются непосредственно ССЫЛКИ-метки)
- пометить, что каталог - пустой, и требует инфо
. и многое, многое другое, что недоступно вашим SVN-ам..
А я делаю все это - влегкую. Так что минусы - всем "защитникам" SVN. (48) AlexO, расшифруйте плиз
- пометить, что каталог - пустой, и требует инфо -- для какой структуры каталогов это необходимо, пометить, что каталог должен быть пустым и т.д.
- при смене ссылок - найти их ВСЕ и обновить -- какие ссылки, что менять и на что, что обновлять. (49) pumbaE,
"- пометить, что каталог"
если заранее сделана структура, но там нет инфо. Делаешь пометку на каталоге, потом можно его по пометке найти - где пустые.
"- - какие ссылки, что менять и на что, что обновлять."
а потому что не просто набор обработок и прочего, а с пояснениями и ссылками по пересекающимся работам.
(50) AlexO, дружище, может хватит троллить? Был задан довольно конкретный вопрос - расскажи что ты имеешь в виду, как организован твой супер-пупер рабочий процесс?
А ты отвечаешь малопонятными и неубедительными фразами ни о чем. Или объясни толком, с самого начала или не парь мозги, ок?
(51)в (18 ) описана база.
В (26 ), (48 ), (50 ) - использование.
Что непонятно? Что структурированность, прежде всего - должна быть в голове? :)
(52) AlexO, может сподобитесь на публикацию "Как я у меня структурировано располагаются обработки".
Потому как из (18) непонятно где вы храните ссылки на пустые каталог в текстовом файлике или же архиве.
Как архиве лежат версии обработок и по описанию можно быстрой найти необходимую версию, как с помощью перекресных ссылок вы знаете, что для этого клиента в этой обработке сделано то, для другого другое, при этом базой является вот та версия обработки и дополнительно у третьего клиента стоит еще старая версия.
В этой статье мы узнаем, что такое обработки в платформе 1С 8.3 и для каких целей они нужны. Научимся создавать обработки в качестве объектов метаданных конфигурации 1С, научимся создавать внешние обработки, создавать формы обработок, добавлять обработки в подсистемы и давать права на обработки пользователям, а также узнаем, как открыть внешнюю обработку в 1С.
В платформе 1С, помимо объектов конфигурации, которые так или иначе связаны ведением учета (например, Справочники – для хранения однотипной информации, Документы – для отображения событий), существует объект, который напрямую не связан с ведением учета, и с помощью которого можно осуществлять различные вспомогательные действия (групповая обработка справочников и документов, загрузка – выгрузка информации и т.д.). Этот объект – Обработка. Обработки могут быть как объекты какой-то конфигурации, а также внешние – в этом случае сама обработка будет храниться где-то на жестком диске, её можно будет открыть в пользовательском клиенте 1С предприятия, и выполнить нужные действия.
Создать обработку 1С
После выполнения этой команды, будет создана пустая обработка, которая появится в дереве метаданных в соответствующей ветке, а также откроется окно менеджера обработки.
Обработка создана, и вы можете с ней работать: задать имя обработки, синоним и т.д.
Создать внешнюю обработку 1С
Или нажать на кнопку «Новый» в меню «Стандартная».
После откроется окно «Выбор вида документа», в котором необходимо выбрать «Внешняя обработка».
Откроется окно менеджера внешней обработки, и вы можете проделать с ней все нужные операции.
После того, как внешняя обработка создана, её желательно сохранить на жестком диске (и делать это периодически во время работы с ней в конфигураторе). Для того, чтобы сохранить внешнюю обработку необходимо или нажать на кнопку «Сохранить» меню «Стандартная».
Или просто нажать сочетание клавиш Ctrl + S.
После этих действий откроется окно, в котором можно выбрать каталог, где будет храниться эта внешняя обработка, а также ввести название файла.
После сохранения, у внешней обработки сверху будет прописан путь к ней.
Замечу, что файлы всех внешних обработок имеют расширение epf.
Добавить внешнюю обработку 1С
Иногда возникают задачи добавить внешнюю обработку в конфигурацию 1С. Чтобы это сделать, необходимо выделить ветку «Обработки» дерева метаданных конфигурации, вызвать контекстное меню и выполнить в нем команду «Вставить внешнюю обработку, отчет…».
В открывшемся окне необходимо выбрать нужную обработку.
После, обработка появится в дереве.
Сохранить обработку 1С в файл
Может возникнуть обратная задача: сохранить обработку из какой-то конфигурации в файл, т.е. сделать внешнюю обработку из простой обработки.
Делается это достаточно просто: нужно выделить обработку в дереве конфигурации, вызвать контекстное меню и выполнить команду «Сохранить как внешнюю обработку, отчет…»
Откроется окно «Сохранить как», в котором нужно выбрать месторасположение обработки, а также, если это необходимо, изменить название.
Подсистема обработки 1С
Обработку, которую мы создали в дереве метаданных можно включить в любую подсистему, тогда у нас появится возможность отобразить её в пользовательском интерфейсе. Для того, чтобы включить обработку в подсистему, необходимо зайти на закладку «Подсистемы» менеджера обработки и поставить флаг напротив нужной подсистемы.
Можно включить в подсистему другим способом. Необходимо выделить нужную обработку, вызвать контекстное меню и выполнить в этом меню команду «Дополнительно».
В правой части рабочего стола откроется окно «Дополнительно», в котором на закладке «Подсистемы» можно привязать эту обработку к нужной подсистеме, установив флаг рядом с подсистемой.
После того, как мы поставим флажки, то обработка включится в состав подсистемы.
Но, если мы попробуем её найти в пользовательском клиенте, то ни чего не найдем. Также, её не будет в командном интерфейсе подсистемы.
Причина этому – отсутствие основной формы обработки.
Основная форма обработки 1С
Для того, чтобы обработка появилась в командном интерфейсе, необходимо создать основную форму обработки.
Для этого, нужно в менеджере обработки перейти на вкладку «Формы», в которой нажать на кнопку «Добавить». После, откроется конструктор формы обработки, в котором можно ввести название новой обработки, её синоним, и самое главное установить флаг «Назначить форму основной».
Если вы нажмете на кнопку «Далее», то можете выбрать какие реквизиты обработки будут включены на форму, а если нажать на кнопку «Готово», то форма будет создана без реквизитов.
После этого, обработка появится в командном интерфейсе подсистемы.
Замечу, что основная форма обработки указана в свойстве обработки «Основная форма», если мы это свойство очистим.
То даже при наличии формы, обработка не будет отображаться в командном интерфейсе подсистемы.
Права на обработку 1С
Чтобы пользователь мог работать с обработкой, ему нужно дать права на неё. Для этого, необходимо у соответствующей роли для обработки установить права Использовать и Просмотр.
Если вы установите только право Использовать, то пользователь не сможет видеть обработку в интерфейсе. Он сможет только обращаться в ней посредством программного кода.
Если Вы внедряете обработку в какую-то типовую конфигурацию, то лучше для этого создать отдельную роль, а не изменять текущую. Тогда у вас будет меньше проблем с обновлением в будущем.
Открыть обработку 1с
И при выполнении команды с именем обработки будет открыта форма обработки.
Я немного изменил управляемую форму обработки, добавив надпись.
Управляемая форма открылась в независимом окне, если мы хотим, чтобы она открылась поверх окон, то нужно у основной формы обработки установить в свойство «Режим открытия окна» или значение «Блокировать весь интерфейс», или значение «Блокировать окно владельца».
После таких настроек, обработка будет открываться по верх окон.
Открыть внешнюю обработку 1С
В окне «Открыть» необходимо найти и выбрать нужную вам обработку.
После выйдет предупреждение безопасности, если вы знаете, что это за обработка, то нажимаете кнопку «Да».
Форма внешней обработки открылась.
Замечу, что в моем случае открылась форма обработки в отдельном окне, потому что, во-первых, я создал основную форму внешней обработки, а во-вторых, установил у основной формы в свойство «Режим открытия окна» значение блокировать окно владельца.
Чтобы пользователь мог открывать внешние обработки, ему необходимо установить право «Интерактивное открытие внешних обработок».
Другие статьи по конфигурированию в 1С:
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
можно оплатить вручную:
На уровне различия в структуре метаданных в отчётах дополнительно можно указать основную Схему Компоновки Данных (СКД) и настройки для сохранения параметров. Также здесь есть используемый в текущий момент компоновщик настроек. В обработках данные структуры не используются.
Указание в отчётах основной СКД является полезной функцией, т.к. при этом можно создать требуемый отчёт, не написав ни единой строчки кода в самом модуле отчёта, что ускоряет разработку и понимание принципов функционирования СКД для новичков.
Внешние отчёты и обработки 1C
В режиме конфигуратора 1С есть возможность создавать не только объекты внутри конфигурации (в дереве метаданных), но и создавать внешние объекты в виде отдельных файлов. Это касается, в том числе, отчётов и обработок. Преимуществом внешних объектов в том, что новые объекты не требуется каждый раз включать в состав конфигурации и, соответственно, обновлять при этом всю информационную базу 1С. Вместо этого можно использовать любые необходимые отчёты и обработки и изменять их без внесения изменений в метаданные базы 1С.
Внешние отчёты/обработки сохраняются в отдельные файлы и имеют следующие расширения:
Пример создания внешней обработки 1С
Создавать внешние объекты довольно просто. Функционал, закладываемый разработчиком в конкретную реализацию отчёта или обработки в 1С 8.3 или 8.2, индивидуален и зависит от решаемой задачи.
1. Выбираем информационную базу из списка, заходим в режим конфигуратора 1С.
2. В конфигураторе выбираем пункт меню Файл – Новый…
3. Выбираем из списка вид объекта – Внешняя обработка.
4. Задаём имя обработки. В данном случае имя нашей обработки будет «ПримерВнешнейОбработки».
5. Определяем структуру данных обработки. По условию нашей задачи в структуру реквизитов нужно добавить строковое поле «Вывести».
6. Создаём пользовательскую форму. Тип формы: Обычная.
7. Правой клавишей мыши вызываем контекстное меню. Определяем обработчик нажатия на кнопку «Выполнить».
8. Прописываем код обработки.
9. Сохраняем нашу обработку на диск. Заходим в режим предприятия 1С.
10. Выбираем пункт меню Файл – Открыть…
11. Выбираем созданную нами обработку и нажимаем «Открыть».
Созданную обработку можно скачать по ссылке ниже.
Дополнительные отчёты и обработки
В конфигурациях 1С существуют также подключаемые внешние отчёты и обработки. Чтобы включить в информационную базу 1С соответствующую обработку/отчёт нужно выполнить ряд действий:
1. Зайти в конфигурацию в режиме предприятия 1С
2. В главном меню выбрать Сервис – Дополнительные отчеты и обработки – Дополнительные внешние обработки
3. Открылся список внешних обработок, загруженных в информационную базу 1С. Нажимаем кнопку «Добавить».
4. Загружаем файл обработки.
5. Запускаем обработку двойным кликом мышки, чтобы проверить её работоспособность.
С помощью данного механизма дополнительных обработок можно также изменять стандартные печатные формы на собственные и добавлять новые. Любой пользователь, таким образом, может расширить функционал типовой конфигурации 1С.
В этой статье мы рассмотрели создание и использование внешних отчётов и обработок. Создание внешних обработок в режиме управляемого приложения более подробно будет рассмотрено в следующей статье.
Материал поможет вам разобраться, как запустить любую внешнюю обработку или отчет в информационной базе «1С:Предприятие» 8.2 и 8.3.
Внешняя обработка — это инструмент для создания модификаций прикладных решений 1С без изменения типовой структуры конфигурации. Весь код внешней обработки хранится в отдельных файлах с расширением *.epf.
Рассмотрим последовательность шагов для работы с готовым файлом обработки или отчета.
1. В режиме «1С:Предприятие» через меню «Все функции» открываем Справочник «Дополнительные отчеты и обработки».
2. В открывшемся окне Справочника, нажимаем кнопку «Создать».
В результате открывается окно с предложением выбрать файл внешнего отчета или обработки. Указываем требуемую внешнюю обработку и нажимаем кнопку «Открыть».
3. Далее, форма автоматически заполняется данными из внешней обработки. Необходимо обратить особое внимание на поле «Назначение» — в нем указывается имя Объекта из которого вызывается данная внешняя обработка.
Если это поле не заполнено, то обработку просто не откуда будет вызывать.
И последнее, нажимаем кнопку «Записать и закрыть» и только после этого нужно открыть Объект и пользоваться внешней обработкой.
Что нового для вашей 1С?
Оперативная информация о выходе и содержании свежих для 24 типов конфигураций.Рассылка осуществляется в день выхода обновления. Никакой рекламы, только полезная информация. Посмотрите пример →
Читайте также: