|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
Помогите советом. УПП, 8.1 Задача стоит вот в чем: на форме элемента находится реквизит "ОтражатьВБухУчете", флаг. При интерактивном нажатии запускает процедуру "ПриИзмененииОтражатьВБухУчете(Элемент)". Процедура не экспортная, находится в модуле формы. В процедуре есть строка кода, которая требует от пользователя интерактивно ответить на вопрос. Если ответ положителен, то табличная часть заполняется счетами учета. Код: plaintext 1. 2. 3.
Я хочу прогнать ряд документов (запросом выбираю, получаю объект, форму) с тем, чтобы заполнить по умолчанию документ данными регламентированного учета (щас только по управленческому все идет). Есть две проблемы: 1) Если процедура не экспортная, каким образом достучатся к ней из модуля внешней обработки. 2) Каким образом отловить и ответить на "Вопрос". Или каким образом передать значение в вопрос "КодВозвратаДиалога.Да" и продолжить выполнение процедуры. С уважением, Сергей ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 18:32 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
svarohaПомогите советом. УПП, 8.1 Задача стоит вот в чем: на форме элемента находится реквизит "ОтражатьВБухУчете", флаг. При интерактивном нажатии запускает процедуру "ПриИзмененииОтражатьВБухУчете(Элемент)". Процедура не экспортная, находится в модуле формы. В процедуре есть строка кода, которая требует от пользователя интерактивно ответить на вопрос. Если ответ положителен, то табличная часть заполняется счетами учета. Код: plaintext 1. 2. 3.
Я хочу прогнать ряд документов (запросом выбираю, получаю объект, форму) с тем, чтобы заполнить по умолчанию документ данными регламентированного учета (щас только по управленческому все идет). Есть две проблемы: 1) Если процедура не экспортная, каким образом достучатся к ней из модуля внешней обработки. 2) Каким образом отловить и ответить на "Вопрос". Или каким образом передать значение в вопрос "КодВозвратаДиалога.Да" и продолжить выполнение процедуры. С уважением, Сергей А зачем программно отвечать на то, что выполняется интерактивно? Это ведь не весь код, выполнить то что должно произойти по определенному значению "Ответ" - религия мешает? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2008, 19:05 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
Господин ПЖ svarohaПомогите советом. УПП, 8.1 Задача стоит вот в чем: на форме элемента находится реквизит "ОтражатьВБухУчете", флаг. При интерактивном нажатии запускает процедуру "ПриИзмененииОтражатьВБухУчете(Элемент)". Процедура не экспортная, находится в модуле формы. В процедуре есть строка кода, которая требует от пользователя интерактивно ответить на вопрос. Если ответ положителен, то табличная часть заполняется счетами учета. Код: plaintext 1. 2. 3.
Я хочу прогнать ряд документов (запросом выбираю, получаю объект, форму) с тем, чтобы заполнить по умолчанию документ данными регламентированного учета (щас только по управленческому все идет). Есть две проблемы: 1) Если процедура не экспортная, каким образом достучатся к ней из модуля внешней обработки. 2) Каким образом отловить и ответить на "Вопрос". Или каким образом передать значение в вопрос "КодВозвратаДиалога.Да" и продолжить выполнение процедуры. С уважением, Сергей А зачем программно отвечать на то, что выполняется интерактивно? Это ведь не весь код, выполнить то что должно произойти по определенному значению "Ответ" - религия мешает?Думал отписываться или нет А что мешает в вопросе поставить ответ по умолчанию и время через которое ответ будет выбран автоматически.... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 01:13 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
Программист 1сДумал отписываться или нет А что мешает в вопросе поставить ответ по умолчанию и время через которое ответ будет выбран автоматически.... жжоте... в цикле по документам сидеть и ждать таймаута вопроса... давайте тогда еще предупреждение в проведении для полного счастья ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 01:16 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
Религия не позволяет, так как я перебираю с 10 видов документов (реализации, возвраты, поступление, перемещения, все документы, где есть табличная часть "товары" и т.д.). Получается, в каждом документе править модуль, что я считаю не совсем правильным. Можно непосредственно вызывать из внешней обработки заполнение табличной части счетами учета(собственно вызов тех процедур, которые вызываются в модуле процедуры ПриИзмененииОтраженияВБухУчете), но я бы хотел попытатся вызвать и отработать модуль из внешней обработки, при этом отловить все выскакивающие окна (ответ на "вопрос" о заполнении табличной части счетами бухучета, также еще в интерактивном режиме вызывается вопрос "Данные бали изменены. Записать документ?". Хотелось бы узнать методы, с помощью которых возможно решить данную задачу. С уважением, Сергей ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 09:18 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
Вдогонку. Почему хочу использовать именно типовые процедуры УПП. Так, как в табличной части "Товары" могут быть товары, материалы, продукция, МБП, которые учитываются на разных счетах учета, то в модуле обработки ставить кучу проверок на признак того, что это за товар (товар, услуга, материал, собственные, покупаемые) и на основании этого подставлять требуемый счет учета, "Статья прироста/убыли запасов" считаю неправильным. У меня заполнен регистр сведений "Товары организаций", откуда и берется информация о счетах учета по умолчанию. Из процедуры "ПриИзмененииБухУчета()" вызывается функция, которой передается товар из табличной части, а возвращает именно счета учета, и сама же корректно подставляет в табличную часть. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 09:26 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
svarohaРелигия не позволяет, так как я перебираю с 10 видов документов (реализации, возвраты, поступление, перемещения, все документы, где есть табличная часть "товары" и т.д.). Получается, в каждом документе править модуль, что я считаю не совсем правильным. Можно непосредственно вызывать из внешней обработки заполнение табличной части счетами учета(собственно вызов тех процедур, которые вызываются в модуле процедуры ПриИзмененииОтраженияВБухУчете), но я бы хотел попытатся вызвать и отработать модуль из внешней обработки, при этом отловить все выскакивающие окна (ответ на "вопрос" о заполнении табличной части счетами бухучета, также еще в интерактивном режиме вызывается вопрос "Данные бали изменены. Записать документ?". Хотелось бы узнать методы, с помощью которых возможно решить данную задачу. С уважением, СергейНет слов. Ну тогда еще вариант - эмулируйте нажатие клавиши "да". В данном случае - не средствами 1с. Интересно если программист не хочет поправить 10 строчек в модуле - то кто он? А ведь потом их можно и на место вернуть... А что за религия при которой данное действие является неправильным? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 11:05 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
Программист 1сНет слов. Ну тогда еще вариант - эмулируйте нажатие клавиши "да". В данном случае - не средствами 1с. Интересно если программист не хочет поправить 10 строчек в модуле - то кто он? А ведь потом их можно и на место вернуть... А что за религия при которой данное действие является неправильным? поставить рядом комп на линуксе с видеокамерой. Периодически снимать экран сервера с запущенной УПП и если там вопрос "Да/Нет?" - выдвигать лоток сидюка и давить в "Ентер"... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 11:19 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
Код: plaintext 1.
Да могу я поправить...Но я же написал выше, что это надо поправить не в одном документе. Да даже не проблема и поправить и в 10 документах, не проблема во внешней обработке использовать вызов процедур, которые присутствуют в модуле ПриИзмененииБух... Мне нужно узнать, есть ли какие способы, чтобы отловить подобные констукции "Вопрос" средствами 1С... Для развития, если подскажете другие внешние компоненты, буду благодарен... Но повторяюсь, хотелось бы именно штатными средствами 1с отловить, нажать на кнопку "ок", "согласен" или другие подобные. п.с. и почему, если пробуешь что то изучить или же упростить обработку, так сразу - " программист не хочет поправить 10 строчек в модуле - то кто он"?? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 11:25 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
Код: plaintext
Еще один ньюанс забываете - распределенные базы данных(в моем случае) ...на центральной базе делаем изменение модуля - и во все филиалы отсылаем, потому как они не примут изменение, информации от них х...получишь (модули различаются). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 11:30 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 11:37 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
да закомментируй ты эту строку в модуле и все... "Всегда есть способ сделать то, что сделать невозможно" ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 11:59 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2.
Я уже писал, что можно бы, но это далеко не в одном документе...Да и принцип интересен, можно ли так сделать (ответить на "вопрос") или нельзя. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 12:15 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
1. Вызвать не экспортную процедуру формы средствами 1С возможно 2. Штатными средствами ответить на вопрос нельзя ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 15:46 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
Код: plaintext 1.
А подскажите пример вызова не экспортной процедуры. Очень хочется попробовать... 2. А какими именно?? интересно..нету примеров или же ссылок?? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 16:13 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
оригинальную ветку не нашел ... там для 7ки, но нечто не мешает переложить на 8ку (я это делал) http://www.forum.mista.ru/topic.php?id=228572&forum=1c&area=prog ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 16:31 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
вот нашел свое для 8ки Перем мФорма; Перем Индекс; Процедура Прекратить() мФорма.ОтключитьОбработчикОжидания("СуммаДокументаПриИзменении"); ДокументОбъект = мФорма.ДокументОбъект; ДокументОбъект.Записать(); мФорма.Закрыть(); ОтключитьОбработчикОжидания("Прекратить"); Индекс = Индекс + 1; ОбработатьСтроку(); КонецПроцедуры Процедура ОбработатьСтроку(СсылкаНаДокумент) СсылкаНаДокумент = ТЗ_Строка.Ссылка; ДокументОбъект = СсылкаНаДокумент.ПолучитьОбъект(); мФорма = ДокументОбъект.ПолучитьФорму("ФормаДокумента"); мФорма.Открыть(); ПодключитьОбработчикОжидания("Прекратить",2); мФорма.ПодключитьОбработчикОжидания("СуммаДокументаПриИзменении",1); КонецПроцедуры Процедура КнопкаВыполнитьНажатие(Кнопка) Индекс = 0; ОбработатьСтроку(); КонецПроцедуры ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 16:35 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
немного не то скопировал .. вот полный оригинал Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 16:37 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
svaroha А подскажите пример вызова не экспортной процедуры. Очень хочется попробовать... 2. А какими именно?? интересно..нету примеров или же ссылок?? вот нашел страницу автора идей http://avb1c.narod.ru/ по 1 пункту смотрите статью "Пример вызова процедуры из другого модуля.('ноябрь 2006')" по 2 пункту "Закрываем окно сообщений. ('декабрь 2002')" ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 16:42 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
Terv. Огромное тебе спасибо. Буду пробовать. С уважением, Сергей ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 16:59 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
svarohaTerv. Огромное тебе спасибо. Буду пробовать. С уважением, Сергей я тут вспомнил, что окошко "Вопрос" модальное, поэтому со 2 пунктом наверно не получиться ... либо внешним приложением обрабатывать либо клавишу Ентер клинить :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 17:01 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
ага...здесь выше умные люди сидиромом предлагали...шутить изволили -)) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 17:11 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
Terv svarohaTerv. Огромное тебе спасибо. Буду пробовать. С уважением, Сергей я тут вспомнил, что окошко "Вопрос" модальное, поэтому со 2 пунктом наверно не получиться ... либо внешним приложением обрабатывать либо клавишу Ентер клинить :) Спасибо - а то у меня мозги заклинились когда пытался понять как работать с модальным окном работать на данном примере. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 17:12 |
|
программное отлавливание событий
|
|||
---|---|---|---|
#18+
Программист 1сСпасибо - а то у меня мозги заклинились когда пытался понять как работать с модальным окном работать на данном примере. каюсь ... сразу не подумал про модальность окна;) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2008, 17:17 |
|
|
start [/forum/topic.php?fid=28&fpage=165&tid=1524643]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 154ms |
0 / 0 |