![]() |
|
v7: Использование таблицы значений несколько раз за процедуру | ☑ | ||
---|---|---|---|---|
0
JuixyJes
20.05.19
✎
11:39
|
Для заполнения данных макета используется несколько разных ТЗ. Можно ли использовать перезаполнение 1й ТЗ и брать данные из перезаполненной тз, если да, то как?
|
|||
1
JuixyJes
20.05.19
✎
11:40
|
кл=ТекущийЭлемент();
ТЗ = СоздатьОбъект("ТаблицаЗначений"); ТЗ.НоваяКолонка("ФИО"); ТЗ.НоваяКолонка("РодственнаяСвязь"); ТЗ.НоваяКолонка("ПолныхЛет"); ТЗ.НоваяКолонка("ДатаРождения"); спрдети=СоздатьОбъект("Справочник.Проживающие"); спркл=СоздатьОбъект("Справочник.Клиенты"); спрдети.ИспользоватьВладельца(кл); спрдети.ВыбратьЭлементы(); Пока спрдети.ПолучитьЭлемент()=1 Цикл возраст = (РабочаяДата() - спрдети.ТекущийЭлемент().ФизЛицо.ДатаРождения)/365; Если возраст < 14 Тогда ТЗ.НоваяСтрока(); ТЗ.ФИО=спрдети.ТекущийЭлемент().ФизЛицо; ТЗ.РодственнаяСвязь= спрдети.ТекущийЭлемент().Принадлежность ; возраст = (РабочаяДата() - спрдети.ТекущийЭлемент().ФизЛицо.ДатаРождения)/365; ТЗ.ПолныхЛет = Цел(возраст); ТЗ.ДатаРождения = спрдети.ТекущийЭлемент().ФизЛицо.ДатаРождения; КонецЕсли; КонецЦикла; стр=0; Если ТЗ.ВыбратьСтроку(стр,"Выберите регистрируемого ребёнка") = 0 тогда Предупреждение("Не выбран ребенок") ; Возврат ; КонецЕсли; ТЗ.УдалитьСтроки(); ТЗ.НоваяСтрока(); ТЗ.ФИО= кл.ФизЛицо; ТЗ.РодственнаяСвязь=кл.ФизЛицо.Родств; возрасткл = (РабочаяДата() - кл.ФизЛицо.ДатаРождения)/365; ТЗ.ПолныхЛет = Цел(возрасткл); ТЗ.ДатаРождения = кл.ФизЛицо.ДатаРождения; Пока спрдети.ПолучитьЭлемент()=1 Цикл возраст = (РабочаяДата() - спрдети.ТекущийЭлемент().ФизЛицо.ДатаРождения)/365; Если (возраст > 18) тогда ТЗ.НоваяСтрока(); ТЗ.ФИО=спрдети.ТекущийЭлемент().ФизЛицо; ТЗ.РодственнаяСвязь=спрдети.ТекущийЭлемент().Принадлежность; ТЗ.ПолныхЛет = Цел(возраст); ТЗ.ДатаРождения = спрдети.ТекущийЭлемент().ФизЛицо.ДатаРождения; КонецЕсли; КонецЦикла; стр1=0; Если ТЗ.ВыбратьСтроку(стр1,"Выберите законного предтавителя") = 0 тогда Предупреждение("Не выбран законный представитель.") ; Возврат ; КонецЕсли; |
|||
2
JuixyJes
20.05.19
✎
11:41
|
В обоих случаях результат одинаковый
ТЗ.ПолучитьЗначение(стр,1).ПолнНаименование = ТЗ.ПолучитьЗначение(стр1,1).ПолнНаименование = |
|||
3
mikecool
20.05.19
✎
11:42
|
1. можно
2. так же, как и до перезаполнения, изменения тз идет по ссылке |
|||
4
JuixyJes
20.05.19
✎
11:43
|
(3) а можно по подробнее?
|
|||
5
mikecool
20.05.19
✎
11:45
|
(4)
ТЗ.ПолучитьЗначение(стр,1).ПолнНаименование = здесь старое значение ТЗ.УстановитьЗначение(стр,1, "Новое значение") теперь будет новое значение только с синтаксисом я не помню |
|||
6
HawkEye
20.05.19
✎
11:48
|
(0) что в итоге то надо, в первой ТЗ все кто младше 14 во второй все кто старше 18?
|
|||
7
JuixyJes
20.05.19
✎
11:50
|
(6) в первой тз выбирается младше 14 лет, во второй родитель этого младше, и как мне заполнить в макете и того и того используя перезаполнение тз, я не понимаю
|
|||
8
Mikeware
20.05.19
✎
11:53
|
1с:инцест
|
|||
9
JuixyJes
20.05.19
✎
12:00
|
(8) еще остроты будут? или Вы поможете?
|
|||
10
HawkEye
20.05.19
✎
12:05
|
(7) т.е. ты сначала хочешь в макет засунуть все данные из ТЗ1, а потом в этот-же макет, под данными ТЗ1 добавить данные из ТЗ2, так?
|
|||
11
hhhh
20.05.19
✎
12:05
|
(9) в твоем тексте вообще нет такого слова ПолнНаименование. Ты наверно хохмишь, произвольный кусок текста сюда фигакнула.
|
|||
12
JuixyJes
20.05.19
✎
12:08
|
(11) ПолнНаименоваие - реквизит который имеется и у СПРКЛ и у СПРДЕТИ
|
|||
13
JuixyJes
20.05.19
✎
12:09
|
(10) Ну тоесть сначала выбираю данные в ТЗ1 , выбираю данные в ТЗ2 а потом они заполняют макет.
|
|||
14
Bigbro
20.05.19
✎
12:10
|
мой мозг взрывается от таких формулировок.
"брать данные из перезаполненной" - те что были до перезаполнения - нет нельзя. те что оказались после перезаполнения - разумеется можно, какая разница что там было раньше, создана была новая ТЗ или перезаполнена существующая. не понимаю |
|||
15
hhhh
20.05.19
✎
12:11
|
(13) вам надо выбросить эту дебильную мысль из головы. Про одну ТЗ и так далее. Это наверно после выходных у вас. Используйте 2 ТЗ - это гораздо кошернее.
|
|||
16
HawkEye
20.05.19
✎
12:11
|
(13) ты имела ввиду, что выбираешь данные ИЗ ТЗ?
|
|||
17
JuixyJes
20.05.19
✎
12:14
|
(16) Происходит это дело так:
1.Открывается ТЗ, заполненное данными, выбирается нужная строка. 2.ТЗ перезаполняется новыми данными, снова выбирается новая строка. 3.Макет заполняется значением первого выбора и значением второго выбора. |
|||
18
Bigbro
20.05.19
✎
12:16
|
(17) я бы предложил один раз перебрать справочник, и лучше запросом. выбираете жео дно и то же только с двумя условиями <14 или >18.
выборка выгружается в два списка (или ТЗ) для выбора значения с фильтром. |
|||
19
JuixyJes
20.05.19
✎
12:17
|
+ (17) и возможно ли это сделать используя одну ТЗ или все таки новую создавать надо?
|
|||
20
JuixyJes
20.05.19
✎
12:19
|
(18) в две разных тз уже было сделано, но был предложен вариант использовать одну с перезаполнением, но как реализовать не сказали(
|
|||
21
Bigbro
20.05.19
✎
12:21
|
судя по 3 пункту - в момент вывода соответствующей области макета ТЗ должна быть еще не испорчена. если перезаполняем ТЗ то надо вывести ту часть где использовались данные ТЗ, затем перезаполнить и выводить дальше области с данными из новой ТЗ.
потом показать() |
|||
22
Bigbro
20.05.19
✎
12:23
|
а если заполняется только значением выбора то ТЗ вообще не нужны - значения выбора запоминаем и их а не ТЗ используем для вывода. и все.
|
|||
23
JuixyJes
20.05.19
✎
12:23
|
(21) сейчас попробую
|
|||
24
JuixyJes
20.05.19
✎
12:25
|
(22) господи, гениально! Сама что-то не додумалась, предполагала, но не попробовала..
|
|||
25
Ёпрст
гуру
20.05.19
✎
12:25
|
(0)
ТЗ.УдалитьСтроки(); зачет.. всё что делали первый раз - коту под хвост |
|||
26
HawkEye
20.05.19
✎
12:32
|
(17) ок. после первого цикла выбора что происходит? снова выбираем из первых данных?
если да, то откуда выбирать, если ты ТЗ перезаполнила другими данными? |
|||
27
JuixyJes
20.05.19
✎
12:43
|
(26) (25) Проблему решила, спасибо Bigbro!
|
|||
28
hhhh
20.05.19
✎
12:43
|
(26) ну, в принципе (22) прав. Зачем вообще заполнять эти тз, если просто можно выбрать ребенка из справочника дети.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |