Последние сообщения

#1
7.7 / Re: Обсуждение накопленного
Последний ответ от Харлампий Дымба - Сегодня в 22:14
Цитата: cr от Сегодня в 00:20Отладчик в руки и вперед
Сообщением выше - тестовый стенд. Там ровно 8 строчек на 2 модуля, из них только две строчки выполняют инструкцию. В какую строку нужно поставить точку останова и какой параметр отследить? Да и как это поможет?

Ежу понятно, что корень зла в том, что дочерняя форма закрывается позже родительской. Но ведь вся соль в том, что это только одно из пяти условий. Если любое из остальных четырех не выполнено - никакой ошибки нет, дочерняя форма спокойно закрывается при несуществующей уже родительской.

Универсальная заглушка на ошибку - с помощью Formex + недокументированного КонтекстПодбора:
Процедура Глобальная_ПриЗакрытии(Конт)
	Если ТипЗначения(Конт.КонтекстПодбора) = 100 Тогда // может быть стоит обернуть в Попытку
		Если Конт.КонтекстПодбора.Форма.РежимВыбора() = 2 Тогда
			СтатусВозврата(0);
		КонецЕсли;	
	КонецЕсли;	
КонецПроцедуры


#2
Дружественные проекты / Re: Внешняя компонента 1CMCP
Последний ответ от alyuev - Сегодня в 11:49
Я давал ранее задание Клоду научиться работать с компаунд файлами - MD и ert. Для этого он разработал себе скрипты и запомнил в своих навыках и теперь он сам налету разбирает до нужного модуля, достает что ему нужно, правит, собирает обратно и проверяет через MCP свою работу.
#3
7.7 / Re: Обсуждение накопленного
Последний ответ от cr - Сегодня в 00:20
Если в форме подбора есть ПриЗакрытии(), то после захода в неё, курсор вернется обратно в "родительскую" форму (скорее всего, на строку "родительской" формы следующую после ОткрытьПодбор(), но может, еще куда-то, ПриПовторномОткрытии(), например), а если "родительской" формы уже нет, курсору некуда вернуться и он роняет 1С.
Отладчик в руки и вперед ...
#4
7.7 / Re: Обсуждение накопленного
Последний ответ от Харлампий Дымба - Вчера в 23:40
Цитата: cr от Вчера в 19:49Чё как дети?
Не, ОбработкаВыбораСтроки() тут тоже не причём.
Но и у меня чё-то поплыли все рассуждения тоже. Многоуровневость оказывается не обязательна, проблема возникает если форму подбора дернуть из родительской формы после ОткрытьПодбор() по любому поводу, а в форме подбора (обычная форма списка справочника) есть процедура ПриЗакрытии.

Стенд:
Справочник.Новый1 - все установки по умолчанию, форма списка со следующим модулем:
Процедура ПриЗакрытии() //если нет этой процедуры - ошибки не будет
//код есть или кода нет - не важно
КонецПроцедуры
Отчет.Новый1 - все установки по умолчанию, модуль формы:
Процедура Сформировать()
    Перем ФормаПодбора;
    ОткрытьПодбор("Справочник.Новый1",,ФормаПодбора,1);//если 0 - ошибки не будет
    ФормаПодбора.Сортировка("Код"); //если нет обращения к форме - ошибки не будет                                    
КонецПроцедуры

Запускаем Отчет.Новый1, нажимаем Сформировать, выводим форму отчета на передний план, Окна-Закрыть все, падаем.

Цитата: Злоп от Вчера в 21:57если выяснится что вход в ПриЗакрытии успешен - то дальше можно пытаться играться с контекстом родительской формы
Вход-то успешен, только вот родительской формы уже не существует, так что играться не с чем и мы в любом случае свалимся в ошибку. Есть вариант избежать, но абсолютно некрасивый.

#5
Цитата: alyuev от Вчера в 16:52https://github.com/alyuev/1cv7_mcp

Всем привет. Тем, кто пытается что-то делать с 7.7 с помощью ИИ - предлагаю эту ВК. Она поднимает MCP сервер внутри самой 1Ски. Есть страница настроек компоненты.
Передаете эти данные ИИ-агенту и он сможет запускать, закрывать, нажимать кнопки, выполнять код, в том числе в модуле форм - в общем разрабатывать и тестировать.


Добрый, я для работы с 77 юзаю Cursor и turboMD. в качестве папки проекта даю курсору папку unpack (в которую turboMD выгружает модули)
и получается что Cursor напрямую онлайн пишет код
#6
7.7 / Re: Обсуждение накопленного
Последний ответ от Злоп - Вчера в 21:57
для начала надо выяснить валится на ПриЗакрытии() - на каком этапе? вход в процедуру успешен, валится на завершении? или как? если выяснится что вход в ПриЗакрытии успешен - то дальше можно пытаться играться с контекстом родительской формы, которую передавать через параметры при вызове подбора
#7
Понятно что здорово, но здорово непонятно..
#8
7.7 / Re: Обсуждение накопленного
Последний ответ от cr - Вчера в 19:49
Чё как дети?
Есть 2 способа организации подбора. Обычный и специальный.
Можно просто ОткрытьПодбор() и здесь же (в "родительской" форме) в предопределенной процедуре ОбработкаПодбора() задать действия с выбранной строкой из списка подбора. Так чаще всего и делается, при этом если режим НЕполноэкранный и сделать видимыми в окне обе формы (и "родительскую" и форму списка), видно как при выборе строки в форме подбора, она сразу "попадает" в "родительскую" форму. В каком порядке эти формы будут закрываться - по барабану.
А можно иначе. Если в форме подбора в ПриОткрытии() установить ОбработкаВыбораСтроки() в 1, ОбработкаПодбора() в "родительской" форме срабатывать не будет, зато в форме подбора начнет срабатывать предопределенная процедура ПриВыбореСтроки(), в которой и задаются действия с выбранной строкой. В этом варианте подобранные значения из формы подбора автоматически "отправляются" в "родительскую" форму из ПриЗакрытии() (- а как еще-то?). 1С валится из ПриЗакрытии() формы подбора, когда совершает там недопустимую операцию с закрытой "родительской" формой.
#9
Дружественные проекты / Re: Внешняя компонента 1CMCP
Последний ответ от alyuev - Вчера в 16:57
Да, Альфу спасибо за исходники Formeх. Оттуда взяты приемы подсветки реквизитов формы и самой формы. И сделано это в виде анимации. Т.е. не просто нарсован прямоугольник, а с плавным появлением, акцентированием (подмигиванием), плавным затуханием. Можно также посвечивать кнопки в панели или в меню. Также работа с открытыми формами взята из Formex. Так что - низкий поклон тебе, Альф.

Можно ИИ попросить, чтобы демо показал через MCP.
#10
Дружественные проекты / Внешняя компонента 1CMCP
Последний ответ от alyuev - Вчера в 16:52
https://github.com/alyuev/1cv7_mcp

Всем привет. Тем, кто пытается что-то делать с 7.7 с помощью ИИ - предлагаю эту ВК. Она поднимает MCP сервер внутри самой 1Ски. Есть страница настроек компоненты.
Передаете эти данные ИИ-агенту и он сможет запускать, закрывать, нажимать кнопки, выполнять код, в том числе в модуле форм - в общем разрабатывать и тестировать.