|
Помогите с "ПриВыбореЗначения" | ☑ | ||
---|---|---|---|---|
0
Double_Medved
15.11.12
✎
16:57
|
1С 8.2 Торговля. В документе "ЧекККМ" есть реквизит "КартаЛояльности", тип Справочник.КартыЛояльности. Данные о Накоплении и Скидке содержаться в РегистреСведений "КартыЛояльностиСведения". В ЧекККМ есть кнопка "СчитатьКартуЛояльности". Необходимо при выборе карты нажатием этой кнопки делать просмотр данных о Накоплении и Скидке, для чего нужно прочитать Регистр.Это не проблема, но мне нужно привязать к событию которое происходит при окончании выбора карты. Пока я сделал отдельную кнопку "ДанныеПоКарте", которую нужно нажимать после выбора карты. Дело в том что если запихивать код считывания данных по карте в кнопку "СчитатьКартуЛояльности" то он выполняется сразу при ее нажатии, когда только открыли окно выбора карты, а мне нужно чтобы это было тогда когда ее выбрали.
&НаКлиенте Процедура СчитатьКартуЛояльности(Команда) Если ТолькоПросмотр Тогда // Чек пробит. Изменение информации запрещено. Возврат; КонецЕсли; ОткрытьФорму( "Справочник.КартыЛояльности.Форма.СчитываниеКартыЛояльности", Неопределено, ЭтаФорма, ЭтаФорма.УникальныйИдентификатор ); КонецПроцедуры Процедура ДанныеПоКартеЛояльностиПрочитать(Команда) // Вставить содержимое обработчика. СкидкаПоКартеПоказать = ""; НакоплениеПоКартеПоказать = ""; СчитатьПроцентСкидкиИСуммунакопленияПоКарте(СкидкаПоКартеПоказать,НакоплениеПоКартеПоказать); Элементы.СуммаНакопленияПоКартеЛояльности.Заголовок = НакоплениеПоКартеПоказать; Элементы.СкидкаПоКартеЛояльности.Заголовок = СкидкаПоКартеПоказать; КонецПроцедуры &НаСервере Процедура СчитатьПроцентСкидкиИСуммунакопленияПоКарте(СкидкаПоКартеПоказать,НакоплениеПоКартеПоказать) НаборЗаписей = РегистрыСведений.КартыЛояльностиСведения.СоздатьНаборЗаписей(); НаборЗаписей.Прочитать(); Для Каждого Запись из НаборЗаписей Цикл Если Запись.КартаЛояльности.Наименование = Объект.КартаЛояльности.Наименование Тогда СкидкаПоКартеПоказать = "Скидка по карте "+ Строка(Запись.ПроцентСкидки) + "%"; НакоплениеПоКартеПоказать = "Накопление по карте " + Запись.СуммаНакопления + "руб"; КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
1
Reset
15.11.12
✎
17:14
|
Непонятно, почему для установки значения в реквизит используется кнопка? Почему нельзя сделать поле и обрабатывать событие ПриИзменении("к событию которое происходит при окончании выбора карты")?
Если же приспичило жать кнопку, то можно из формы выбора, например ОповеститьОВыборе() форму-владелец |
|||
2
Double_Medved
15.11.12
✎
17:22
|
А, можно из формы выбора оповестить? Спасибо. А если там будет поле, а не кнопка, что вообще все равно для задания, то нужна процедура ПриИзменении("ИмяРеквизита")?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |