Отладка внешней обработки
или которая лежит в разделе "Дополнительные отчёты и обработки" ?
(12) (14) (13) Я с 1с знаком плохо. Я работаю в 1с упп, а учебные материалы мне давали книгу Радченко, я ахудел, когда увидел как там сильно различается работа с формами. По сему для меня вся система 1с с ветвлениями в духе ЗУП, ERP и прочих складывается в голве как мимик. Ты знаешь что это мимик, но всякий раз он выглядит по-разному.
Если подробнее дела с клиент сервером обстоят так. Есть основная база УПП, есть моя тестовая. Я свою отключаю от хранилища и там балуюсь, тестирую, работаю. С внешними обработками раньше работал, но необходимости в их отладке не было. Сейчас появилась. В самом коде формулировк &НаКлиенте &НаСервере нет. Отлаживаю я обычно запуская прогу из конфигуратора, в следствии чего она автоматически заходит в УПП под моей учеткой. Так вот, как отладить внешнюю обработку в этом случае, что тыкать, что писать, как запускать?
(30) Да, у меня .epf открываю там реквизит СсылкаНаОбъект и Макет . Ну и процедура печати макета. У меня задача найти откуда в доке Авансовых отчетов у одного товарища взялось 117 рублей грубо говоря понять чей косяк: проги или человека.
Изначально печать реализована в конфигурации я ее прочесал от и до и там нет ошибок. Потом запустил печать черзе "Печать" внизу формы, вылезло окошко с выбором макета и надписью "печатная форма замещена". Ругнулся, что два часа не то делал и стал рыскать че там в замещении (собствено там .epf описанный выше). А оно как две капли воды похоже на то что в доке, просто добавлено СсылкаНаОбъект где надо. Запросы тоже одинаковые (единственное что некоторые пустые и там, и там). Понял я одно, своими не шибко сведущими в 1с мозгами, — нужна отладка, чтоб посмотреть че оно там в запрос пишет и какие цифры куда сует.
Если знаете чем лучше решить эту проблему (вдруг отладка тут и нафиг не нужна) подскажите пожалуйста, молодой боец жаждит знаний.
(33) Сейчас наверное я унижу себя сам. А можно подробнее. Типа, я видел это решение в коде. Но у меня УПП, у меня не такой интерфес как тут https://wiseadvice-it.ru/o-kompanii/blog/articles/otladka-vneshnei-pechatnoi-formy-1s-8-3/ Как мне туда ссылку на объект пихать? Типа в данные забивать или в ТипЗначения? Дайте инструкцию для чайников, пожалуйста. И ещ у меня ошибка вылазит "недостаточно фактических параметров.
Хотя вот вызов:
Процедура ТестНажатие(Элемент)
Печать();
КонецПроцедуры
И вот куда обращаюсь:
Функция Печать() Экспорт
1) Пастим код модуля обработи
2) Пастим код твоей формы (то что ты написал)
Name already in use
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
readme.md
Отладка внешних обработок
Расширение позволяет отлаживать внешние отчеты и обработки в 1С.
Сохраняем файл отчета или обработки на диск в конфигураторе. Запускаем режим предприятия. Добавляем обработку в конфигурацию как внешнюю (добавляем в справочник ДополнительныеОтчетыИОбработки).
В форме элемента дополнительной обработки появится ссылка «Информация об отладке». Добавляем запись текущей обработки, указываем имя файла на диске (который открыт в конфигураторе) и при желании пользователя, под которым нужна отладка.
Если файла обработки нет в указанном месте, он выгрузится из конфигурации. Если есть, он не замещается. Не забываем по окончании отладки обновить его в базе данных.
Если пользователь указан, то отладка только под этим пользователем. Если не указан, то под любым.
В конфигураторе открываем указанный файл и ставим точки останова. Обновлять можно на лету, просто пересохраняя файл. «Обновить из файла» делать не нужно.
В случае серверной базы расположение файла нужно указывать относительно сервера.
Описание принципа работы
Принцип действия простой. Заменяется функция БСП ДополнительныеОтчетыИОбработки.ПодключитьВнешнююОбработку, в которой нужная обработка создается не в памяти, а подключается как файл с диска.
Информация для отлаживаемой обработки хранится в созданном регистре сведений ОтладкаВнешних_ВнешниеОбработкиОтладка. Там указывается ссылка на обработку из справочника ДополнительныеОтчетыИОбработки, признак отладки, имя файла и пользователь. Пользователя можно не указывать. Если указан, отладка идет только под данным пользователем
Вариантов хранения информации много, выбрал этот. Можно просто сохранять файл в каталог базы, если она файловая (неудобно, если каталог разработки отличается). Можно писать имя файла в комментарии к обработке (затирается возможная информация). Можно дополнить справочник ДополнительныеОтчетыИОбработки нужными полями (нужно менять форму, что громоздко).
1C БСП. ВНЕШНИЕ ОТЧЕТЫ И ОБРАБОТКИ
Дополнительные отчеты и обработки — подсистема 1С БСП, предназначена для расширения функционала без изменения конфигурации.
Для более полного ознакомления можно развернуть демонстрационную конфигурацию по БСП. В ней есть необходимые примеры.
Что можно подключить
- внешние обработки (файлы с расширением “epf”) ;
- внешние отчеты (файлы с расширением «erf»).
Виды разработок
- Дополнительная обработка.
- Дополнительный отчет.
- Заполнение объекта. Возможность установить свои кнопки по заполнению документа (ранее были только кнопки по заполнению табличной части).
- Печатная форма. Дополнительная печатная форма. Добавляется кнопка «Дополнительные печатные формы».
- Отчет. Прикрепляемый к справочникам и документам.
- Создание связанных объектов. Свой ввод на основании. В пункт меню «Ввод на основании» добавляется кнопка «Создание связанных объектов…».
Возможности БСП:
- В документах можно добавлять кнопки по заполнению всего документа, кнопки по вводу на основании.
- Обработка может содержать несколько команд меню.
- Вводить на основании и заполнять объекты сразу на основании нескольких объектов.
- Задавать расписание выполнение серверных команд (на сервере).
- Задавать режим «Безопасный» или «Небезопасный», т.е. запускать обработку с учетом ограничением прав или полные права
- Задать режим использования: «Не использовать», «Отладка», «Использовать».
- Включить использование в формах объекта и в форма списков
- Привязать ко всем указанным объектам обработку или отчет.
- Настроить быстрый доступ к определенным командам внешних обработок.
- Возможность указать в каких разделах интерфейса должны появляться дополнительные обработки и отчеты.
Сведения о внешней обработке
Минимальным условием для регистрации разработки является заполнение поля «Вид».
Значение поле может принимать одно из значений, возвращаемых функциями: ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработки<Вид>().
Таблица. Поле «ВИД».
«Назначение»
Содержит массив объектов конфигурации в формате «<Тип>.<Вид>», для которых будет назначен внешний отчет/обработка.
«Наименование»
Строка. Подставляется в наименование при создании элемента справочника «Дополнительные отчеты и обработки». Если не заполнено, то используется синоним внешней обработки/отчета.
Таблица значений. Загружается в одноименную табличную часть элемента справочника «Дополнительные отчеты и обработки» при регистрации внешней обработки.
Эту табличную часть можно заполнить и вручную.
Колонки таблицы:
Идентификатор – строка (идентификатор команды).
Представление – описание команды.
Модификатор — строка (используется для дополнительных печатных форм).
ПоказыватьОповещение – окно оповещение будет появляться перед началом и после окончания выполнения (для команд клиентских и серверных без формы).
Использование – режим запуска обработки.
В колонке «Использование» указывается тип вызываемой команды. По сочетанию Вид-Тип команды система определяет какая предопределенная процедура будет вызвана из внешней обработки/отчета, и где она будет объявлена — на клиенте или на сервере.
Наиболее часто используются процедуры Печать() и ВыполнитьКоманду(), а также открытие формы без обращения к методу.
Это поле может принимать одно из значений, возвращаемых функциями ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКоманды<Тип>(), например, ТипКомандыВызовСерверногоМетода().
Таблица. Возможные варианты использования в таблице.
| Тип команды | Значение поля «Вид» | Вызываемая экспортная процедура |
| ВызовСерверногоМетода | ПечатнаяФорма | Печать( МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) |
| ДополнительнаяОбработка ДополнительныйОтчет Отчет | ВыполнитьКоманду( ИдентификаторКоманды, ПараметрыВыполнения) | |
| СозданиеСвязанныхОбъектов | ВыполнитьКоманду( ИдентификаторКоманды, ОбъектыНазначения, СозданныеОбъекты, ПараметрыВыполнения) | |
| ЗаполнениеОбъекта | ВыполнитьКоманду( ИдентификаторКоманды, ОбъектыНазначения, ПараметрыВыполнения) | |
| ВызовКлиентскогоМетода | ПечатнаяФорма | &НаКлиенте Печать( ИдентификаторКоманды, ОбъектыНазначенияМассив) |
| ДополнительнаяОбработка ДополнительныйОтчет | &НаКлиенте ВыполнитьКоманду( ИдентификаторКоманды) | |
| СозданиеСвязанныхОбъектов | &НаКлиенте ВыполнитьКоманду( ИдентификаторКоманды, ОбъектыНазначенияМассив, СозданныеОбъекты) | |
| ЗаполнениеОбъекта Отчет | &НаКлиенте ВыполнитьКоманду( ИдентификаторКоманды, ОбъектыНазначенияМассив) | |
| Для всех видов | в форму передается параметр ДополнительнаяОбработкаСсылка | |
| ОткрытиеФормы | СозданиеСвязанныхОбъектов ЗаполнениеОбъекта Отчет | в форму передается дополнительный параметр ОбъектыНазначения |
| Для всех видов | в форму передаются параметры ИдентификаторКоманды ДополнительнаяОбработкаСсылка ИмяФормы | |
| Отчет | Отчет с макетом СКД может не иметь форму, тогда будет использована общая форма для отчетов по умолчанию | |
| ЗаполнениеФормы | ЗаполнениеОбъекта | ВыполнитьКоманду( ИдентификаторКоманды, ОбъектыНазначения, ПараметрыВыполнения) |
| СценарийВБезопасномРежиме | Для всех видов | см. описание в комментарии к функции ДополнительныеОтчетыИОбработкиКлиентСервер .ТипКомандыСценарийВБезопасномРежиме() |
| ЗагрузкаДанныхИзФайла | ДополнительнаяОбработка | см. описание в комментарии к функции ДополнительныеОтчетыИОбработкиКлиентСервер .ТипКомандыЗагрузкаДанныхИзФайла() |
Для типа команды ВызовКлиентскогоМетода необходимо создать форму в обработке, назначить ее основной и объявить экспортную процедуру.
«Версия БСП»
Строка, версия встроенной в конфигурации БСП. Необходима для поддержки совместимости. Можно не заполнять.
«Безопасный Режим»
Булево, отображает режим запуска обработка. В безопасном режиме недоступен привилегированный режим, COM-соединение, загрузка dll, доступ к файловой системе и интернету.
«Информация»
Строка, комментарий, который характеризует обработку.
«Версия»
Строка, версия обработки.
Подготовка разработки к подключению.
Для подключения разработки в базу необходимо задать параметры в экспортной функции модуля объекта «СведенияОВнешнейОбработке».
Пример
Подключение к базе.
Открываем справочник «Дополнительные отчеты и обработки». Кнопкой «Добавить» создаем элемент справочника. После чего система предложит прикрепить вашу разработку. Система автоматически заполнит поля формы функцией «СведенияОВнешнейОбработке.
Отладка
Единственный минус дополнительных отчетов и обработок заключается в том, что внутри них не работает встроенный в платформу отладчик.
Связано это в первую очередь с тем, что, запуская такую форму, система создает временный файл, и точки останова не срабатывают.
Отладка внешней печатной формы в управляемом приложении
Обычно, если внешняя печатная форма является подключаемой, процесс отладки является проблематичным — точки останова не срабатывают, потому что сам файл обработки не используется, используется его временная копия загруженная в справочник внешних обработок.
Как вариант, можно сделать из подключаемой формы обычную, которая будет открываться через меню Файл/Открыть.
Для этого нужно добавить форме реквизит СсылкаНаОбъект (тип ссылка на документ, к которому относится печатная форма).