Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/67: Рейтинг темы: голосов - 67, средняя оценка - 4.52
2 / 2 / 0
Регистрация: 21.11.2011
Сообщений: 57
1

Как вызвать процедуру ПриИзмененнии, для изменяемого реквизита?

03.08.2012, 12:45. Показов 12415. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
Столкнулся с задачей:
Необходимо из экселя заполнять реквизиты документа. Документ создается, реквизиты заполняются, но не получается вызвать обработчик события при изменении одного из реквизитов. Может кто подскажет или поделится примерами как это делается?
Вот код, который я использую:

1C
1
2
3
4
5
6
7
8
ДокументПКО = Документы.ПриходныйКассовыйОрдер.СоздатьДокумент();
ДокументПКО.ВидОперации = Перечисления.ВидыОперацийПКО.ПрочийПриход;
ДокументПКО.Дата = стр.ДатаПоступления;
ДокументПКО.СчетКасса = ПланыСчетов.Хозрасчетный.КассаОрганизации;
ДокументПКО.СчетУчетаРасчетовСКонтрагентом =  ПланыСчетов.Хозрасчетный.ВыручкаНеЕНВД; 
ДокументПКО.Комментарий = "ЗАГРУЗКА ИЗ ПО"; 
ДокументПКО.СуммаДокумента = стр.Сумма;
ДокументПКО.ЗАписать();
Пытался заполнять через форму, но обработчик события "ПриИзмененнииСуммыДокумента" не сработал
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.08.2012, 12:45
Ответы с готовыми решениями:

Вызвать процедуру ПриИзменении, для изменяемого реквизита в тч из внешней обработки
Заполняю обработкой ТЧ. Реквизиты заполняются, но ПриЗименении() Номенклатуры не срабатывает....

как вызвать процедуру?
как вызвать HeapSort в процедуре нажатия кнопки? procedure HeapSort(var N: integer); var i:...

Как вызвать процедуру
Procedure Level1; begin PlaySound(button); menu1.visible:=false; ...

Как вызвать процедуру?
Сам код процедуры: CREATE PROC count_purchases (@dl SMALLDATETIME, @d2 SMALLDATETIME, @c INT...

6
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
03.08.2012, 13:16 2
кликаете 2 раза по реквизиту на форме, откроется окно свойств в нем внизу есть предопределенные процедуры так сказать вот какая вам нужна справа от нее кликаете по значку лупы и вуаля вас перебросит в модуль формы в нужную вам процедуру

Добавлено через 1 минуту
или вам нужно программно вызвать????

Добавлено через 36 секунд
если программно то вам если я не ошибаюсь нужно сначала получить форму а уже у нее вызывать процедуру

Добавлено через 9 минут
ну и естественно она должна быть экспортной
0
2 / 2 / 0
Регистрация: 21.11.2011
Сообщений: 57
04.08.2012, 09:59  [ТС] 3
В том-то и беда, что программно надо вызвать из внешней обработки. И эта функция не является экспортной.

Я нашел один пример как это делается, но ничего в нем не понял. Суть данного метода следующая:
Создается форма пустышка, где интерактивно выбирается/вводится реквизит, потом программно форме пустышке назначают владельца (в моем случае это: ПриходныйКассовыйОрдер). Далее форме ПриходныйКассовыйОрдера с помощью функции "ОповеститьОВыборе" сообщают, что выбор конкретного реквизита сделан, после чего запускается стандартная процедура обработки события для данного ПоляВвода, предусмотренная 1С. Что-то в этом роде, беда в том, что я не понял как это сделать.
0
900 / 877 / 8
Регистрация: 15.03.2012
Сообщений: 2,680
04.08.2012, 14:07 4
Скопируйте процедуру из формы в свою обработку и вызывайте её. Зачем мудрить то?
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
04.08.2012, 18:20 5
Вариант: В форме обработки ПриОткрытии() запускается нужная функция, Отказ=Истина. (или Закрыть())

Добавлено через 27 секунд
Само собой из дока обработка.открытьформу
0
2 / 2 / 0
Регистрация: 21.11.2011
Сообщений: 57
21.08.2012, 10:32  [ТС] 6
Цитата Сообщение от Fenomen Посмотреть сообщение
Скопируйте процедуру из формы в свою обработку и вызывайте её. Зачем мудрить то?
Это невозможно, т.к. там тянется целая цепочка процедур и функций, связанных с глобальным модулем, а я не очень силен в таких вещах, я пытался перенести их, или попробовать вызвать оказалось нетак-то просто, в большинстве случаев не хватало параметров. Я надеился, что есть какой-то стандартный подход о котором я не знаю.
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
21.08.2012, 18:48 7
Я ж пейсал: запустите функцию самой обработкой, тогда хоть атрибуты обработки будут доступны. А если вызываются глобальники других конфигураций - тогда извиняйте: иного выхода, как перетащить всё в свою нет
0
21.08.2012, 18:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.08.2012, 18:48
Помогаю со студенческими работами здесь

Как вызвать процедуру
Здравствуйте. На одном сайте нашел нужную мне процедуру. procedure DelStroki(Memo:tmemo); const...

Как вызвать процедуру?
Вопщем, мне нада вызвать процедуру Krest_1 с ввода клавиатуры. Например, ввожу "1" и получаю...

Как вызвать процедуру
Всем привет! Столкнулся с такой проблемай. Пишу DLL, в которой идёт процедура за процедурой, без...

как вызвать процедуру...
Есть phpbb форум.Хочу автоматизировать добавление пользователей.Нашёл что это можно сделать через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru