bdd2

Обработка для отладки обработок заполнения табличных частей документов

Опубликовал Андрей Григорьев (Borisych) в раздел Программирование - Инструментарий

Удобный инструмент для отладки ОЗТЧ документов

Обработка предназначена для отладки обработок заполнения табличных частей

Тип обрабатываемых документов приводится к типу реквизита "Объект" тестируемой обработки.
В реквизите "Объект" Вашей обработки выбирайте тип, включающий тип 
 ДокументСсылка.ВашДокумент (для удобства выбора)

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

Форму обработки отладки соответственно переоткрывать не нужно. Внесли изменения в Вашу обработку заполнения ТЧ, сохранили - нажали кнопку "Заполнить табличную часть" -  произойдет заполнение в соответствии с принятыми Вами изменениями.


При установленном флаге "Открывать документ после заполнения" соответственно открывается заполненный документ

Используется стандартный механизм сохранения и восстановления реквизитов формы, есть справка и ссылка на источник.

Скачать файлы

Наименование Файл Версия Размер
Тестирование ОЗТЧ
.epf 72,47Kb
04.12.09
788
.epf 72,47Kb 788 Скачать

См. также

Добавить вознаграждение
Комментарии
1. Алексей Коробов (WiseSnake) 1721 04.12.09 17:42 Сейчас в теме
Скриншоты? Описание?
Чем лучше например http://www.infostart.ru/public/15601/?
В связи с новыми правилами лично я даже качать не буду в таком состоянии...
2. Алексей Коробов (WiseSnake) 1721 04.12.09 17:43 Сейчас в теме
Скриншот появился...
А посмотреть потом заполненную ТЧ как?
3. Андрей Григорьев (Borisych) 500 04.12.09 23:36 Сейчас в теме
:cry: Извините, коллеги, в процессе выкладывания обработки был лишен интернета на значительное время.
Дополнил описание и обновил файл
(1) в связи с новыми правилами и некоторыми постами, вносящими неясность к употреблению той обработки, например, зачем её подключать к документу? лично я бы не стал ей пользоваться и скачивать.
Считаю что выложенная выше вещь - удобная, полезная, универсальная и сделана качественно, ничего лишнего
4. Андрей Григорьев (Borisych) 500 04.12.09 23:37 Сейчас в теме
(2) либо открыть документ, воспользовавшись кнопкой выбора, либо он сам откроется при установке соответствующего флажка
5. Poppy (poppy) 3293 06.12.09 01:12 Сейчас в теме
Не удалось протестировать эти обработки:
http://www.infostart.ru/public/20302/
http://www.infostart.ru/public/18828/

{Форма.Форма(16)}: Поле объекта не обнаружено (Объект)
Обр.Объект = ЭлементыФормы.ВыбДок.Значение.ПолучитьОбъект();
6. Poppy (poppy) 3293 06.12.09 01:31 Сейчас в теме
(3) по (1)
Ту обработку нужно подключать для того, чтобы запускать из открытого документа. При этом, документ может быть не записан, как до, так и после выполнения тестируемой обработки.
Действия тестируемой обработки можно отменить.
7. Андрей Григорьев (Borisych) 500 07.12.09 09:13 Сейчас в теме
(5) Обработка расчитана на наличие реквизита "Объект" в обработке заполнения табличной части (если тип этого реквизита ограничен типами ссылок на документы к которым подключается обработка заполнения ТЧ, а не установлен в "Любая ссылка", тогда в поле выбора "Документ для заполнения табличной части" будем выбирать из ограниченного множества. Это удобно)
8. Андрей Григорьев (Borisych) 500 07.12.09 09:36 Сейчас в теме
(1) скачал обработку - хорошая
9. Артур Аюханов (artbear) 840 07.12.09 10:46 Сейчас в теме
(7) 1. Эта информация должна быть в описании
2. было бы удобно, если бы наличие/отсутствие реквизита "Объект" проверялось автоматом и в случае отсутствия выдавалось вменямое сообщение об этом.

Вопрос: документ всегда сохраняется?
ИМХО в (6) значительно удобнее, можно легко отказаться от неверных исправлений.
10. Эстер Коган (e.kogan) 1814 07.12.09 11:08 Сейчас в теме
(7) Следовательно, она не является подспорьем для тестирования ОЗТЧ, написанных по стандартной технологии.
11. Андрей Григорьев (Borisych) 500 07.12.09 11:14 Сейчас в теме
(9)-(10) Лично я всегда создаю реквизит "Объект", привык к такому порядку, что ж теперь делать?
(9) А сообщение, что реквизита нет, выводится в строке сообщений
12. Артур Аюханов (artbear) 840 07.12.09 16:10 Сейчас в теме
1. Где про Объект написано в описании?
2. Что по сохранению документа ?
3. (10) перечеркивает универсальность, тем более, что и в описании об ограничении по Объект ничего не написано.

13. Андрей Григорьев (Borisych) 500 08.12.09 08:57 Сейчас в теме
(12).2 документ записывается после заполнения
14. Алексей Коробов (WiseSnake) 1721 08.12.09 18:41 Сейчас в теме
(13) Не было меня давно. Вставлю свои 5 копеек.
Записывать объект(документ) оооочень часто не удобно... Например, когда сидишь у клиента и надо быстро протестировать на рабочей базе.
Лично я поступаю просто:
1. Пользуюсь обработкой poppy (если не лень подключать)
2. У меня все внешние обработки с формами: из формы обработки я просто открываю сформированный документ не сохраняя его...
15. Андрей Григорьев (Borisych) 500 09.12.09 13:31 Сейчас в теме
16. Артур Аюханов (artbear) 840 09.12.09 17:48 Сейчас в теме
В общем, неудобно и неуниверсально :(
Не в обиду автору поставлю минус - у poppy намного лучше :(
17. Андрей Григорьев (Borisych) 500 09.12.09 17:53 Сейчас в теме
Ничего страшного, я не обидчивый ;)
Мне во всяком случае удобен такой подход - если форма подключается к паре видов документов, то выбирать только из них.
Кесарю кесарево
18. A_kryl К (A_kryl) 120 27.01.11 12:16 Сейчас в теме
Я тоже не создаю реквизит объект в обработке заполнения, так поправить - это два слова в сабже убрать. Немного доработал напильником и все ок.
19. Эмин Зейналов (Smile1984arm) 16.09.11 14:06 Сейчас в теме
Огромное вам спасибо, очень полезная вещь!!!
20. Андрей Григорьев (Borisych) 500 18.09.11 01:58 Сейчас в теме
Вот ещё полезности -
1. - много отчетов одном - нужно просто создать несколько схем компоновки данных - и в меню сверху можно выбирать любую - отчет по этой схеме формируется сразу после выбора.
2. - форма для авторегистрации внешней печатной формы - необходимо указать типы документов, к которым подключается ВПФ, и в модуле прописать функцию "Печать()".

3. для формирования кода заполнения макета ПФ - создается макет со всеми параметрами/шаблонами,
указываешь имя макета в модуле, и вуаля - костяк заполнения процедуры Печать() уже готов, осталось подставить запрос с выборкой.

Макет = ПолучитьМакет("ИМЯ_МАКЕТА");
ТекстЗаполненияПараметровМакета = 
"
|ТабДок = Новый ТабличныйДокумент;
|ТабДок.АвтоМасштаб			= Истина;
|ТабДок.Защита				= Истина;
|ТабДок.ОтображатьСетку		= Ложь;
|ТабДок.ОриентацияСтраницы	= ОриентацияСтраницы.Портрет;
|ТабДок.ИмяПараметровПечати = ""ПАРАМЕТРЫ_ПЕЧАТИ_"" + ЭтотОбъект.Имя;
|
|ИмяМакета = ""ИМЯ_МАКЕТА"";
|Макет = ПолучитьМакет(ИмяМакета);
|";


Для каждого Обл Из Макет.Области Цикл
	ТекстЗаполненияПараметровМакета = ТекстЗаполненияПараметровМакета + Символы.ПС + 
										СтрЗаменить(  "// Область ""ОбластьМакета""
										|ОбластьОбластьМакета = Макет.ПолучитьОбласть(""ОбластьМакета"");
										|ОбластьОбластьМакета.Параметры.Заполнить(ДанныеЗаполнения);",
										"ОбластьМакета", 
										Обл.Имя) + Символы.ПС;
	ОблМ = Макет.ПолучитьОбласть(Обл.Имя);
	Для сч_строк = 1 По ОблМ.ВысотаТаблицы Цикл
		Для сч_столбцов = 1 По ОблМ.ШиринаТаблицы Цикл
			Яч = ОблМ.Область("R"+ Формат(сч_строк,"ЧГ=0") + "C" + Формат(сч_столбцов,"ЧГ=0"));
			Если Яч.Заполнение = ТипЗаполненияОбластиТабличногоДокумента.Параметр Тогда
				ТекстЗаполненияПараметровМакета = ТекстЗаполненияПараметровМакета + 
				"Область" + Обл.Имя + ".Параметры." + Яч.Параметр + " = ДанныеЗаполнения." + Яч.Параметр + ";" + Символы.ПС;
			КонецЕсли;
			Если Яч.Заполнение = ТипЗаполненияОбластиТабличногоДокумента.Шаблон Тогда
				МассивСтрок = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Яч.Текст, "[");
				Для каждого ЭлМассива Из МассивСтрок Цикл
					Если Найти(ЭлМассива,"]") > 0 Тогда
						ИмяП = СокрЛП(СтрЗаменить(ЭлМассива,"]",""));
						ТекстЗаполненияПараметровМакета = ТекстЗаполненияПараметровМакета + 
						"Область" + Обл.Имя + ".Параметры." + ИмяП + " = ДанныеЗаполнения." + ИмяП + ";" + Символы.ПС;
					КонецЕсли;
				КонецЦикла;
				
			КонецЕсли;
		КонецЦикла;
	КонецЦикла;
	ТекстЗаполненияПараметровМакета = ТекстЗаполненияПараметровМакета  + 
										СтрЗаменить("ТабДок.Вывести(ОбластьОбластьМакета);", "ОбластьМакета", Обл.Имя) + Символы.ПС;
КонецЦикла;
Сообщить("", СтатусСообщения.БезСтатуса);
Сообщить(ТекстЗаполненияПараметровМакета, СтатусСообщения.БезСтатуса);
...Показать Скрыть
Прикрепленные файлы:
УниверсальныйОтчетСКД.erf
ШаблонВПФ.epf
21. Андрей Григорьев (Borisych) 500 18.09.11 01:58 Сейчас в теме
22. Артур Аюханов (artbear) 840 19.09.11 14:01 Сейчас в теме
(20) Это ты про что пишешь?
дай схему использования, что запускаем, как генерим, как юзаем.
23. Андрей Григорьев (Borisych) 500 19.09.11 23:35 Сейчас в теме
(22) Завтра-послезавтра сниму видео с демонстрацией
24. Дима Гиб (DimDimych) 22.09.11 10:28 Сейчас в теме
Очень удобная обработка для отладки работает в любых конфигурациях спасибо автору
25. Андрей Григорьев (Borisych) 500 22.09.11 10:57 Сейчас в теме
(24) Спасибо, пункт (23) откладывается на выходные...
26. люба люба (lyubashonka) 25.09.11 17:53 Сейчас в теме
Спасибо огромное за обработку - очень помогла!!!
27. Андрей Григорьев (Borisych) 500 25.09.11 22:40 Сейчас в теме
28. Алексей Протасов (Riper) 03.11.11 05:51 Сейчас в теме
Очень удобная обработка для отладки спасибо автору - очень помогла!!!
29. Андрей Григорьев (Borisych) 500 04.11.11 01:19 Сейчас в теме
(22) artbear, кстати, вот видео снял - как ВПФ сделать : http://infostart.ru/public/66570/ - четвертый файл, также он лежит тут: http://files.mail.ru/BDNTCN
30. nnurik (nnurik) 08.11.11 14:21 Сейчас в теме
Спасибо автору. Использую при отладке, оч. хорошее средство.
31. Дмитрий Сосенков (oiter) 12.11.11 12:48 Сейчас в теме
Спасибо автору! Очень часто раньше приходилось использовать формы в тестировании.
32. Андрей Григорьев (Borisych) 500 13.11.11 01:12 Сейчас в теме
(31) oiter, посмотрите и другие мои публикации - шаблон ВПФ тоже полезная вещь и дерево метаданных конфигурации
unoDosTres; +1 Ответить
33. uno dos (unoDosTres) 22.05.13 15:48 Сейчас в теме
забавно видеть как минусовали данную обработку, совсем даже зря, отличный инструмент для отладки, правда интерфейс напоминает обработку poppy но это все мелочи
34. Александр Зорин (Manticor) 61 05.11.13 15:18 Сейчас в теме
Друзья, есть ли подобная вещь для управляемых форм под тонкий клиент? очень нужно
35. Андрей Григорьев (Borisych) 500 05.11.13 16:06 Сейчас в теме
(34) Manticor, у меня пока нет, скачал с ИС отладку ВПФ под БСП
36. Александр Зорин (Manticor) 61 06.11.13 09:40 Сейчас в теме
(35) Borisych, просто без подобной обработки такго рода встает вся отладка на тонком(((
37. Андрей Григорьев (Borisych) 500 06.11.13 11:59 Сейчас в теме
(36) Manticor, приспичит самому тестить ОЗТЧ - сделаю, а пока и так зашиваюсь
38. борян петров (TODD22) 15 24.12.13 09:21 Сейчас в теме
{Форма.Форма.Форма(19)}: Метод объекта не обнаружен (Записать)
Обр.Объект.Записать();
Вот такая ошибка при попытке заполнить ТЧ. :(
39. Андрей Григорьев (Borisych) 500 25.12.13 10:35 Сейчас в теме
(38) TODD22, посмотри в отладчике - что в Обр.Объект находится? наверняка Неопределено или что-то ещё не ссылочного типа