Аналог Редактора ТЗ для семёрки (http://infostart.ru/public/15487/ )
В настоящий момент умеет показывать:
— Массив
— ФиксированныйМассив
— ComSafeArray
— Структура
— Соответствие
— ТаблицаЗначений
— ДеревоЗначений
— СписокЗначений
— СтрокаТаблицыЗначений
— СтрокаДереваЗначений
— ЭлементСпискаЗначений
— ТабличнаяЧасть
— РезультатЗапроса
— КоллекцияДвижений
— прочие коллекции
— КлючИЗначение
— элемент справочника
— документ
Кроме того добавлена связка с подсистемой ИнструментыРазработчика:
— вызов редактора реквизитов
— вызов исследователя объкетов
(см. меню Действия)
Использование.
Без добавления в конфигурацию:
ВнешниеОбработки.Создать(«X:Инструменты_v8РедакторТЗ.epf»).Редактор(тз);
Если модификация конфигурации допустима:
добавляем РедакторТЗ в обработки и в каком-нибудь глобальном модуле добавляем процедуру
Процедура РедакторТЗ(ТЗ, Заголовок = "", Модально = Ложь, ФормаВладелец = Ложь) Экспорт
обр = Обработки.РедакторТЗ.Создать();
обр.Редактор(ТЗ, Заголовок, Модально, ФормаВладелец);
КонецПроцедуры
[-] 07.02.2012: Не устанавлмвался заголовок окна
[-] 07.02.2012: Не открывался вложенный объект при выборе строки
Обработка нужная. Как раз такая ситуация, что при переносе в виртуальной таблице засели не те цифры, хотя по регистрам бухгалтерии все идет. Добавил обработку во внешние обработки. Запускаю и пустая форма. В чем может быть проблема или я что-то не то делаю?
Использую БП 8.2 2.0.29.2
(1) sword444, ну ты напиши, чего делаешь то
Короче дело обстоит так. Был осуществлен перенос с Бух 7.7 на Бух 8.2. Правила были поправлены в нужном месте и добавлены новые виды документов которые нужны в новой базе. Все прошло гладко. Оборотно-сальдовая ведомость бьет в копеечку, т.е. по регистрам бухгалтерии все в идеале.
Не знаю как так могло произойти, но одна зараза осталась. При формировании выписке на 01.01.2012 года на начало дня формируется неверный остаток. Хотя еще раз повторюсь, по регистрам бухгалтерии все в идеале.
Залез в конфигуратор, решил посмотреть откуда отчет «Выписка» берет данные на начало и конец дня. Выяснилось, что из виртуальной таблице при отборе. Как туда залезть, ума не приложу. Что я только не делал, и обнулял остатки по счету, и чистил регистры, ВСЕ БЕСПОЛЕЗНО.
Потом увидел твой инструмент, решил как ты рекламируешь «Позволяет покопаться в этих самых данных, и понять почему не работает. При этом можно «погрузиться вглубь» данных до любого уровня вложенности.»
Сделал как было в описании, а там «нуль».
Где я ошибся? Буду рад любой помощи. Приложен скрин, может подскажешь источник проблемы
p.s. Совет: базу выгрузить и загрузить снова, не помогает.
Дело в том, что РедакторТЗ — инструмент не самодостаточный — от того, что ты просто запустишь его толку не будет.
Надо его запускать именно программно, в той точке кода, где данные есть. Причём данные не любые, а перечисленные в описании.
к примеру:
ВнешниеОбработки.Создать(«X:Инструменты_v8РедакторТЗ.epf»).Редактор(РезультатЗапроса);
тогда оно покажет РезультатЗапроса.
В твоём случае, если я правильно понял, надо взять любую консоль запросов (их есть тут в ассортименте), и выполнить тот запрос что в отчёте.
(4) спасибо за пояснение, буду пробовать
Если модификация конфигурации допустима, то возможно кому то покажется удобнее использовать подсистемуИнструменты разработчика , где исследователь объектов и коллекций на мой взгляд значительно функциональнее.
(3) sword444, возможно нужно использовать просмотровщик временных таблиц
(6) tormozit, Инструменты разработчика — замечательная вещь!
РедакторТЗ немножко отличается от Исследователя, именно когда нужно просмотреть массив данных.
Кстати, если подсистема установлена, то из редактора можно вызвать исследователь и редактор реквизитов.
(8) Посмотрел внимательнее. Действительно в твоем редакторе коллекций ориентация на редактирование, а не исследование. В ИР в исследователе коллекций на данный момент нет возможности редактирования, хотя в исследователе объектов она есть. Кстати ИР 2.30 появился простенький редактор ТЗ и массива.
(9) tormozit, не совсем так. Редактирование — в настоящий момент это скорее побочный эффект, да и то результат никуда не сохраняется. Основное различие в том, что редактор (правильней было бы назвать viewer, но традиция) сразу показывает данные, а исследователь показывает все свойства и методы объекта, которые позволяют добраться в частности и к данным. На приложенной картинке это хорошо видно — здесь я скормил обоим РезультатЗапроса.
Если есть желание, то можно объединить усилия. Т.е. вставить редакторТЗ в подсистему Инструменты. Я потихоньку допиливаю его по мере личной необходимости, а так глядишь процесс быстрее пойдёт.
В ИР в паре с исследователем объектов работает исследователь коллекций (также как и в конфигураторе диалог «Вычислить выражение»). Часто я пишу «исследователь объектов», но подразумеваю пару этих инструментов. Ты видел исследователь коллекций? Исследователь коллекций открывается например по двойному клику на строке свойства в исследователе объектов и способен работать с любой коллекцией.
(11) tormozit, оказывается видел, но не обратил внимания на заголовок.
Но. Почему я взялся делать свою смотрелку. Потому что в исследователе надо сначала ткнуть на метод Выгрузить(), а потом ещё раз ткнуть на получившуюся коллекцию. Т.е. многовато телодвижений для частной задачи.
Пример
структ = Новый Структура(«тз1», рз);
структ.Вставить(«тз2», рз);
структ2 = Новый Структура(«стр1», структ);
Исследовать(структ2);
в результате, чтобы добраться до данных в структ2.стр1.тз1 получается как на картинке. Одно окошко мне тут как минимум не нужно (ИО, _Значение_.стр1[«тз1»].Значение.Выгрузить()), и лишние клики мышью.
Может быть, есть более простой путь, но я не нашёл.
Если такого пути нет, то предложение: сделать в ИК действие, которым сразу откроются актуальные данные значения под курсором. Т.е. в окошке (ИК, _Значение_.стр1[«тз1»]) нажимаю что-нибудь, и открывается сразу (ИК, _Значение_.стр1[«тз1»].Значение.Выгрузить()[0]).
И ещё предложение, сделать глобальный метод ИсследоватьКоллекцию().
… и ещё предложение: в ИО и ИК сразу активизировать табличное поле, а то с клавиатуры не удобно работать
Метод ИсследоватьКоллекцию на мой взгляд будет излишеством, т.к. есть методы Ис и Исследовать, которые позволяют управлять как исследовать объект. Например ис(ГлавныйИнтерфейс, 1) сразу откроет исследование коллекции ГлавныйИнтерфейс, а ис(ГлавныйИнтерфейс) откроет исследование объекта ГлавныйИнтерфейс.
(13) Сделаю.
(12) Понимаю. Я же ставил целью сделать более удобный аналог вычислителя выражения из отладчика платформы, для которого важна в первую очередь универсальность. Буду рад предложениям, которые не ударят по универсальности, но сделают его более удобным.
(13) (16) tormozit,
Простите, но не зная что такое ваши Исследователи коллекций и ТЗ, мне, например, не понятно какая обработка и тем более в какой версии что делает, и какая наконец-то дает данные онлайн редактировать?? Или я неправильно понял о чем спор идет? Потому как этот момент я бы с радостью использовал, при отладке бывает чтобы получить определенную ТЗ, приходиться сначала перебрать множество данных перед ней. А так можно было бы и в запросе подправить чего надо, и к следующему шагу перейти с верными данными…
А если же она просто показывает те же данные, что и встроенный в платформе расчет, то думаю абсолютному большинству эта разработка не пригодиться.
Вышла ИР 2.31
Изменения касательно данного направления:
Исследователь объектов
+добавлена кнопка «Внутр» для вычисления внутреннего представления зачения
+При выборе значений-ссылок теперь открывается редактор объекта БД
+по двойному клику на строке вычисленного значения открывается наиболее специализированный редактор, а исследователю коллекций отдается приоритет на ячейке «Количество элементов»
Исследователь коллекций
+добавлена кнопка «Контекстная справка» отображающая справку по текущему свойству элемента коллекции
+реализована возможность редактирования значений в ячейках
+добавлена кнопка «Обновить»
Редактор таблицы значений
+возможность редактирования колонок
+поддержка дерева значений
+кнопка Обновить
Неплохо бы еще было, чтоб обратно при закрытии упаковывался в массив, структуру и тд
Дерево деревом не показывает.