Версия для печати темы (http://pro1c.org.ua/index.php?s=1f39731cb752bff84f66f06d23ab9da4&showtopic=51384)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Подпись на событие открытия указанной формы. Возможно ли это в системе 1С?

Автор: Gigi 05.04.19, 9:59

Всем привет!
Вообще на этом сайте иногда подкапывают за то что иногда задаю слишком простые вопросы.
На пример в своем ответе пишут:"кухарь"... намекая на то, на что мне как раз ну просто ДО ЛАМПОЧКИ.
В особенности в тех случаях когда как раз этому "кухарю" ... с гораздо меньшим опытом, в свое время, в своей собственной практике, почему то слишком часто, удавалось сделать гораздо разумнее и профессиональнее, чем хваленному и опытному ... аж с 25-ти летним стажем... и точно не "Кухарю".
Поэтому я вижу что на этом сайте слишком акцентируют внимание на объем знаний ... и даже делают из этого аж целый культ. Не понимая, что книг то много можно на своем веку прочитать. Но при этом лениться и даже разучиться вообще думать собственной головой. И в результате, даже при своих не малых знаний все делать через ж@у. smile.gifsmile.gif)) Как когда то у одного знакомого получилось ... который так же думал.
Но ладно... что бы там не говорили и как бы не подкапывали .. ДО ЛАМПОЧКИ.
Поэтому я и тут опять задам до предела простой вопрос.
Который как раз имеет отношение к тому насколько сама система 1С не для "Кухарей" наверно?
И можете это прямо тут же доказать уважаемые... настолько это не так.
И доказать ответив на до предела простой вопрос... На пример на следующий:
КАК УСТАНОВИТЬ ПОДПИСЬ НА СОБЫТИЕ ОТКРЫТИЯ УКАЗАННОЙ ФОРМЫ... ФормыОбъекта, ФормыСписка .. не важно.
Дело в том, что есть очень удобная фишка "Подпись на событие", где можно опционально ее установить указав: объект, источник, событие и процедуру.
Но это для объектов. А нужно то же самое но для событий разных форм.
Поэтому вопрос в том не могли бы мне подсказать ГДЕ ЭТО В СИСТЕМЕ? ПОКАЖИТЕ МНЕ ПОЖАЛУЙСТА?
А за одно окончательно убедите меня что дать понять машине, что форма открыта или закрыта и т.д. это НЕ ЦЕЛАЯ ПРОБЛЕМА в системе 1С!
Буду признателен!
И извините за другое тематическое сопровождение темы.

Автор: Petre 05.04.19, 10:17

Нет такой возможности.

Автор: Gigi 05.04.19, 10:23

Petre @ Сегодня, 10:17 * ,
Ну вот видите уважаемые...
Может я слишком многое требую... хотя вопрос до предела простой..
И может и в других подобных системах тоже этого просто нет.
Но это совсем не оправдывает систему 1С.
Я почему так к ней беспощаден..
Потому что на слишком популярна. И ею пользуются поголовно.
А раз так она должна быть еще круче чем есть.
Но ладно ... нет так нет.
Спасибо за четкий ответ.
И еще раз извините за опять откровение smile.gifsmile.gif

Автор: nik389 05.04.19, 12:07

Цитата(Gigi @ 05.04.19, 10:23) *
А раз так она должна быть еще круче чем есть.

кому должна? Вам лично?)
реализуйте свою систему подписок, с покером и куртизанками, если так нужно.. в чем проблема?

Автор: Gigi 05.04.19, 13:05

nik389 @ Сегодня, 12:07 * ,
С куртизанками не имею дело smile.gifsmile.gif И с покером тоже ... Вот в чем проблема. smile.gifsmile.gif
Уже реализовал ... правда не путем подписок которые есть только на объекты. Что конечно очень удобно ...
http://pro1c.org.ua/redirect.php?http://programmist1s.ru/podpiska-na-sobyitie-1s/
http://pro1c.org.ua/redirect.php?https://wonderland.v8.1c.ru/blog/vse-podpiski-na-sobytiya/
А другим путем... через рег. сведений.
Создал рег. сведений ...ну на пример с именем: "СейвПользвателей". с двумя измерениями: "ТекущийПользователь" и "IP"
Первое измерение записывает имя текущего пользователя, второе IP машины.
А ресурсы могут быть разные ... какие угодно.
И это для разных настроек не только индивидуально для каждого пользователя (С которым могут работать несколько служащих), но индивидуально и для каждой машины.
В таком случае один из ресурсов может быть как раз текущая открытая форма у пользователя. Которая что главное и будет фиксироваться в регистре только для него индивидуально. А уже после для чего это нужно это другой вопрос. Т.е. все это можно записывать в регистр и получать из него.
Ну согласитесь ... мне нужно было так извиваться и изобретать как это сделать. И вообще думать о решении вопроса. Думать о том, как дать понять машине какую форму пользователь открыл и какую закрыл. Нужно было мне это ... С этим париться.
А если было бы хотя бы указанное в теме подписка на событие для указанных форм ... хотя бы только события формы.. без зависимости от пользователя и IP. В таком случае жизнь программиста была бы гораздо проще.
Так что не мне это нужно лично... а всем тем вообще.. которые желают что бы было все по быстрому и без лишнего гема.
Вот и вся суть вопроса.
Ладно! Еще раз спасибо всем!
Пока!





Автор: Gigi 05.04.19, 14:34

Gigi @ Сегодня, 13:05 * ,
Хотя стоп... пардон... пока не пока.
Добавлю к тому то, что к всему выше сказанному единственное что нужно добавить это опять таки событие открытия любой формы. Что бы было что фиксировать в рег:"СейвПльзователя". Так как это необходимо для разных целей.
Поэтому если в системе 1С была бы подписка на событие открытия форм то это существенно упрощало бы многие задачи. И не требовало бы каждом модуле формы писать код в событии "ПриОтктрытии".
Поэтому нужно просто как то зафиксировать то что пользователь открыл форму. И для случая моей цели не указанную, а любую ... любую форму... всего лишь. Для того, что бы записать ее адрес в в рег. при ее открытии и стереть при закрытии. Вот что надо.
И это еще раз повторяю ... без необходимости че то писать в модуле каждой конкретней формы.
Здесь было сказано о реализации своей системы подписок... и еще говорилось о куртизанках и о покере тоже smile.gifsmile.gif
Но мне не куртизанки не покер и не пукер не нужны smile.gifsmile.gif А нужно решить простой вопрос . И ничего больше.
Так что, буду признателен за варианты решения задачи!

Автор: sava1 05.04.19, 17:51

Цитата(Petre @ 05.04.19, 11:17) *
Нет такой возможности.

для УФ есть ОбработкаПолученияФормы

Автор: Егор Динин 05.04.19, 19:31

Цитата(Gigi @ 05.04.19, 10:59) *
А нужно то же самое но для событий разных форм.

В чем проблема закинуть процедуру в общий модуль и вызвать одной строчкой из формы?
Прям такой уже кипеш стоит на весь форум.

Автор: Petre 08.04.19, 8:24

QUOTE (sava1 @ 05.04.19, 17:51) *
для УФ есть ОбработкаПолученияФормы

Да, есть. Для УФ есть еще ОбработкаПолученияДанныхВыбора. Там много есть того, чего нет для ОФ.

Автор: Gigi 08.04.19, 8:57

Егор Динин @ 05.04.19, 19:31 * ,
Да сделал я именно так изначально... и это и вовсе до создания этой темы на форуме. С разницей в том, что на этот раз в реге сведений не два а уже три измерения.
Поэтому ну конечно ... какие проблемы... тем более другого выбора ведь нет.
Так что, что бы машина понимала какая форма открыта и какая закрыта ... нужен рег сведений с тремя измерениями.
Текущий пользователь, IP и Адрес формы ..
И процедура... на пример с именем: "ЗаписатьОчиститьРегистрОткрытыхФорм(ЗаписьОчистка)" которую закинул в общий модуль ... Нет проблем.
Но проблема та не в этом а в том, что .... ну согласитесь ... эту процедуру, пусть даже одной строкой нужно вписывать в событие каждой формы... я не оговорился ... В КАЖДОЙ... Вы хоть врубаетесь что это означает ... и какой это гем.
21 век на дворе ...
Т.е. если количество форм в конфигурации 10 или 20 это еще ничего. А если их 100 или 200 тогда как?
Сидеть и как дурак заниматься этой фигней да? ))))
Даааа ... сильно ...
Еще раз повторяю 21-ый век на дворе.
Не говоря уже том, если форм и вовсе 1000 smile.gifsmile.gif это уже просто караул ))
И главное так нужно поступать при создании каждой новой формы ... надо же.
Так что, на этом сайте иногда просто забывают о том, что КЛИЕНТ ВСЕГДА ПРАВ.
Если разработчики почаще это понимали бы, жизнь была бы гораздо проще.
Так же как жизнь программиста если в системе 1С, на пример была бы такая фишка как подпись на события форм ...
В таком случае ... согласитесь .. это существенно упрощало бы вопрос.
И в таком случае не требовало бы от программиста заниматься ерундой. В таком случае в этом не было бы никакой надобности.
Так что клиент всегда прав.



Цитата(Petre @ 08.04.19, 8:24) *
Да, есть. Для УФ есть еще ОбработкаПолученияДанныхВыбора. Там много есть того, чего нет для ОФ.

А где эта обработка ... я ее че то не вижу.... в системе ее помоему и нет.
Вы имеете ввиду то что эту обработку нужно где то скачать?
В системе нет такой фишки.

Автор: sava1 08.04.19, 9:07

в подписках для УФ

Автор: Gigi 08.04.19, 9:35

Не вижу ее



Ладно!
Спасибо всем!
Проехали ... забыли.
Нет так нет..


Автор: sava1 08.04.19, 11:57

подписка для менеджера

Автор: Gigi 08.04.19, 12:59

sava1 @ Сегодня, 12:57 * ,
Как говориться ... Ну Вы блин даете
Где вы были раньше уважаемые? smile.gifsmile.gif
Подпись на событие
Источник-<Метаданные>Менеджер
Событие: "ОбработкаПолученияФормы"
обработчик: на пример: "СобытияФормы.ПодпискаНаСобытие1ОбработкаПолученияФормы"

Процедура ПодпискаНаСобытие1ОбработкаПолученияФормы(Источник, ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка) Экспорт
    Сообщить(Источник);
    Сообщить(ВидФормы);
КонецПроцедуры

А то я думал, каким боком такая фишка может отсутствовать в 21-ом веке. smile.gifsmile.gif
Цитата(Petre @ 05.04.19, 11:17) *
Нет такой возможности.

Изначально если в таком указанном стиле ... то разве было бы столько негодования.
Просто в ответ...
Подпись на событие/Источник-<Метаданные>Менеджер

И все... все что было нужно.... и так с самого начала... ну Вы блин даете smile.gifsmile.gif
Кстати до выхода на форум смотрел туда... в эти менеджеры... просто когда увидел что не для клиента то думал что не подойдет.
Теперь каюсь... напрасно я так в адрес системы ... сам удивлялся ... потому что понимал, что такая фишка должна была существовать в системе 1С. В нашу то эпоху ... мало вероятно что ее нет. Так что напрасно...
Ладно! Спасибо...


Gigi @ Сегодня, 13:52 * ,
И наконец то ... Гуууу.... ЭТО ВСЕ ЧТО БЫЛО НУЖНО ... блин... Всего лишь....И без этих негодовавший и эмоций и прочего на фиг не нужного.
Ладно! Всем гигантское спасибо...
Пока!

Автор: Petre 08.04.19, 13:13

Gigi @ Today, 12:59 * ,
Подписок на события формы в 1с не существует.
Событие менеджера "ОбработкаПолученияФормы" будет срабатывать не во всех случаях открытия формы. Он предназначен для других целей.
Но для вас, думаю, подойдет. Учитывая ваш подход к разработке, действительно, в самый раз... 12201689.gif

Автор: Gigi 08.04.19, 13:49

Petre @ Сегодня, 14:13 * ,
Гууу ... да какой такой подход.
У меня подход нормальный ... правда не такой как у некоторых ... через кое что...
мне просто нужно зафиксировать открытие формы и точка... ничего мне больше не надо.
А в каких случаях ОбработкаПолученияФормы не сработает.
Я вроде тестил поткрывал пару .. все нормально сообщает..

Источник СправочникМенеджер.<МетаИмя>
ВидФормы: ФормаОбъекта

Так в каких случаях не сработает?

Автор: sava1 08.04.19, 13:50

Если при открытии ПРЯМО указывать форму (типо ОткрытьФорму(".....Форма.Форма..")

Автор: Gigi 08.04.19, 14:14

sava1 @ Сегодня, 14:50 * ,
Понятно ..!
Кстати это первая мысль которая возникла когда увидел сообщение Источник/Тип формы
Я тогда так и подумал и догадывался что так и есть...
Значит работает только если

ОткрытьФорму("<МетаГруппа>.<МетаИмч>.<ФормаИмя>")

А если
ОткрытьФорму("<МетаГруппа>.<МетаИмч>.<Форма>.<ФормаИмя>")

то значит нет. Если правильно понял.
Если так то... ладно .. да хоть пусть так. И тому рад smile.gifsmile.gif Если вообще не был бы такой фишки то караул.
Ну по крайней мере в тех случаях когда .<Форма>.<ФормаИмя>" можно после команды: ОткрытьФорму() данные формы тут же принудительно записывать в рег. Но ведь не всякий раз так надо поступать ....
Так что пойдет.

Gigi @ Сегодня, 15:07 * ,
Ладно! Всем спасибо!

Автор: Gigi 09.04.19, 13:42

Gigi @ Вчера, 14:14 * ,
Вынужден опять вернуться к этой теме ... О Господи... как надоела вся эта хрень уже. И вся эта топотня на одном месте.
Куда не глянь один сплошной гем.... а еще на дворе век 21 ... ТУПИЗМ!
Короче .... дело в том, нужно фиксировать, как говорил, не только открытие но и закрытие.
Открытие фиксировать возможно через

Подпись на событие
Источник-<Метаданные>Менеджер

А как же закрытие?
И где же событие не только получения формы, но и ЗАКРЫТИЯ..
О Господи ....
Ауууу .. короче сил больше нет.
Выходит событие получения формы есть, а закрытия нет что ли?
Думаю что скорее всего нет... потому что ничего такого не увидел в списке событий.

Короче я вижу что поднятая мной и уже настодербенившая всех и меня в первую очередь тема действительно соответствен ее описанию.
Надо же а? Нужно всего лишь ЗАФИКСИРОВАТЬ ОТКРЫТИЕ И ЗАКРЫТИЕ ЛЮБОЙ ФОРМЫ. Т.е. какую форму пользователь открыл и какую закрыл. Вот все что надо... всего лишь.
И это оказывается в системе 1С сложнее запуска космо-модуля на орбиту ... надо же а...
И еще мне тут было сказано о каком то видишь ли не таком подходе к вопросу.
Что конечно у меня вызывает только иронию..
Какой это не такой подход уважаемые ... когда нужно аж до смеха простой вопрос. ... Записать открытие и закрытие пользователем любой формы.
Это не у меня тот подход, а у других .... имею ввиду у самих разработчиков системы 1С. Которым уже явно и давно нужен конкурент.
Это для того, что бы вообще шевелились и по-интенсивнее развивались. И что бы не злоупотребляли тем, что этой системой все поголовно итак пользуются.
Ладно... не буду...

.... если нет то нет ...
И нет смысла и комментировать.
А если есть то буду признателен.
И признателен вообще за любой совет и вариант решения вопроса о том, как фиксировать открытие-закрытие форм.
И не важно каким путем и с каким "подходом" ))) ...стационарным или портативным smile.gifsmile.gif )))

Автор: Petre 09.04.19, 13:44

Не помню, говорил ли я несколько раз, что подписок на события формы в 1с не существует...

Автор: Gigi 09.04.19, 13:52

Petre @ Сегодня, 13:44 * ,
Ладно... это я помню ... но просто думал если что то можно использовать не по назначению для фиксации открытия то так же можно и для закрытия.
Но видимо нет... Тогда какой смысл.
Выходит закрытие придется фиксировать в самих формах ... которых может быть вообще 100 и больше
Но ладно ... забыли ... нет так нет.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
http://pro1c.org.ua