|
Обновление значений доп. реквизитов на форме | ☑ | ||
---|---|---|---|---|
0
Chameleon1980
12.04.18
✎
21:06
|
Приветствую всех.
Чет не пойму. У документа РТУ есть доп. реквизит. У партнера есть доп. реквизит. При изменении контрагента пишу типа СтруктураДляОтбора=Новый Структура; СтруктураДляОтбора.Вставить("Свойство", ПВХНеВключатьРеализациюВКнигуПродаж); НайденныеСтроки=Объект.ДополнительныеРеквизиты.НайтиСтроки(СтруктураДляОтбора); Если НайденныеСтроки.Количество()=0 И ЗначениеРеквизитаНеВключатьВКнигуПродажПартнера Тогда НоваяСтрока=Объект.ДополнительныеРеквизиты.Добавить(); НоваяСтрока.Свойство=ПВХНеВключатьРеализациюВКнигуПродаж; НоваяСтрока.Значение=Истина; ИначеЕсли НайденныеСтроки.Количество()<>0 И (НайденныеСтроки[0].Значение<>ЗначениеРеквизитаНеВключатьВКнигуПродажПартнера) Тогда НайденныеСтроки[0].Значение=ЗначениеРеквизитаНеВключатьВКнигуПродажПартнера; ИначеЕсли НайденныеСтроки.Количество()<>0 И Не ЗначениеРеквизитаНеВключатьВКнигуПродажПартнера Тогда //Объект.ДополнительныеРеквизиты.Удалить(НайденныеСтроки[0]); // что-то не удаляется, тогда просто установим значение в ложь НайденныеСтроки[0].Значение=Ложь; КонецЕсли; при выходе из этой серверной процедуры делал и так: ЭтаФорма.ОбновитьОтображениеДанных(Элементы.ГруппаДополнительныеРеквизиты); и так: ЭтаФорма.ОбновитьОтображениеДанных(); но блин значение реквизита на форме не обновляется. Где (чем) обновлять значения доп. реквизитов на форме) ? Спасибо. |
|||
1
Cyberhawk
12.04.18
✎
21:07
|
Оповещением формы (посмотри в ней обработку оповещения)
|
|||
2
Chameleon1980
12.04.18
✎
21:08
|
если суть кода не ясна - готов объяснить подробнее
но дело даже не в нем. вопрос в обновлении т.е. я поменял ТЧ доп.реквизиты программно при изменении партнера. ТЧ точно поменялась как нужно, а на форме то обновится, то нет. Не нашел закономерности |
|||
3
Chameleon1980
12.04.18
✎
21:12
|
(1) давай попробуем Оповестить() без параметров.
Если я правильно понял и выбрал правильный метод. да я чет думал и это "ОбновитьОтображениеДанных" подойдет там и группу конкретную можно указать (в которой лежат доп. реквизиты на форме) |
|||
4
Cyberhawk
12.04.18
✎
21:13
|
Ну тупи. Элементы формы строятся динамически. Обновить их содержимое можешь конечно распарсив структуру элементов и данных, но делать так безсмысленно - используй механику БСП
|
|||
5
Cyberhawk
12.04.18
✎
21:13
|
Оповестить он без параметров собрался... не в коня корм видимо
|
|||
6
Chameleon1980
12.04.18
✎
21:22
|
(4) хорошо. Смотри.
новый документ, партнер пустой: http://prntscr.com/j4f9un доп реквизит пустой: http://prntscr.com/j4fa98 меняю партнера, при установке которого (по условиям) должна добавиться строка в ТЧ доп реквизиты (т.е. установиться доп. реквизит документа): http://prntscr.com/j4fb7p реквизит документа: http://prntscr.com/j4fbeh установлен. Но блин - срабатывает оно как-то через раз. пошел копать бсп в эту сторону (эту подсистему) |
|||
7
Chameleon1980
12.04.18
✎
21:25
|
(5) я уже и это давал им:
http://prntscr.com/j4fcek судя по всему - доп. реквизиты в этой группе собираются рождаться: http://prntscr.com/j4fcz9 не разбирал сильно БСП - так пойду :) посмотрим |
|||
8
Chameleon1980
12.04.18
✎
21:41
|
ну вот оно собако (если кому интересно):
УправлениеСвойствами.ЗаполнитьДополнительныеРеквизитыВФорме(ЭтаФорма, Объект); |
|||
9
Chameleon1980
12.04.18
✎
21:42
|
Спасибо за внимание :)
|
|||
10
Chameleon1980
12.04.18
✎
21:43
|
(4) спасибо. Я то думал и так нарисуется. Пля - туплю когда или только проснулся или когда уже спать пора.
|
|||
11
Cyberhawk
12.04.18
✎
21:45
|
(6) "меняю партнера, при установке которого (по условиям) должна добавиться строка в ТЧ доп реквизиты (т.е. установиться доп. реквизит документа)" // Тоже пади вручную это делаешь, а не механикой БСП? Тогда тебе придется искать строку и заменять, а не всегда тупо добавлять. Надеюсь ты это учел в коде? )
|
|||
12
Chameleon1980
12.04.18
✎
22:04
|
(11) ну а код не смотрел?
вот кусок жеж: ИначеЕсли НайденныеСтроки.Количество()<>0 И (НайденныеСтроки[0].Значение<>ЗначениеРеквизитаНеВключатьВКнигуПродажПартнера) Тогда НайденныеСтроки[0].Значение=ЗначениеРеквизитаНеВключатьВКнигуПродажПартнера; |
|||
13
Chameleon1980
12.04.18
✎
22:04
|
замена даже с проверкой на несоответствие старого и нового
|
|||
14
Cyberhawk
12.04.18
✎
22:15
|
В твоем коде не обрабатывается ситуация, когда найденных строк больше одной )
|
|||
15
Chameleon1980
13.04.18
✎
06:58
|
(14) а нафига.
БСП дасть создать значение реквизита в допах более одного? Ну и я не дам. Зачем проверка ента? |
|||
16
Chameleon1980
13.04.18
✎
06:58
|
+(15) тип - булево.
|
|||
17
Chameleon1980
13.04.18
✎
07:00
|
+отбор строго по ПВХ (свойство):
СтруктураДляОтбора=Новый Структура; СтруктураДляОтбора.Вставить("Свойство", ПВХНеВключатьРеализациюВКнигуПродаж); НайденныеСтроки=Объект.ДополнительныеРеквизиты.НайтиСтроки(СтруктураДляОтбора); |
|||
18
Chameleon1980
13.04.18
✎
07:01
|
думал сначала тоже про не одну строку, но ИМХО - не нужно оно тут
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |