Есть какая- то разработка (в описании Снегопата не нашел), позволяющая видеть текст вызываемого метода в месте вызова?

1. IvanAlekseev 77 26.03.15 10:07 Сейчас в теме
Фирма 1с наплодила кучу общих модулей, которые друг друга вызывают и разобраться в реально исполняемом коде в десятках открытых окон становится очень сложно.

Было бы здорово, если при нажатии на "+" в коде, вызывающем метод, можно было "развернуть" код метода с заменой формальных параметров на фактические (ну и обратно свернуть).

Есть что-то такое?
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. spacecraft 26.03.15 10:45 Сейчас в теме
(1) IvanAlekseev, стек вызовов не устроит?
6. IvanAlekseev 77 26.03.15 11:04 Сейчас в теме
(2) и (4) нужно видеть сам КОД, чтобы было удобно читать модули.

Все вместе взятое, что видел в презентациях Снегопата не дотягивает до полезности одной этой возможности.
7. pumbaE 26.03.15 11:17 Сейчас в теме
(6) IvanAlekseev, извини но ты бред пишешь. Основной вопрос где ты будешь читать этот код? Как ты будешь располагать этот код, который больше чем 80 символов расписан, при каких условиях должна открыться одна процедура, а потом другая, на каких мониторах ты хочешь увидеть иеррархию вызовов из 11 строк поддеревьев, надо ли учитывать области для свертки, и т.д.? Огромная куча вопросов к этой реализации, при этом проще посмотреть по дереву вызовы и по ctrl+enter перейти куда надо и там сразу тоже видеть иерархию. Сможешь ответить на эти вопросы и как это расположить все, тогда можно будет говорить, как бы это реализовать.

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

Короче, ждем эклипса и готовим деньги для marketplace.
dj_serega; +1 Ответить
8. dj_serega 390 26.03.15 11:28 Сейчас в теме
(7) pumbaE,
Короче, ждем эклипса и готовим деньги для marketplace.
Во-во.
9. IvanAlekseev 77 26.03.15 11:41 Сейчас в теме
(7) Похоже вы ничего не поняли:

Программист в месте вызова метода конфигурации слева видит "+". Если нажимает на него, то раскрывается блок, в котором представлен код метода конфигурации (с заменой формальных параметров на фактические). "+" превращается в "-" и позволяет назад свернуть метод. В развернутом коде также могут быть вложенные методы конфигурации со своими "+" (которые можно также развернуть/свернуть). Никаких авторазворачиваний всего и вся разумеется не нужно. Таким образом весь код будет представлен последовательно в одном окне.

Если в одной строчке кода встречается несколько методов конфигурации (что бывает о-о-очень редко!), то их "+" с названиями самих методов можно продолжить на следующих строках (немного "раздвинуть" код для отображения различных методов).
10. pumbaE 26.03.15 11:51 Сейчас в теме
(9) IvanAlekseev, я прекрасно понял. Только еще раз вы не продумали пользовательское использование.
Нажал + на половину экрана справа открылось доп. окошко с исходником модуля - это прекрасно (тут вопросы как это окошко расположить, добавлять ли горизонтальный и вертикальный скрол, что делать если ваш курсор находиться в конце экрана справа и внизу экрана, т.е. правый нижний угол - оставим этот момент, показывать ли описание процедуры/функции из комментариев).

Теперь, что дальше мы должны сделать нажать? "-" что-бы закрыть это окошко или не закрывая перемещаемся по коду, везде где стоит курсор анализировать код и сразу обновлять процедуру? А если не хочу обновлять, надо нажимать еще какие-то клавиши? Что-бы свернуть обратно тоже надо нажимать что-то?

Сейчас, в том же снегопате "ctrl+enter" перешли, "alt -" вернулись обратно, хотим дальше посмотреть "ctrl+3" обновилась иерархия вызовов для текущей процедуры и дальше прыгаем как хотим.
12. IvanAlekseev 77 26.03.15 12:01 Сейчас в теме
(10) никаких дополнительных окон открывать не надо. Все должно раскрываться в первоначальном окне. Вы видели "+" слева у отчетов? Вот надо тоже самое в коде.

Метод конфигурации изменяется только по месту его реального расположения. Эти блоки всего- навсего позволяют удобно читать код. Можно у них немного изменить цветовую схему (например, текст показывать чуть более серым цветом), чтобы сразу было видно, что это код другого модуля.

В результате ваших прыганий в Снегопате общей картины программного кода не вырисовывается.
14. pumbaE 26.03.15 12:10 Сейчас в теме
(12) IvanAlekseev, ок, будет эклипс, будет возможность писать плагины, покажете тогда свою реализацию.
11. spacecraft 26.03.15 11:57 Сейчас в теме
(9) IvanAlekseev, Вы последние БСП смотрели? А на их основе пишутся все последние типовые. Там местами вообще нельзя посмотреть что откуда вызывается без отладки. Жалкое подобие лямбда выражений.
13. IvanAlekseev 77 26.03.15 12:08 Сейчас в теме
(11) приведите, пожалуйста, пример вызова метода конфигурации без его вызова. Очень интересно посмотреть.
15. pumbaE 26.03.15 12:11 Сейчас в теме
(13) Выполнить, Обработчик.ПередУстановкойПараметровСеанса() ...
16. spacecraft 26.03.15 12:13 Сейчас в теме
(13) IvanAlekseev,

ОбработчикиСобытия = ОбщегоНазначения.ОбработчикиСлужебногоСобытия(
		"СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки\ПриПодключенииВнешнейОбработк­и");
	
	Для каждого Обработчик Из ОбработчикиСобытия Цикл
		
		Обработчик.Модуль.ПриПодключенииВнешнейОбработки(Ссылка, СтандартнаяОбработка, Результат);
		
		Если Не СтандартнаяОбработка Тогда
			Возврат Результат;
		КонецЕсли;
		
	КонецЦикла;
Показать


Причем обработчики могут собираться в разных модулях.
18. IvanAlekseev 77 26.03.15 12:22 Сейчас в теме
(16) Я рад, что вы поняли всю полезность представления кода в одном окне. И даже 1 из 10000 случаев его невозможности вас приводит в разочарование. Не унывайте: в остальных 9999 случаев из 10000 все получится!
19. spacecraft 26.03.15 12:26 Сейчас в теме
(18) IvanAlekseev, вынужден Вас разочаровать. Половина кода в новых типовых построена на этом. И тенденция усугубляется.
20. IvanAlekseev 77 26.03.15 12:32 Сейчас в теме
(19) половина кода типовых составляет унифицированная программная работа с обработчиками событий? Что же это за типовые такие?

И главное: вы предлагаете удалить автопродолжение набора, синтакс- подсказку...., поскольку все это в подобных случаях также бесполезно?
21. spacecraft 26.03.15 12:37 Сейчас в теме
(20) IvanAlekseev, это не только обработчики событий. Обработчиком 1С назвал просто так. Слово понравилось.
22. spacecraft 26.03.15 12:38 Сейчас в теме
(20) IvanAlekseev, Вы утрируете.
3. dj_serega 390 26.03.15 10:49 Сейчас в теме
(1) IvanAlekseev, Ну разворачивание/сворачивание процедур/функций/группировок через "ctrl" + "+" или "ctrl" + "-" (соответственно).
4. pumbaE 26.03.15 10:54 Сейчас в теме
Ну прям так, что-бы показывало весь код такого нет, но вот показы иерархии вызовов - это умеет.
5. dj_serega 390 26.03.15 11:01 Сейчас в теме
17. IvanAlekseev 77 26.03.15 12:13 Сейчас в теме
На форуме есть какой-то способ добавить чудаков в игнор- лист, чтобы не видеть их сообщения?
23. IvanAlekseev 77 29.03.15 19:27 Сейчас в теме
Давайте посмотрим как сейчас выглядят модули типовых. Например, УТ 11, модуль документа "Реализация товаров и услуг", обработка проведения:

Процедура ОбработкаПроведения(Отказ, РежимПроведения)

	ПроведениеСервер.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства, РежимПроведения);

	Документы.РеализацияТоваровУслуг.ИнициализироватьДанныеДокумента(Ссылка, ДополнительныеСвойства);
	ИнициализироватьДополнительныеСвойстваНабораЗаписейВыручкаИС­ебестоимостьПродаж();
	ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);

	ЗаказыСервер.ОтразитьЗаказыКлиентов(ДополнительныеСвойства, Движения, Отказ);
	ЗапасыСервер.ОтразитьСвободныеОстатки(ДополнительныеСвойства, Движения, Отказ);
	ЗаказыСервер.ОтразитьТоварыКОтгрузке(ДополнительныеСвойства, Движения, Отказ);
	ЗапасыСервер.ОтразитьТоварыНаСкладах(ДополнительныеСвойства, Движения, Отказ);
	ЗапасыСервер.ОтразитьТоварыОрганизаций(ДополнительныеСвойства, Движения, Отказ);
	ЗапасыСервер.ОтразитьТоварыОрганизацийКПередаче(ДополнительныеСвойства, Движения, Отказ);
	ЗапасыСервер.ОтразитьТоварыПереданныеНаКомиссию(ДополнительныеСвойства, Движения, Отказ);
	ЗапасыСервер.ОтразитьУслугиКОформлениюОтчетовПринципалу(ДополнительныеСвойства, Движения, Отказ);
	ЗапасыСервер.ОтразитьДатыПередачиТоваровНаКомиссию(ДополнительныеСвойства, Отказ);
	ЗапасыСервер.ОтразитьТоварыКОформлениюОтчетовКомитента(ДополнительныеСвойства, Движения, Отказ);
	ЗапасыСервер.ОтразитьРезервыСерийТоваров(ДополнительныеСвойства, Движения, Отказ);
	ДоходыИРасходыСервер.ОтразитьСебестоимостьТоваров(ДополнительныеСвойства, Движения, Отказ);
	ДоходыИРасходыСервер.ОтразитьВыручкуИСебестоимостьПродаж(ДополнительныеСвойства, Движения, Отказ);
	ВзаиморасчетыСервер.ОтразитьРасчетыСКлиентами(ДополнительныеСвойства, Движения, Отказ);
	ВзаиморасчетыСервер.ОтразитьРасчетыСКлиентамиПоследовательность(ДополнительныеСвойства, ПринадлежностьПоследовательностям, Отказ);
	ЗаказыСервер.ОтразитьДвижениеТоваров(ДополнительныеСвойства, Движения, Отказ);
	МногооборотнаяТараСервер.ОтразитьПереданнуюВозвратнуюТару(ДополнительныеСвойства, Движения, Отказ);	
	
	СкладыСервер.ОтразитьДвиженияСерийТоваров(ДополнительныеСвойства, Движения, Отказ);
	
	ЗапасыСервер.ОтразитьОбеспечениеЗаказов(ДополнительныеСвойства, Движения, Отказ);

	ВзаиморасчетыСервер.ОтразитьСуммыДокументаВВалютеРегл(ДополнительныеСвойства, Движения, Отказ);
	
	ЗатратыСервер.ОтразитьПроизводственныеЗатраты(ДополнительныеСвойства, Движения, Отказ);
	ЗатратыСервер.ОтразитьПроизводственныеЗатратыПоследовательность(ДополнительныеСвойства, ПринадлежностьПоследовательностям, Отказ);
	
	//Сложный учет НДС
	ДоходыИРасходыСервер.ОтразитьНДССостояниеРеализации0(ДополнительныеСвойства, Движения, Отказ);
	ДоходыИРасходыСервер.ОтразитьНДСЗаписиКнигиПродаж(ДополнительныеСвойства, Движения, Отказ);
	
	// Движения по оборотным регистрам управленческого учета
	УправленческийУчетПроведениеСервер.ОтразитьДвиженияНоменклатураНоменклатура(ДополнительныеСвойства, Движения, Отказ);
	
	ЗапасыСервер.ОтразитьТоварыКОформлениюИзлишковНедостач(ДополнительныеСвойства, Движения, Отказ);
	
	СформироватьСписокРегистровДляКонтроля();

	ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);
	
	ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);

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


Посмотрите, как много вызовов внешних методов! При проведении последней реализации (УУЦУ-000002 от 20.12.2014 12:00:00) из демо- версии у меня открылось 38 (тридцать восемь) окон с внешними модулями. Неужели удобно работать с таким количеством окон?
Прикрепленные файлы:
Оставьте свое сообщение
Вакансии
Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день

Программист 1C
Волгоград
зарплата от 200 000 руб.
Полный день

Аналитик
Санкт-Петербург
зарплата от 200 000 руб. до 250 000 руб.
Полный день