|
Заполнение реквизита ТЧ при изменении другого | ☑ | ||
---|---|---|---|---|
0
JustLable
17.04.16
✎
18:39
|
Работаю в УТ 11.1. Добавив новый реквизит в ТЧ Товары документа ЗаказКлиента нужно, чтобы при его изменении заполнялось поле ПроцентРучнойСкидки. Сразу скажу, что не опытная, поэтому никак не получается это сделать. ПроцентРучнойСкидки не меняется. Поделитесь информацией, как это правильно сделать?
|
|||
1
Lexey_
17.04.16
✎
18:44
|
(0) что конкретно не получается?
|
|||
2
JustLable
17.04.16
✎
19:06
|
(1) Не получается установить значение в ПроцентРучнойСкидки
|
|||
3
Lexey_
17.04.16
✎
19:16
|
(2) код показывай
|
|||
4
JustLable
17.04.16
✎
19:52
|
(3)
Думаю, теперь суть будет понятна. Но, кажется, я все делаю не тем путем, поэтому ничего не выходит. Процедура ТоварыПредложениеПриИзменении(Элемент) ТекущаяСтрока = Элементы.Товары.ТекущиеДанные; Если ТекущаяСтрока.Предложение Тогда ТекущаяСтрока.ПроцентРучнойСкидки = РаботаСПредложениями.ПолучитьСкидку(Объект.Дата); КонецЕсли; Если Не ТекущаяСтрока.Предложение Тогда ТекущаяСтрока.ПроцентРучнойСкидки = 0; КонецЕсли; КонецПроцедуры Функция ПолучитьСкидку(АктуальнаяДата) Экспорт Отбор = Новый Структура("Период"); ЗначенияРесурсов = РегистрыСведений.Предложения.ПолучитьПоследнее(АктуальнаяДата, Отбор); Возврат ЗначенияРесурсов.ПроцентСкидкиПоПредложению; КонецФункции |
|||
5
hhhh
17.04.16
✎
19:56
|
ну так период не задала
Отбор = Новый Структура("Период"); где значение периода? |
|||
6
JustLable
17.04.16
✎
20:11
|
(5) Да, с этим еще разберусь.
Главная проблема в том, что даже если, почти, все это убрать и оставить: ТекущаяСтрока.ПроцентРучнойСкидки = 5; Это все-равно тут не сработает. |
|||
7
hhhh
17.04.16
✎
20:47
|
(6) отладчик вообще заходит в эту процедуру?
|
|||
8
JustLable
17.04.16
✎
21:10
|
(7) В процедуру заходит
|
|||
9
hhhh
17.04.16
✎
21:31
|
(8) ну тогда посмотрите после присвоение там ТекущаяСтрока.ПроцентРучнойСкидки. Равно 5 или не равно?
|
|||
10
JustLable
17.04.16
✎
21:37
|
(7) Хотя нет, беру свои слова обратно, оказывается процедура не выполняется. Только непонятно почему.
|
|||
11
Lexey_
17.04.16
✎
21:45
|
(10) не назначена обработчиком события
|
|||
12
JustLable
17.04.16
✎
22:34
|
(11) Да, вроде, назначена на элемент ТоварыПредложение.
|
|||
13
Мимохожий Однако
17.04.16
✎
22:39
|
Вроде.. у Володи. Сделай точку останова в процедуре события или заново установи событие.
|
|||
14
hhhh
17.04.16
✎
23:09
|
(12) и это? процедура на клиенте?
|
|||
15
JustLable
18.04.16
✎
05:38
|
(14) Да, на клиенте.
(13) Даже если заново установить событие, ноль реакции. |
|||
16
AneJIbcuH
18.04.16
✎
05:49
|
(0) Какая версия УТ?
|
|||
17
JustLable
18.04.16
✎
06:27
|
(16) Версия 11.1
|
|||
18
NuLLsoft
18.04.16
✎
22:56
|
Попробовал на 11.2, на демо-версии:
1. Создал реквизит "Предложение" в "ЗаказКлиента" -> "Товары", тип строка. 2. Для реквизита "Предложение" назначил событие "ПриИзменении" &НаКлиенте Процедура ТоварыПредложениеПриИзменении(Элемент) // Вставить содержимое обработчика. КонецПроцедуры 3. В модуле формы в процедуре "КонтрольНеСогласованныхИзмененийОбработатьСобытиеПриИзменении(Элемент)" внёс изменения (текста там много, всё копировать смысла нет и так понятно), можно прямо в этой процедуре свой код написать или как пожелаете: &НаКлиенте Процедура КонтрольНеСогласованныхИзмененийОбработатьСобытиеПриИзменении(Элемент) ИначеЕсли Элемент.Имя = "ТоварыПредложение" Тогда ТекущаяСтрока = Элементы.Товары.ТекущиеДанные; ТекущаяСтрока.ПроцентРучнойСкидки = ТекущаяСтрока.Предложение; КонецПроцедуры 4. Возможно при каких либо других настройках может работать и по другому, но это уже другая история. 5. Всё заработало. |
|||
19
JustLable
19.04.16
✎
07:49
|
(18) Огромное спасибо!
Оказывается, процедура КонтрольНеСогласованныхИзмененийОбработатьСобытиеПриИзменении не была учтена. |
|||
20
zak555
19.04.16
✎
22:50
|
лучше опиши про свою доработку предложение, что ты хочешь этим получить
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |