Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: 1С для программиста

  Все выпуски  

RusFAQ.ru: 1С для программиста


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / 1С для программиста

Выпуск № 45
от 23.09.2005, 11:52

Администратор:Калашников О.А.
В рассылке:Подписчиков: 128, Экспертов: 16
В номере:Вопросов: 1, Ответов: 2


Вопрос № 26496: Привет Эксперты! Недавно начал изучать 1С и вот появились проблемы. 1) Не знаю как обрабатывать события. Например в Delphi, есть события на каждый компонент (onEdit, onEnter etc…), а здесь как это делается? 2) У меня есть Обработка с фор...

Вопрос № 26.496
Привет Эксперты!
Недавно начал изучать 1С и вот появились проблемы.
1) Не знаю как обрабатывать события. Например в Delphi, есть события на каждый компонент (onEdit, onEnter etc…), а здесь как это делается?
2) У меня есть Обработка с формой. На форме «лежит» ТаблицаЗначений, как обработать событие при выборе одной из строк таблицы?
Заранее спасибо !
Отправлен: 17.09.2005, 19:52
Вопрос задал: Andy r00t (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: agafonov
Здравствуйте, Andy r00t!
Чего-то никто не отвечает. Придется мне.
Такой гибкости как в универсальных языках программирования добиться не всегда возможно, да и не всегда нужно. Но ряд методов есть.
1. Для сопоставления реакции на некоторые события, есть ряд предопределенных процедур, например, приоткрытии(), призакрытии(), вводнового() и т.д. Далее, для обработки основных событий, можно сопоставить элементы диалога процедуру или функцию, которая будет вызываться при выполнении стандартного действия. Делаеться это так: Вызываем свойства элемента диалога (пр.кнопка->свой-ва), закладка"Дополнительно", в поле "Формула", помещаем вызов процедуры или функции, хотся можно любое выражение на языке 1С.
2. Поступаем примерно также как выше описано.
Если таблица уже заполнена, то необходимо сопоставить формулу, которая будет вызываться при двойном щелчке. Но для того, чтобы работать с таблицей, нужно сопоставить ей индентификатор (Св-ва->Общие->идентификатор). При двойном щелчке на какой либо строке таблицы она является текущей и к ней можно обращаться через идентификатор таблицы. Более того в модуле формы таблица значений являетс глобальной переменной, так что и к ней легко можно обратиться по идентификаторы.
Пример см. в приложении

Приложение:

Ответ отправил: agafonov (статус: 2-ой класс)
Отправлен: 19.09.2005, 13:08

Отвечает: Anefedov
Здравствуйте, Andy r00t!
Предыдущий оратор показал, как можно выбирать строки двойным щелчком. Я покажу, как одинарным.

1. На форму нужно положить невидимый текстовый реквизит с функцией в дополнительно.
2. В модуле формы реализовать эту функцию
Например так.
Перем текНСтр;

Функция СтрокаИзменилась()
Если текНСтр=ТЗ.НомерСтроки Тогда
Возврат 0;
КонецЕсли;
/* Условно говоря - событие выбора строки наступило.
________________________________
*/
текНСтр = ТЗ.НомерСтроки;
Возврат 1;
КонецФункции
Ответ отправил: Anefedov (статус: 6-ой класс)
Отправлен: 20.09.2005, 13:54


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.1cprogfaq
Отписаться
Вспомнить пароль

В избранное