Экспресс-отладка дополнительных отчетов и обработок

11.03.25

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

Еще никогда отладка дополнительных обработок не была такой простой.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Экспресс-отладка дополнительных отчетов и обработок:
.cfe 28,16Kb
4
4 Скачать (2 SM) Купить за 2 150 руб.

 

Бочка меда

После публикации пришлось самому испытать свои доработки и стало понятно как сделать жизнь еще легче (например, чтобы для отладки в новых базах не приходилось каждый раз создавать доп реквизит и не указывать путь к доп обработке вручную). Теперь для отладки после подключения расширения нужно всего:

1) загрузить нужную обработку для отладки из каталога, который доступен пользователю сервера 1С;

2) установить Режим отладки в доп обработке.

 

Чтобы отладка заработала в вашей конфигурации:

1. Добавьте в расширение общий модуль ИнтеграцияПодсистемБСП

&Перед("ПриСозданииВнешнейОбработки")
Процедура _ПриСозданииВнешнейОбработки(Знач Ссылка, СтандартнаяОбработка, Результат)
	_СоздатьВнешнююОбработку(Ссылка, СтандартнаяОбработка, Результат, Ложь)
КонецПроцедуры

&Перед("ПриПодключенииВнешнейОбработки")
Процедура _ПриПодключенииВнешнейОбработки(Знач Ссылка, СтандартнаяОбработка, Результат)
	_СоздатьВнешнююОбработку(Ссылка, СтандартнаяОбработка, Результат);
КонецПроцедуры

Процедура _СоздатьВнешнююОбработку(Знач Ссылка, СтандартнаяОбработка, Результат, ТолькоИмя = Истина)

	РеквизитыОбработки = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, "Публикация, Вид");
	Если РеквизитыОбработки.Публикация = 
			Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.РежимОтладки Тогда
			
		ПутьКФайлу = "";	
		ЗначенияСвойств = УправлениеСвойствами.ЗначенияСвойств(Ссылка, Истина,, 
			ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(
				ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "_ПутьКФайлуВнешнейОбработки")));
		Если ЗначениеЗаполнено(ЗначенияСвойств) Тогда
			
			Файл = Новый Файл(ЗначенияСвойств[0].Значение);
			Если Файл.Существует() Тогда
				ПутьКФайлу = Файл.ПолноеИмя;
			КонецЕсли;
			
		КонецЕсли;
		
		Если ЗначениеЗаполнено(ПутьКФайлу) Тогда
		
			СтандартнаяОбработка = Ложь;
			// Получение экземпляра объекта.
			Если РеквизитыОбработки.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.Отчет
				ИЛИ РеквизитыОбработки.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительныйОтчет Тогда
				Менеджер = ВнешниеОтчеты;
			Иначе
				Менеджер = ВнешниеОбработки;
			КонецЕсли;
			Обработка = Менеджер.Создать(ПутьКФайлу, Ложь, ОбщегоНазначения.ОписаниеЗащитыБезПредупреждений());
			ИспользуемоеИмяФайла = СтрЗаменить(Обработка.ИспользуемоеИмяФайла,"\","/");
			Если ЭтоАдресВременногоХранилища(ИспользуемоеИмяФайла) Тогда
				УдалитьИзВременногоХранилища(ИспользуемоеИмяФайла);
				Обработка = Менеджер.Создать(ПутьКФайлу, Ложь, ОбщегоНазначения.ОписаниеЗащитыБезПредупреждений());
			КонецЕсли;
			Если ТолькоИмя Тогда
				Результат = Обработка.Метаданные().Имя;
			Иначе	
				Результат = Обработка;
			КонецЕсли;
			
		КонецЕсли;
		
	КонецЕсли;

КонецПроцедуры

 

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

Процедура СоздатьПутьКФайлу() Экспорт

	Если ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.
			НайтиПоРеквизиту("Имя", "_ПутьКФайлуВнешнейОбработки").Пустая() Тогда
			
		Попытка
		
			_ПутьКФайлу = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.СоздатьЭлемент();
			_ПутьКФайлу.Наименование = "Путь к файлу внешней обработки";
			_ПутьКФайлу.ТипЗначения = Новый ОписаниеТипов("Строка");
			_ПутьКФайлу.Виден = Истина;
			_ПутьКФайлу.Доступен = Истина;
			_ПутьКФайлу.Заголовок = "Путь к файлу внешней обработки";
			_ПутьКФайлу.ЗаголовокЯзык1 = _ПутьКФайлу.Заголовок;
			_ПутьКФайлу.ЗаголовокЯзык2 = _ПутьКФайлу.Заголовок;
			_ПутьКФайлу.Имя = "_ПутьКФайлуВнешнейОбработки";
			_ПутьКФайлу.ИдентификаторДляФормул = _ПутьКФайлу.Имя;
			_ПутьКФайлу.НаборСвойств = Справочники.НаборыДополнительныхРеквизитовИСведений.НайтиПоНаименованию("Дополнительные отчеты и обработки");
			_ПутьКФайлу.ВидСвойств = Перечисления.ВидыСвойств.ДополнительныеРеквизиты;
			СтрокаН = _ПутьКФайлу.ЗависимостиДополнительныхРеквизитов.Добавить();
			СтрокаН.ЗависимоеСвойство = "Виден";
			СтрокаН.НаборСвойств =  _ПутьКФайлу.НаборСвойств;
			СтрокаН.Реквизит =  "Публикация";
			СтрокаН.Условие =  "Равно";
			СтрокаН.Значение =  Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.РежимОтладки;
			_ПутьКФайлу.Записать();
			
			НаборСвойств = _ПутьКФайлу.НаборСвойств.ПолучитьОбъект();
			СтрокаН = НаборСвойств.ДополнительныеРеквизиты.Добавить();
			СтрокаН.Свойство = _ПутьКФайлу.Ссылка;
			СтрокаН.ИмяПредопределенногоНабора = "Справочник_ДополнительныеОтчетыИОбработки";
			НаборСвойств.Записать();
		
		Исключение
			ОбщегоНазначения.СообщитьПользователю(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
		КонецПопытки;
		
	КонецЕсли;

КонецПроцедуры

 

Ложка дёгтя

Заметил, что если в рамках одного сеанса будет подключена внешняя обработка типовыми механизмами БСП, то при пересоздании обработки из файла с таким же именем будет использоваться первоначально подключенная. При отладке это нужно учитывать.

Проверено на следующих конфигурациях и релизах:

  • Управление торговлей, редакция 11, релизы 11.5.20.91
  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.168.25

Дополнительные отчеты и обработки БСП

См. также

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

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

15500 руб.

02.09.2020    178498    987    403    

947

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    19961    132    70    

134

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

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

22200 руб.

06.10.2023    18946    51    19    

83

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

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

15000 руб.

10.11.2023    12941    53    33    

72

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

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    29115    100    48    

146

Инструментарий разработчика Программист 8.3.14 Россия Платные (руб)

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

20000 руб.

07.10.2021    18685    7    32    

43

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

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    1791    2    0    

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