Отладка внешней печатной формы в управляемом приложении (с редактированием и записью)

20.04.23

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

+ 1 способ отладки внешней печатной формы в управляемом приложении (управляемые формы). Уверяю Вас, это быстро и удобно. Не нужно каждый раз обновлять конфигурацию, сохранили внешнюю форму и можно сразу проверять.

 

Очень удобно и быстро отлаживать печатные формы как-раз в виде внешних печатных форм. Отпадает необходимость каждый раз сохранять конфигурацию для проверки внесённых изменений. Этот момент оценят те кому нужно доработать печатную форму в рабочей базе с подключенными и работающими пользователями.

Предположим необходимо отладить внешнюю печатную форму "ДоговорПоставки.epf".
Подключаем её к базе и смотрим на режимы публикации.

Многие видели кнопку "Режим отладки" во внешних печатных формах, но никогда не проверяли что она делает?
(подсказка: ничего не делает).

Давайте задействуем эту волшебную кнопку!

Ищем в своей конфигурации такую строку:  

ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, , БезопасныйРежим);

Из комментариев: 
С какого то релиза поменялось строка для поиска в конфигурации на:

ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, , БезопасныйРежим, ОбщегоНазначения.ОписаниеЗащитыБезПредупреждений());

Проще место искать по следующей строке:

ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, , БезопасныйРежим

(ищем простым поиском, она там одна такая.
Или по адресу "ОбщиеМодули" -> "ДополнительныеОтчетыИОбработки" -> "Функция ПодключитьВнешнююОбработку(Ссылка) Экспорт",
вторая строка снизу)

И заменяем на такие:

Если Ссылка.Публикация = Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.РежимОтладки Тогда
	Результат = Менеджер.Создать("D:\Отладка\"+Ссылка.ИмяФайла, БезопасныйРежим); //Результат можно при желании проверить.
	ИмяОбработки = Ссылка.ИмяОбъекта;	
Иначе
	ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, , БезопасныйРежим);	
КонецЕсли; 

 
Обратите внимание! По адресу "D:\Отладка\" уже должна лежать ваша печатная форма, например "D:\Отладка\ДоговорПоставки.epf".

Теперь обработку можно открыть в конфигураторе и спокойно редактировать, сохранять и сразу-же проверять результат! 

Всем добра! Пользуйтесь )

Ставьте лайки, подписывайтесь на канал! ;)

П.С. Справедливо для конфигурации "Бухгалтерия для Украины, редакция 2.0", в других конфигурациях можно применить схожий подход.

См. также

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

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

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

10000 руб.

02.09.2020    126561    685    389    

737

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

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

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

18000 руб.

06.10.2023    8317    24    6    

45

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

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

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

10000 руб.

10.11.2023    4682    12    2    

38

SALE! %

PowerTools

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

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

3600 2280 руб.

14.01.2013    178870    1084    0    

862

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

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

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

15000 руб.

07.10.2021    15075    3    12    

37

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

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

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

5000 руб.

07.02.2018    99801    239    97    

298

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

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

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

2040 руб.

27.12.2017    28401    4    10    

16

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

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

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

3000 руб.

27.08.2019    18494    6    8    

40
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Intor_ 20.01.22 09:21 Сейчас в теме
То есть на каждую обработку менять код в общем модуле? Такое себе решение на самом деле.
dreamwaver_dz; +1 Ответить
3. dreamwaver_dz 110 20.01.22 11:50 Сейчас в теме
(1) Поправил.
Теперь менять общий код не нужно.
Все внешние формы изначально помещаем в папку "D:\Отладка\" и получаем удовольствие от жизни )))
user712426; Bob_Dobr; v8_088; Andreeei; +4 Ответить
2. Famza 84 20.01.22 09:34 Сейчас в теме
Я бы предложил данный код не менять в исходном модуле, а использовать его в расширении.
user712426; gucci76; asterisk; Рамзес; Andreeei; Lapitskiy; +6 Ответить
4. dreamwaver_dz 110 20.01.22 11:51 Сейчас в теме
(2) На усмотрение пользующихся )))
user712426; +1 Ответить
5. mrChOP93 96 20.01.22 12:49 Сейчас в теме
Имхо, путь бы я прописал где нибудь в константе, а вместо Ссылка.ИмяОбъекта +".epf" прибавлял бы Ссылка.ИмяФайла
user1697848; Darklight; dreamwaver_dz; +3 Ответить
6. dreamwaver_dz 110 20.01.22 13:44 Сейчас в теме
(5) Дальнейшие плюшки и украшательства можно наворачивать любые.
Нет предела совершенству! )))
mrChOP93; +1 Ответить
7. dreamwaver_dz 110 21.01.22 18:04 Сейчас в теме
(5) Ссылка.ИмяФайла - норм совет. Внес в код.
8. sapervodichka 6808 23.01.22 12:45 Сейчас в теме
ОбщийМодуль.ДополнительныеОтчетыИОбработки серверный, поэтому путь к каталогу должен быть шара, которая видна на сервере и доступна пользователю агента сервера 1С (во многих случаях такого доступа нет). Либо это файловая база 1С. Сам ПФ внешние создаю с формой отладки по шаблону. За Публикацию однозначный плюс, потому что я об этом не знал, спасибо автору +1
ipzotov; Рамзес; Boabinga; Altez; Award; Darklight; user1303515; +7 Ответить
9. Yashazz 4727 23.01.22 12:51 Сейчас в теме
Авторам БСП безусловный минус, вот что. За столько лет не сделать адекватный способ отладки внешек - это хз кем быть надо.
А предложенный способ, как и любое вмешательство в конфу либо написание расширений, по сути - костыль, вызванный к жизни именно дурацким способом подключения внешек.
uk09; FoxDW; unknown181538; arz; vodorosl; EvgeniyOlxovskiy; Alex1c; zinzillya; TariK; Рамзес; Altez; Award; Darklight; EliasShy; unichkin; +15 Ответить
13. Бэнни 204 23.01.22 20:55 Сейчас в теме
(9) Мне казалось, что создание отладочной формы в самой обработке с 10-ю строчками кода, полем и кнопкой на форме самый простой способ отладки. Зачем что-то выдумывать еще?
adhocprog; yghmd; Izumov; maldinitaly; zaic; A.Belash; Darklight; ixijixi; HAMMER_59; olololeg; TimurD; +11 Ответить
22. dreamwaver_dz 110 24.01.22 16:18 Сейчас в теме
(13) Печатная форма зависит от содержимого объекта. Проще в открытом объекте изменить значения и нажать "Печать", чем отдельно открывать объект, вносить изменения, и бегать потом по окнам и искать кнопку с полем.
24. Бэнни 204 24.01.22 16:21 Сейчас в теме
(22)проще. Но проще на два нажатия мышкой. А сколько беготни с доработкой отладки и подменой пути сохранения обработки? Отладочная форма же содержит на 90% шаблонный код, готовый к копипасту.
26. dreamwaver_dz 110 24.01.22 16:35 Сейчас в теме
(24)
А сколько беготни с доработкой отладки и подменой пути сохранения обработки?

А вот тут не понял...

В самой обработке ничего не меняется. Любая внешняя форма "как есть" просто подключается в базу и всё.

Что может вызвать затруднения?
Поместить в заранее известную папку сам файл обработки и открыть в конфигураторе? Нажать кнопку "Режим отладки"?

Это весь измененный код, больше ничего менять нигде не нужно.

Дальше только работаем над совершенствованием самой обработки! )
vodorosl; Andreeei; +2 Ответить
14. TimurD 6 23.01.22 21:19 Сейчас в теме
(9) Без обид, запомнил твой ник, т.к. ты постоянно чем то не доволен. В любой статье. При чем здесь БСП? Отлаживать отчеты внешние просто. ПриКомпоновкеРезультата пишем стандартный код по формировании СКД, смотрим в макет компоновки, какой(ие) запрос там в итоге сформировался, анализируем и пр. Есть различные консоли запросов, которые могут выципить текст запроса с параметрами, потом в обработке колдуем, проверяем и пр. Либо через УправляемаяКонсольОтчетов, она вроде В БСП идет, в нагрузку, в файлах поставки (шаблона). Что касается других видов ВО, то самый простой вариант это эмуляция. К примеру ПФ, делаем форму в обработке, там кидаем на форму нужную ссылку, имитируем печать (вызываем процедуру модуля объекта внешней обработки), и отлаживаем. Вот и все вот и все. Ни каких откровений.
15. Yashazz 4727 23.01.22 21:50 Сейчас в теме
(14) Ты, кажется, не понял, о чём я говорю. Все методы отладки я прекрасно знаю и сам, спасибо. Но концепция, при которой вызов идёт через "Выполнить"/"Вычислить", что самоочевидно отрицает возможность отладки, это не лучшая на мой взгляд концепция, а в БСП принята была именно она.

И да, в 90% случаев я недоволен. Перфекционизм, пнимаашь, с одной стороны, и крайне низкий уровень качества всего и вся с другой - увы, а что поделать. Хотя история знает обратные случаи; такая вот загогулина)
Yuri1988; uk09; cleaner_it; Рамзес; CornCrake; artbear; Altez; +7 Ответить
16. TimurD 6 23.01.22 23:17 Сейчас в теме
(15)
"Выполнить"/"Вычислить"
только в ДлительныхОперациях используется, и то не создает ни каких проблем при отладке. То, что в БСП бывают косяки (редко, незначительные), это не новость. А говорить о том что все плохо и все (почти) идеи Г, ну такое...
18. Yashazz 4727 24.01.22 11:48 Сейчас в теме
(16) "редко и незначительные"? Организуйте опрос, посмотрим на результаты. У меня немножечко другое мнение. Возможно, за последние полгода ситуация улучшилась, но, имхо, это костыль на костыле и изврат на изврате, о соблюдении их же собственных стандартов и не говорю уже.

ну вот да, негатив, и - увы, в изрядной степени обоснованный.
vodorosl; EvgeniyOlxovskiy; +2 Ответить
19. TimurD 6 24.01.22 12:33 Сейчас в теме
(18) Видимо мы в разных реальностях живем. Вам пора к психологу, на лицо выгорание. Я смотрю на все позитивно, и не расстраиваюсь понапрасну. Если вижу гденить косяк - правлю, либо сообщаю автору функционала, что там и так, если это важно. Ну и все в таком ключе. Тут брал много хорошего функционала, допиливал под себя, если находил косяки указывал на него и не выкидывал тонны Г, на автора, потому что тут он чуть ошибся. Всякое бывает.
29. Yashazz 4727 24.01.22 21:18 Сейчас в теме
(19) А я встречал на ИС такие, пардон, публикации, от которых, будь я их автором, со стыда сгорел бы. Равно как и натыкался на код в типовых конфах, за который его писателям точно гореть в аду. Вот это да, выгорание)

Вы совершаете одну частую, но неочевидную ошибку. Я не вываливаю тонны Г. на автора. Я вываливаю их на опубликованную поделку. Между "вы дурак" и "вы сделали дурость" есть огромная, но не всеми ощутимая разница. На личности я первым не перехожу.

И закончим оффтоп)
uk09; juraua; vodorosl; +3 Ответить
30. Altez 256 09.02.22 04:55 Сейчас в теме
(29) Дорабатывая чужие конфы, стараюсь не править подозрительные места, не называть сроков, не загуглив возможных проблем.
Пока старый сапёр не напишет отзыв - нет 100%, что твой код опирается на нечто стабильное.

Яков, как насчет авторского проекта по оценке качества технических решений в полуляхах?
На случай переговоров с ванильными менеджерами.

По теме: разрабы не решились добавить настроек в интерфейс (надо ж поддерживать совместимость с гиперконвергентной средой) и реализацию методики отладки оставили на откуп конечным пользователям (знакомился с ним на исходниках расширения "Универсальные инструменты"). Месседж 1с: кому надо по уму, себе сделает.
EvgeniyOlxovskiy; +1 Ответить
10. Sedaiko 580 23.01.22 13:11 Сейчас в теме
Именно для печатной формы этого делать смысла нет, т.к. можно из формы обработки вызвать нужную процедуру с передачей нужной ссылки
То же подходит и для серверных и клиентских вызовов.

Описанный метод может подойти если только к обработкам заполнения
11. aleks_p99 23.01.22 17:48 Сейчас в теме
В Подсистеме "Инструменты разработчика" есть такая возможность, с удобным интересом
unichkin; json; +2 Ответить
23. dreamwaver_dz 110 24.01.22 16:20 Сейчас в теме
(12) Фи, как не спортивно! ))))
Продвигать своё расширение и минусовать чужие простые решения )
Dansur; EvgeniyOlxovskiy; +2 Ответить
17. triviumfan 93 24.01.22 09:06 Сейчас в теме
Это же баян прямо баян.
@dreamwaver_dz, не стыдно?
И режим отладки тут не причём. Такие обработки выделаются красным цветом и доступны лишь пользователям с полными правами.
25. dreamwaver_dz 110 24.01.22 16:26 Сейчас в теме
(17) Я вот раньше таких коротких баянов не встречал ))) А не видел - значит не было.
И всё новое - это ж хорошо забытое старое )))

Не хотел никаких дополнительных форм, строчек кода. Хотел просто, нажал печать - попал в отладчик. Думаю справился.
20. unichkin 1565 24.01.22 15:53 Сейчас в теме
Самый нормальный и удобный способ отладить подключаемый отчет \ обработку - это использовать расширение "Инструменты разработчика". Способ требующий меньших трудозатрат, гораздо менее эффективный чем ИР т.к. позволяет лишь точечно отладить экспортные методы - см. https://infostart.ru/1c/articles/573461/
И дорабатывать таким образом модуль - это постоянный риск забыть убрать отладочный контекст из кода.
21. dreamwaver_dz 110 24.01.22 16:13 Сейчас в теме
(20) Роман, нет никакого отладочного кода. Сама обработка тоже не имеет никаких дополнительных строк.
Все внешние обработки в "чистом виде" просто держим в некоторой папке и из неё открываем в конфигураторе.
Ничего не дописываем, ничего никуда потом не переносим, никаких дополнительных движений.
По окончанию загрузили в базу последнюю версию и отключили режим отладки. Всё.
Рамзес; Andreeei; +2 Ответить
27. unichkin 1565 24.01.22 19:57 Сейчас в теме
(21) Это отладочный код. Для его вставки надо разлочить поставляемый модуль. Или Вы предлагаете на прод такое выкатывать?
Прикрепленные файлы:
28. dreamwaver_dz 110 24.01.22 20:48 Сейчас в теме
(27) Думаю это уже детали. Каждый для себя решит как использовать данный пример. (за "-" отдельное спасибо ))))
uk09; Andreeei; +2 Ответить
31. maraty 438 15.02.22 14:22 Сейчас в теме
Спасибо автору за "точку входа" для доработки. Для себя реализовал расширением.
1. В справочник ДополнительныеОтчетыИОбработки добавил реквизит доп_ПолноеИмяФайла (Строка(неорг)).
2. Вывел новый реквизит в форму
&НаСервере
Процедура доп_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	
	НовыйЭлемент = Элементы.Вставить("доп_ПолноеИмяФайла", Тип("ПолеФормы"),  Элементы.СтраницаДополнительнаяИнформация, Элементы.ГруппаОтступ);
	НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
	НовыйЭлемент.ПутьКДанным = "Объект.доп_ПолноеИмяФайла";
	НовыйЭлемент.ТолькоПросмотр = Истина;
	
КонецПроцедуры
Показать

3. Доработал сохранение реквизита при загрузке обработки
&НаКлиенте
&Перед("ОбновитьИзФайлаПослеВыбораФайла")
Процедура доп_ОбновитьИзФайлаПослеВыбораФайла(ОписаниеФайла, ПараметрыРегистрации)

	Если ОписаниеФайла <> Неопределено Тогда
		ПараметрыРегистрации.Вставить("доп_ПолноеИмяФайла", ОписаниеФайла.Имя);
	КонецЕсли;
	
КонецПроцедуры

&НаСервере
&После("ОбновитьИзФайлаНаСервере")
Процедура доп_ОбновитьИзФайлаНаСервере(ПараметрыРегистрации)

	ОбъектСправочника = РеквизитФормыВЗначение("Объект");  
	ЗаполнитьЗначенияСвойств(ОбъектСправочника, ПараметрыРегистрации, "доп_ПолноеИмяФайла");
	ЗначениеВРеквизитФормы(ОбъектСправочника, "Объект");
	
КонецПроцедуры
Показать

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

Тут немного мои правки, не люблю получать реквизиты ссылки через точку :)

Как ранее писали в комментариях, обработки должны лежать в папке, доступные с сервера.
olsy; sizeoff; Рамзес; onsi; dreamwaver_dz; +5 Ответить
32. user1364680 13.07.22 03:13 Сейчас в теме
(0) спасибо, камрад, годно)))
dreamwaver_dz; +1 Ответить
33. ivan65 28.08.22 09:44 Сейчас в теме
скажите плиз ,зделал все как написано в обработку заходит лежащую в папке, а отладка не работает? не останавливается
34. ivan65 28.08.22 09:48 Сейчас в теме
простите заработало ,все ОК, несомненная польза, люблю простые и верные решения.Спасибо
dreamwaver_dz; +1 Ответить
35. Vitvarg51 30.08.22 10:13 Сейчас в теме
Спасибо за решение, весьма пригодилось )))
dreamwaver_dz; +1 Ответить
36. dreamwaver_dz 110 01.09.22 18:02 Сейчас в теме
(35) Подскажите пожалуйста, а легко ли нашли это решение или не искали, а случайно встретили?
37. Vitvarg51 01.09.22 19:29 Сейчас в теме
(36) Нужна была возможность отладки уже подключённой обработки. Ваше решение нашлось достаточно быстро.
38. rbsoft 209 01.02.23 11:13 Сейчас в теме
Очень сэкономила время ваша методика! Спасибо!
dreamwaver_dz; +1 Ответить
39. dreamwaver_dz 110 01.02.23 20:23 Сейчас в теме
(38) Пожалуйста! )))
Именно поэтому и поделился с общественностью.
40. WrongLane 3 03.02.23 13:47 Сейчас в теме
Это сработает в клиент-серверном варианте?
41. dreamwaver_dz 110 03.02.23 19:51 Сейчас в теме
42. djserega 258 20.04.23 09:32 Сейчас в теме
С какого то релиза поменялось строка для поиска в конфигурации на:
ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, , БезопасныйРежим,
ОбщегоНазначения.ОписаниеЗащитыБезПредупреждений());

Проще место искать по:
ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, , БезопасныйРежим
43. IgorXml 724 19.10.23 17:56 Сейчас в теме
Иначе делал. Но спасибо.
44. beldieff 25.10.23 14:52 Сейчас в теме
Согласен с (9) в отношении разработчиков БСП, какой это к черту способ отладки? Ниже по постам люди пишут как дорабатывают с новыми реквизитами в справочнике, подсовыванием общего модуля в расширение и правка кода. Что мешало сделать это сразу в БСП, чтоб людям не ломать конфу?
45. shevlad 14.02.24 10:09 Сейчас в теме
Удобное решение, спасибо!
Добавлю еще, может кому пригодится: в серверной базе исправляемый код работает в фоне (по крайней мере, в актуальных типовых), и вываливается в исключение, если у пользователя стоит "Защита от опасных действий". Убираем ее и отладка работает. Ну и конечно же, пусть каждый сам решает, насколько это приемлемо для его ситуации, мне в копии норм.
Оставьте свое сообщение