powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / программное отлавливание событий
25 сообщений из 29, страница 1 из 2
программное отлавливание событий
    #35397482
svaroha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите советом.
УПП, 8.1
Задача стоит вот в чем:
на форме элемента находится реквизит "ОтражатьВБухУчете", флаг. При интерактивном нажатии запускает процедуру "ПриИзмененииОтражатьВБухУчете(Элемент)". Процедура не экспортная, находится в модуле формы. В процедуре есть строка кода, которая требует от пользователя интерактивно ответить на вопрос. Если ответ положителен, то табличная часть заполняется счетами учета.

Код: plaintext
1.
2.
3.
Ответ = Вопрос(?(ОтражатьВБухгалтерскомУчете, "Установить", "Очистить") + 
					" реквизиты бухгалтерского и налогового учета" + 
					?(ОтражатьВБухгалтерскомУчете, " в соответствии со значениями по умолчанию?","?"), 
					РежимДиалогаВопрос.ДаНет, , , "Изменения реквизитов учета");

Я хочу прогнать ряд документов (запросом выбираю, получаю объект, форму) с тем, чтобы заполнить по умолчанию документ данными регламентированного учета (щас только по управленческому все идет).
Есть две проблемы:
1) Если процедура не экспортная, каким образом достучатся к ней из модуля внешней обработки.
2) Каким образом отловить и ответить на "Вопрос". Или каким образом передать значение в вопрос "КодВозвратаДиалога.Да" и продолжить выполнение процедуры.
С уважением, Сергей
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35397530
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svarohaПомогите советом.
УПП, 8.1
Задача стоит вот в чем:
на форме элемента находится реквизит "ОтражатьВБухУчете", флаг. При интерактивном нажатии запускает процедуру "ПриИзмененииОтражатьВБухУчете(Элемент)". Процедура не экспортная, находится в модуле формы. В процедуре есть строка кода, которая требует от пользователя интерактивно ответить на вопрос. Если ответ положителен, то табличная часть заполняется счетами учета.

Код: plaintext
1.
2.
3.
Ответ = Вопрос(?(ОтражатьВБухгалтерскомУчете, "Установить", "Очистить") + 
					" реквизиты бухгалтерского и налогового учета" + 
					?(ОтражатьВБухгалтерскомУчете, " в соответствии со значениями по умолчанию?","?"), 
					РежимДиалогаВопрос.ДаНет, , , "Изменения реквизитов учета");

Я хочу прогнать ряд документов (запросом выбираю, получаю объект, форму) с тем, чтобы заполнить по умолчанию документ данными регламентированного учета (щас только по управленческому все идет).
Есть две проблемы:
1) Если процедура не экспортная, каким образом достучатся к ней из модуля внешней обработки.
2) Каким образом отловить и ответить на "Вопрос". Или каким образом передать значение в вопрос "КодВозвратаДиалога.Да" и продолжить выполнение процедуры.
С уважением, Сергей

А зачем программно отвечать на то, что выполняется интерактивно? Это ведь не весь код, выполнить то что должно произойти по определенному значению "Ответ" - религия мешает?
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35397829
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господин ПЖ svarohaПомогите советом.
УПП, 8.1
Задача стоит вот в чем:
на форме элемента находится реквизит "ОтражатьВБухУчете", флаг. При интерактивном нажатии запускает процедуру "ПриИзмененииОтражатьВБухУчете(Элемент)". Процедура не экспортная, находится в модуле формы. В процедуре есть строка кода, которая требует от пользователя интерактивно ответить на вопрос. Если ответ положителен, то табличная часть заполняется счетами учета.

Код: plaintext
1.
2.
3.
Ответ = Вопрос(?(ОтражатьВБухгалтерскомУчете, "Установить", "Очистить") + 
					" реквизиты бухгалтерского и налогового учета" + 
					?(ОтражатьВБухгалтерскомУчете, " в соответствии со значениями по умолчанию?","?"), 
					РежимДиалогаВопрос.ДаНет, , , "Изменения реквизитов учета");

Я хочу прогнать ряд документов (запросом выбираю, получаю объект, форму) с тем, чтобы заполнить по умолчанию документ данными регламентированного учета (щас только по управленческому все идет).
Есть две проблемы:
1) Если процедура не экспортная, каким образом достучатся к ней из модуля внешней обработки.
2) Каким образом отловить и ответить на "Вопрос". Или каким образом передать значение в вопрос "КодВозвратаДиалога.Да" и продолжить выполнение процедуры.
С уважением, Сергей

А зачем программно отвечать на то, что выполняется интерактивно? Это ведь не весь код, выполнить то что должно произойти по определенному значению "Ответ" - религия мешает?Думал отписываться или нет А что мешает в вопросе поставить ответ по умолчанию и время через которое ответ будет выбран автоматически....
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35397830
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1сДумал отписываться или нет А что мешает в вопросе поставить ответ по умолчанию и время через которое ответ будет выбран автоматически....

жжоте... в цикле по документам сидеть и ждать таймаута вопроса... давайте тогда еще предупреждение в проведении для полного счастья
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35397955
svaroha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Религия не позволяет, так как я перебираю с 10 видов документов (реализации, возвраты, поступление, перемещения, все документы, где есть табличная часть "товары" и т.д.). Получается, в каждом документе править модуль, что я считаю не совсем правильным.
Можно непосредственно вызывать из внешней обработки заполнение табличной части счетами учета(собственно вызов тех процедур, которые вызываются в модуле процедуры ПриИзмененииОтраженияВБухУчете), но я бы хотел попытатся вызвать и отработать модуль из внешней обработки, при этом отловить все выскакивающие окна (ответ на "вопрос" о заполнении табличной части счетами бухучета, также еще в интерактивном режиме вызывается вопрос "Данные бали изменены. Записать документ?".
Хотелось бы узнать методы, с помощью которых возможно решить данную задачу.
С уважением, Сергей
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35397972
svaroha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдогонку. Почему хочу использовать именно типовые процедуры УПП.
Так, как в табличной части "Товары" могут быть товары, материалы, продукция, МБП, которые учитываются на разных счетах учета, то в модуле обработки ставить кучу проверок на признак того, что это за товар (товар, услуга, материал, собственные, покупаемые) и на основании этого подставлять требуемый счет учета, "Статья прироста/убыли запасов" считаю неправильным.
У меня заполнен регистр сведений "Товары организаций", откуда и берется информация о счетах учета по умолчанию. Из процедуры "ПриИзмененииБухУчета()" вызывается функция, которой передается товар из табличной части, а возвращает именно счета учета, и сама же корректно подставляет в табличную часть.
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35398194
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svarohaРелигия не позволяет, так как я перебираю с 10 видов документов (реализации, возвраты, поступление, перемещения, все документы, где есть табличная часть "товары" и т.д.). Получается, в каждом документе править модуль, что я считаю не совсем правильным.
Можно непосредственно вызывать из внешней обработки заполнение табличной части счетами учета(собственно вызов тех процедур, которые вызываются в модуле процедуры ПриИзмененииОтраженияВБухУчете), но я бы хотел попытатся вызвать и отработать модуль из внешней обработки, при этом отловить все выскакивающие окна (ответ на "вопрос" о заполнении табличной части счетами бухучета, также еще в интерактивном режиме вызывается вопрос "Данные бали изменены. Записать документ?".
Хотелось бы узнать методы, с помощью которых возможно решить данную задачу.
С уважением, СергейНет слов. Ну тогда еще вариант - эмулируйте нажатие клавиши "да". В данном случае - не средствами 1с.
Интересно если программист не хочет поправить 10 строчек в модуле - то кто он? А ведь потом их можно и на место вернуть... А что за религия при которой данное действие является неправильным?
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35398234
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1сНет слов. Ну тогда еще вариант - эмулируйте нажатие клавиши "да". В данном случае - не средствами 1с.
Интересно если программист не хочет поправить 10 строчек в модуле - то кто он? А ведь потом их можно и на место вернуть... А что за религия при которой данное действие является неправильным?

поставить рядом комп на линуксе с видеокамерой. Периодически снимать экран сервера с запущенной УПП и если там вопрос "Да/Нет?" - выдвигать лоток сидюка и давить в "Ентер"...
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35398262
svaroha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
Нет слов. Ну тогда еще вариант - эмулируйте нажатие клавиши "да". В данном случае - не средствами 1с.
Интересно если программист не хочет поправить  10  строчек в модуле - то кто он? А ведь потом их можно и на место вернуть... А что за религия при которой данное действие является неправильным?

Да могу я поправить...Но я же написал выше, что это надо поправить не в одном документе. Да даже не проблема и поправить и в 10 документах, не проблема во внешней обработке использовать вызов процедур, которые присутствуют в модуле ПриИзмененииБух...
Мне нужно узнать, есть ли какие способы, чтобы отловить подобные констукции "Вопрос" средствами 1С... Для развития, если подскажете другие внешние компоненты, буду благодарен...
Но повторяюсь, хотелось бы именно штатными средствами 1с отловить, нажать на кнопку "ок", "согласен" или другие подобные.
п.с. и почему, если пробуешь что то изучить или же упростить обработку, так сразу - " программист не хочет поправить 10 строчек в модуле - то кто он"??
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35398277
svaroha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Интересно если программист не хочет поправить  10  строчек в модуле - то кто он? А ведь потом их можно и на место вернуть
А этого я уже не понимаю...Для меня внешняя обработка - это та, которую запускаешь и она делает требуемые действия, а не "Перед употреблением - перемешайте, после употребление верните все обратно".
Еще один ньюанс забываете - распределенные базы данных(в моем случае) ...на центральной базе делаем изменение модуля - и во все филиалы отсылаем, потому как они не примут изменение, информации от них х...получишь (модули различаются).
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35398297
svaroha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
поставить рядом комп на линуксе с видеокамерой. Периодически снимать экран сервера с запущенной УПП и если там вопрос "Да/Нет?" - выдвигать лоток сидюка и давить в "Ентер"...
ну отлично, все посмеялись...а вот реальных предложений к заданому вопросу как не было, так и нет...
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35398370
VitGun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да закомментируй ты эту строку в модуле и все...

"Всегда есть способ сделать то, что сделать невозможно"
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35398423
svaroha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
да закомментируй ты эту строку в модуле и все...

"Всегда есть способ сделать то, что сделать невозможно"

Я уже писал, что можно бы, но это далеко не в одном документе...Да и принцип интересен, можно ли так сделать (ответить на "вопрос") или нельзя.
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35399136
Terv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Вызвать не экспортную процедуру формы средствами 1С возможно
2. Штатными средствами ответить на вопрос нельзя
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35399212
svaroha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
 1 . Вызвать не экспортную процедуру формы средствами 1С возможно
 2 . Штатными средствами ответить на вопрос нельзя

А подскажите пример вызова не экспортной процедуры. Очень хочется попробовать...
2. А какими именно?? интересно..нету примеров или же ссылок??
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35399259
Terv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оригинальную ветку не нашел ... там для 7ки, но нечто не мешает переложить на 8ку (я это делал)

http://www.forum.mista.ru/topic.php?id=228572&forum=1c&area=prog
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35399274
Terv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот нашел свое для 8ки

Перем мФорма;
Перем Индекс;

Процедура Прекратить()

мФорма.ОтключитьОбработчикОжидания("СуммаДокументаПриИзменении");
ДокументОбъект = мФорма.ДокументОбъект;
ДокументОбъект.Записать();
мФорма.Закрыть();
ОтключитьОбработчикОжидания("Прекратить");
Индекс = Индекс + 1;
ОбработатьСтроку();

КонецПроцедуры

Процедура ОбработатьСтроку(СсылкаНаДокумент)

СсылкаНаДокумент = ТЗ_Строка.Ссылка;
ДокументОбъект = СсылкаНаДокумент.ПолучитьОбъект();
мФорма = ДокументОбъект.ПолучитьФорму("ФормаДокумента");
мФорма.Открыть();
ПодключитьОбработчикОжидания("Прекратить",2);
мФорма.ПодключитьОбработчикОжидания("СуммаДокументаПриИзменении",1);

КонецПроцедуры

Процедура КнопкаВыполнитьНажатие(Кнопка)

Индекс = 0;
ОбработатьСтроку();

КонецПроцедуры
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35399283
Terv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
немного не то скопировал .. вот полный оригинал

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
Перем мФорма;
Перем Индекс;

Процедура Прекратить()
	
	мФорма.ОтключитьОбработчикОжидания("СуммаДокументаПриИзменении");
	ДокументОбъект = мФорма.ДокументОбъект; 
	ДокументОбъект.Записать();
	мФорма.Закрыть();
	ОтключитьОбработчикОжидания("Прекратить");
	Индекс = Индекс +  1 ;
	ОбработатьСтроку();
	
КонецПроцедуры

Процедура ОбработатьСтроку()
	
	Если Индекс >= ТабличноеПоле.Количество() Тогда
		Возврат;
	КонецЕсли;
	
	ТЗ_Строка = ТабличноеПоле[Индекс];
	Если ТЗ_Строка = Неопределено Тогда
		сообщить(" ошибка "+Индекс);
		Возврат;
	КонецЕсли;
	
	СсылкаНаДокумент = ТЗ_Строка.Ссылка;
	ДокументОбъект = СсылкаНаДокумент.ПолучитьОбъект();
	мФорма = ДокументОбъект.ПолучитьФорму("ФормаДокумента");
	мФорма.Открыть();
	ПодключитьОбработчикОжидания("Прекратить", 2 );
	мФорма.ПодключитьОбработчикОжидания("СуммаДокументаПриИзменении", 1 );
	
КонецПроцедуры

Процедура КнопкаВыполнитьНажатие(Кнопка)
	
	Индекс =  0 ;
	ОбработатьСтроку();
	
КонецПроцедуры
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35399303
Terv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svaroha
А подскажите пример вызова не экспортной процедуры. Очень хочется попробовать...
2. А какими именно?? интересно..нету примеров или же ссылок??

вот нашел страницу автора идей
http://avb1c.narod.ru/
по 1 пункту смотрите статью "Пример вызова процедуры из другого модуля.('ноябрь 2006')"
по 2 пункту "Закрываем окно сообщений. ('декабрь 2002')"
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35399362
svaroha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Terv. Огромное тебе спасибо. Буду пробовать.
С уважением, Сергей
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35399371
Terv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svarohaTerv. Огромное тебе спасибо. Буду пробовать.
С уважением, Сергей
я тут вспомнил, что окошко "Вопрос" модальное, поэтому со 2 пунктом наверно не получиться ...
либо внешним приложением обрабатывать либо клавишу Ентер клинить :)
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35399397
svaroha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага...здесь выше умные люди сидиромом предлагали...шутить изволили -))
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35399402
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Terv svarohaTerv. Огромное тебе спасибо. Буду пробовать.
С уважением, Сергей
я тут вспомнил, что окошко "Вопрос" модальное, поэтому со 2 пунктом наверно не получиться ...
либо внешним приложением обрабатывать либо клавишу Ентер клинить :) Спасибо - а то у меня мозги заклинились когда пытался понять как работать с модальным окном работать на данном примере.
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35399413
Terv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1сСпасибо - а то у меня мозги заклинились когда пытался понять как работать с модальным окном работать на данном примере.

каюсь ... сразу не подумал про модальность окна;)
...
Рейтинг: 0 / 0
программное отлавливание событий
    #35399446
svaroha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А тогда в догонку еще один вопрос: можно ли как то отловить "выскочившее " модальное окно вопроса средствами 1с, или это невозможно??
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / [игнор отключен] [закрыт для гостей] / программное отлавливание событий
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]