gifts2017

Отладочный просмотр "СпискаЗначений", "ТаблицыЗначений", "ИндексированнойТаблицы"

Опубликовал Евгений Долиновский (Dolly_EV) в раздел Программирование - Инструментарий

Отладочный просмотр "СпискаЗначений", "ТаблицыЗначений", "ИндексированнойТаблицы"

Я понимаю, что это очередной "боян", но... все, что лежит здесь, меня не устроило / не понравилось - или слишком мощно, или не все охватывает.
Так что предлагаю на суд еще один отладочный просмотрщик СЗ, ТЗ и ИТЗ.

1. запускается одной строкой

  ОткрытьФорму("Отчет", Парам, КаталогИБ()+"\Extforms\служб_ПросмотрСЗ_ТЗ_ИТЗ.ert");

, где Парам = анализируемый "СписокЗначений", "ТаблицаЗначений" или "ИндексированнаяТаблица". Если требуется в целях отладки "затормозиться" для изучения содержимого, и затем продолжить работу отлаживаемого - вызываем через ОткрытьФормуМодально().

Если требуется увидеть в заголовке формы имя объекта, тогда вызов в 4 строки

 

Парам = СоздатьОбъект("СписокЗначений");
 Парам.ДобавитьЗначение("сзДок","ЗаголовокОбъекта_");
 Парам.ДобавитьЗначение(сзДок,"Объект_");
 ОткрытьФорму("Отчет#", Парам, КаталогИБ()+"\Extforms\служб_ПросмотрСЗ_ТЗ_ИТЗ.ert");

Замечание!: Не стоит передавать в отчет САМ объект, именно через конструкцию "Парам = ", т.к. отчет после отработки возвращает в Парам свой контекст, и тем самым уничтожит

2. по клику в ячейке в зависимости от ТипаЗначения:
  - "Документ", "Справочник" - открывается форма оного
  - "СписокЗначений", "ТаблицаЗначений" или "ИндексированнаяТаблица" - рекурсивно открывается
  - Прочее - сообщается ТипЗначения

3. кроме таблицы на форме сообщается количество Строк/Колонок, и подсчитываются итоги по числовым колонкам

4. Для "СпискаЗначений" в таблицу добавлена колонка "Представление"

 

22.10.11 Добавлен вариант с использованием "ПоставщикДанных.ИндексированнаяТаблица", что занчительно расширяет возможности:

 - автоитог по числовым колонкам

 - сортировка колонок одним кликом

 - настройка (состав, положение) колонок, печать таблицы

Кнопка "Редактировать" включает/выключает доступность редактирования таблицы. По умолчанию редактирование отключено, доступна только сортировка колонок. При клике на значение - открывается форма объекта или его описание. В режиме редактирования открывается выбор объекта, возможно добавление строк и т.д.

06.12.11

Мелкие косметические изменения (автоширина колонок при открытии в Excel и т.д.)

06.02.12

Теперь можно Сохранять тз в файл и Открывать ранее сохраненную. Соответственно обработку можно просто открыть, без передачи параметров.

За замечательный класс "ПоставщикДанных" спасибо автору! (скачать класс)

З.Ы. Необходимы все библиотеки указанные в "Требованиях" к ПоставщикуДанных:

"Требования:
1. MS Office (для тулбара)
2. 1sqlite. Версия 1.0.2.3.
3. 1C++. Версия >= 3.2.3.1
4. FormEx
5. Yoksel"

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

Наименование Файл Версия Размер
служб_ПросмотрСЗ_ТЗ_ИТЗ.ert (через ТП) 30
.ert 227,50Kb
06.02.12
30
.ert 227,50Kb Скачать
служб_ПросмотрСЗ_ТЗ_ИТЗ.ert (штатными средствами) 143
.ert 63,50Kb
06.02.12
143
.ert 63,50Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
2. Елена Б (Pin) 15.04.10 19:39
А вот и ert-шничек!
Только одно замечание: при расшифровке СпискаЗначений надо бы:
СтрПредст=""
тз.Значение = Парам.ПолучитьЗначение(сч,СтрПредст);
тз.Представление=СтрПредст;

Иначе в графе Представление пусто получается :cry:
+ использование ert-файла дает возможность выводить заголовок при расшифровке вложенной таблицы/списка. И в этом заголовке можно указать имя столбца, который расшифровываем.
Ну или в заголовке формы лучше указывать не тип значений, а имя расшифровываемого объекта.
3. Евгений Долиновский (Dolly_EV) 17.04.10 06:29
(2) "Представление" поправил
+ сделал возможность показать в заголовке имя объекта
правда для этого вызов более заморочный:
лсзДок = СоздатьОбъект("СписокЗначений");
лсзДок.ДобавитьЗначение("сзДок","ЗаголовокОбъекта_");
лсзДок.ДобавитьЗначение(сзДок,"Объект_");
ОткрытьФорму("Отчет#", лсзДок, КаталогИБ()+"\Extforms\служб_ПросмотрСЗ_ТЗ_ИТЗ.ert");
...Показать Скрыть

но и старый вариант вызова работает
4. Константин Юдин (judke) 21.04.10 09:31
полезная штучка - хотел сам написать такую, да все не досуг.
попробую...
5. Евгений Долиновский (Dolly_EV) 21.04.10 10:15
(4) пользуйтесь наздоровье! ;)
6. tslk tslk (tslk) 24.10.11 04:21
А для 8-ки есть что-то подобное ?
7. Евгений Долиновский (Dolly_EV) 24.10.11 08:46
на 8 пока не пишу, но думаю если поискать - то найдется
8. v_id (v_id) 24.10.11 22:42
Чего-то у меня ссылка на класс "Поставщик Данных" с 1cpp.ru не отрывается. Предложу местную как альтернативу.
9. Евгений Долиновский (Dolly_EV) 25.10.11 07:31
10. Роман Хусяинов (rom-x) 01.12.11 12:43
(9) Dolly_EV, а сразу 2 Тз он не открывает?
т.е. в коде:
	Парам = Тз2;
	ОткрытьФорму("Отчет", Парам, КаталогИБ()+"\Extforms\служб_ПросмотрСЗ_ТЗ_ИТЗ.ert");	
	Тз2.Выгрузить(Тз4);
	Тз4.Свернуть("Номенклатура", "Цена"); 
	Пар = Тз4;
	ОткрытьФорму("Отчет", Пар, КаталогИБ()+"\Extforms\служб_ПросмотрСЗ_ТЗ_ИТЗ.ert");	
...Показать Скрыть

Открывает только Тз4.
11. Евгений Долиновский (Dolly_EV) 02.12.11 04:15
(10) хоть сразу 2, хоть 20... Просто не хватает "#" после "Отчет"
ОткрытьФорму("Отчет#", Парам, КаталогИБ()+"\Extforms\служб_ПросмотрСЗ_ТЗ_ИТЗ.ert");

Т.е., когда ты запускаешь второй раз "ОткрытьФорму..." с Тз4 - внешний отчет у тебя ПЕРЕОТКРЫВАЕТСЯ с новыми параметрами, а НЕ ОТКРЫВАЕТСЯ ЕГО КОПИЯ.
12. Роман Хусяинов (rom-x) 05.02.12 09:56
Удобно тем, что выводит итоги, вот если бы еще и таблицу выводил, кот. можно сохранить, было бы замечательно. Надо самому допилить.
13. Евгений Долиновский (Dolly_EV) 06.02.12 11:41
(12) Обновил, теперь можно Сохранять в файл и Открывать из файла
14. Роман Хусяинов (rom-x) 06.02.12 13:16
(13) Dolly_EV, не увидел каких-либо кнопок в конфигураторе, собственно я наверно не правильно выразился, нужно сохранять файл в xls либо печатать ТЗ, а дальше уже и самому можно сохранить.
15. Евгений Долиновский (Dolly_EV) 06.02.12 17:07
(13) Качаем ГЛАВНЫЙ файл (который на "Поставщике данных"). в ПРАВОМ ВЕРХНЕМ углу кнопки: <Открыть из файла>, <Сохранить в файл>, <Разрешить/запретить редактирование>, <Открыть в Excel>.
Кроме того в панели инструментов ПД есть кнопки <Вывести список табличного поля>(после чего можно сохранить *.mxl) и <Настройка списка табличного поля>
16. Alex Melnichuk (Amel2010) 08.02.12 10:48
ПоставщикДанных.КоманднаяПанель::УстановитьНаборПиктограмм(Картинка Пиктограммы=, Число Ширина=16, Число Высота=16, Число Количество=26) : Неудачная попытка создания объекта
КартинкиПанелиУправления = СоздатьОбъект("MSComctlLib.ImageListCtrl");

Хотя офис установлен.
Что может быть?
17. Евгений Долиновский (Dolly_EV) 09.02.12 06:26
(16) Попробовать вот эту версию ПД http://www.1cpp.ru/forumfiles/Attachments/1Cv7_ext_TF_010.rar
Или лучше спросить по ошибке здесь: http://www.1cpp.ru/forum/YaBB.pl?num=1285520767/600
У меня в самом начале использования Поставщика тоже была какая-то заморочка с MSComctlLib, только сейчас уже не вспомню :-(
18. Alex Melnichuk (Amel2010) 09.02.12 10:16
(17) Dolly_EV,
Попробовал эту версию класса, не помогло.
Жаль.
19. Роман Г (Stradivari) 07.05.13 15:57
Полезная штука, забираю!