Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) РедакторТЗ для 8. Может надо кому? (число прочтений - 4951 )
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
РедакторТЗ для 8. Может надо кому?
14. Декабря 2011 :: 04:49
Печать  
Используется для отладки. В основном посмотреть в ТЗ или РезультатЗапроса. Типа:
Код
Выбрать все
	рз = Запрос.Выполнить();
	РедакторТЗ(рз); 



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

  

___________001.zip ( 5 KB | Загрузки )
Наверх
 
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: РедакторТЗ для 8. Может надо кому?
Ответ #1 - 14. Декабря 2011 :: 04:50
Печать  
Перечислил бы функции обработки. Так то для отладки достаточно сделать ТЗ.ВыбратьСТроку()
  
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: РедакторТЗ для 8. Может надо кому?
Ответ #2 - 14. Декабря 2011 :: 05:11
Печать  
Не, ТЗ.ВыбратьСтроку()  неудобно. Как минимум потому что модально.
Ещё, РедакторТЗ позволяет погрузиться в исследуемые данные (к примеру, если в строках ТЗ содержатся другие ТЗ).

Может показывать объеты типов:
- ТаблицаЗначений
- Массив
- СтрокаТаблицыЗначений
- Структура
- Справочник табличная часть
- РезультатЗапроса
- Регистр сведений набор записей
  
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: РедакторТЗ для 8. Может надо кому?
Ответ #3 - 14. Декабря 2011 :: 08:23
Печать  
Выяснилось, что у меня была плохая, негодная версия редактора.
Вот годная, и немножко допиленная.

Умеет показывать:
- Массив
- ФиксированныйМассив
- ComSafeArray
- Структура
- Соответствие
- ТаблицаЗначений
- ДеревоЗначений
- СписокЗначений
- СтрокаТаблицыЗначений
- СтрокаДереваЗначений
- ЭлементСпискаЗначений
- ТабличнаяЧасть
- РезультатЗапроса
- КоллекцияДвижений
- прочие коллекции
- КлючИЗначение
- элемент справочника
- документ

Кроме того добавлена связка с подсистемой ИнструментыРазработчика:
- вызов редактора реквизитов
- вызов исследователя объкетов
(см. меню Действия)


Код
Выбрать все
//_______________________________________________________________________
//	Параметры:
//	ФормаВладелец - Форма, Булево. Если передано Истина - каждое, открытое из текущего окна,
//		новое окно Редактора ТЗ будет подчинено текущему.
//		Если в качестве параметра передали Форму, то первое окно Редактора ТЗ будет подчинено переданной форме.
Процедура РедакторТЗ(ТЗ, Заголовок = "", Модально = Ложь, ФормаВладелец = Ложь) Экспорт
	обр = Обработки.РедакторТЗ.Создать();
	обр.РедактируемыйОбъект = ТЗ;
	Если ТипЗнч(ФормаВладелец) = Тип("Форма") Тогда
		Форма = обр.ПолучитьФорму(, ФормаВладелец);
		обр.ОткрыватьОкнаПодчиненно = Истина;
	Иначе
		Форма = обр.ПолучитьФорму();
		обр.ОткрыватьОкнаПодчиненно = ФормаВладелец;
	КонецЕсли;
	Форма.Заголовок = Заголовок;
	Если Модально Тогда
		Форма.ОткрытьМодально();
	Иначе
		Форма.Открыть();
	КонецЕсли;
КонецПроцедуры
 

  

___________002.zip ( 9 KB | Загрузки )
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: РедакторТЗ для 8. Может надо кому?
Ответ #4 - 14. Декабря 2011 :: 11:46
Печать  
А почему нельзя сделать простое?
Цитата:
РедакторТЗ = Обработки.РедакторТЗ.Создать();
РедакторТЗ.РедакторТЗ(ТЗ, Заголовок, Модально, ФормаВладелец)
?
функцию можно просто описать в модуле обработки?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: РедакторТЗ для 8. Может надо кому?
Ответ #5 - 14. Декабря 2011 :: 11:56
Печать  
В общем, в модуль обработки добавляем функцию
Цитата:
//_______________________________________________________________________
//      Параметры:
//      ФормаВладелец - Форма, Булево. Если передано Истина - каждое, открытое из текущего окна,
//            новое окно Редактора ТЗ будет подчинено текущему.
//            Если в качестве параметра передали Форму, то первое окно Редактора ТЗ будет подчинено переданной форме.
Функция РедакторТЗ(ТЗ, Заголовок = "", Модально = Ложь, ФормаВладелец = Ложь) Экспорт
     //обр = Обработки.РедакторТЗ.Создать();
     обр = ЭтотОбъект;
     обр.РедактируемыйОбъект = ТЗ;
     Если ТипЗнч(ФормаВладелец) = Тип("Форма") Тогда
           Форма = обр.ПолучитьФорму(, ФормаВладелец);
           обр.ОткрыватьОкнаПодчиненно = Истина;
     Иначе
           Форма = обр.ПолучитьФорму();
           обр.ОткрыватьОкнаПодчиненно = ФормаВладелец;
     КонецЕсли;
     Форма.Заголовок = Заголовок;
     Если Модально Тогда
           Возврат Форма.ОткрытьМодально();
     КонецЕсли;
     
     Форма.Открыть();
     Возврат Неопределено;
КонецФункции

и можно, например, написать в табло
ВнешниеОбработки.Создать("W:\ВнешниеОбработки\РедакторТЗ.epf").РедакторТЗ(Новый ТаблицаЗначений)
просто и удобно.
Ну и в отладчике 1С можно также написать.
ЗЫ ну или при встраивании в конфу совсем просто
Обработки.РедакторТЗ.РедакторТЗ(Новый ТаблицаЗначений)
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: РедакторТЗ для 8. Может надо кому?
Ответ #6 - 14. Декабря 2011 :: 12:13
Печать  
Цитата:
и можно, например, написать в табло
ВнешниеОбработки.Создать("W:\ВнешниеОбработки\РедакторТЗ.epf").РедакторТЗ(Новый ТаблицаЗначений)
просто и удобно.
Я бы не сказал, что это просто и удобно. Но ты прав, это надо в саму обработку засунуть.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: РедакторТЗ для 8. Может надо кому?
Ответ #7 - 14. Декабря 2011 :: 12:15
Печать  
ADirks писал(а) 14. Декабря 2011 :: 12:13:
Цитата:
и можно, например, написать в табло
ВнешниеОбработки.Создать("W:\ВнешниеОбработки\РедакторТЗ.epf").РедакторТЗ(Новый ТаблицаЗначений)
просто и удобно.
Я бы не сказал, что это просто и удобно. Но ты прав, это надо в саму обработку засунуть.

Леш, когда у тебя конфа на поддержке и/или ты просто делаешь какую-то внешнюю обработку/отчет, это полезная фича Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: РедакторТЗ для 8. Может надо кому?
Ответ #8 - 15. Декабря 2011 :: 01:45
Печать  
Рекомендую поглядеть на еще одну оч.полезную фичу (у себя давно встроил в конфу, хоть и под другим названием: v8 Телепат. Ее вполне можно юзать и как внешний отчет. Фишка позволяет быстро найти объект конфы или выполнить произвольный код (создав предварительно команду). Это во многих случаях может облегчить жизнь.
  
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: РедакторТЗ для 8. Может надо кому?
Ответ #9 - 15. Декабря 2011 :: 06:40
Печать  
Переделал на 8.1 на всякий случай
* Редактор() засунул в модуль обработки
+ сохранение в файл / чтение
+ переход к следующему/предыдущему значению

Код
Выбрать все
Процедура РедакторТЗ(ТЗ, Заголовок = "", Модально = Ложь, ФормаВладелец = Ложь) Экспорт
	обр = Обработки.РедакторТЗ.Создать();
	обр.Редактор(ТЗ, Заголовок, Модально, ФормаВладелец);
КонецПроцедуры
 

  

___________003.zip ( 9 KB | Загрузки )
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: РедакторТЗ для 8. Может надо кому?
Ответ #10 - 15. Декабря 2011 :: 07:37
Печать  
Леш, закинь код вызова основного метода в модуль обработки.
в начало кода.
Для удобства пользователей Редактора.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: РедакторТЗ для 8. Может надо кому?
Ответ #11 - 15. Декабря 2011 :: 07:40
Печать  
вот это
Процедура РедакторТЗ(ТЗ, Заголовок = "", Модально = Ложь, ФормаВладелец = Ложь) Экспорт
     обр = Обработки.РедакторТЗ.Создать();
     обр.Редактор(ТЗ, Заголовок, Модально, ФормаВладелец);
КонецПроцедуры

ты имеешь в виду?
или я не понял...
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: РедакторТЗ для 8. Может надо кому?
Ответ #12 - 15. Декабря 2011 :: 08:54
Печать  
Да, просто в комменты в начало модуля - типа пример вызова.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать