|
Обход констант | ☑ | ||
---|---|---|---|---|
0
Nykos
09.09.14
✎
16:31
|
Привет. Надо перебирать заполнение констант по порядку и в зависимости от того сколько их там( членов комиссии от 1 до 8 человек) заполнять параметр в макете. Подскажите пожалуйста где ошибка в кусочке кода:
Для Ном = 1 По 8 Цикл Если НЕ Конст["ЧленКомиссииСписаниеМатериалов" + Ном].Пустая() Тогда Шапка.Параметры.ЧленКомиссии = ФамилияИО(Конст["ЧленКомиссииСписаниеМатериалов" + Ном]); КонецЕсли; КонецЦикла; Почему отладчик всегда пропускает строку обращения к параметру? Как вообще можно в один параметр запихнуть динамическое количество значений? Извините, совсем запутался. |
|||
1
del123
09.09.14
✎
16:35
|
Конст какого типа?
|
|||
2
shuhard
09.09.14
✎
16:37
|
(0)[Конст["ЧленКомиссииСписаниеМатериалов" + Ном]]
это к 8.Х отношения не имеет во первых это не константа во вторых у константы есть метод получить() |
|||
3
Nykos
09.09.14
✎
16:37
|
строка
|
|||
4
Nykos
09.09.14
✎
16:38
|
кажется я начинаю понимать
|
|||
5
Nykos
09.09.14
✎
16:40
|
(2) но отладчик де отрабатывает эту строку и показывает правильные данные...
|
|||
6
Azverin
09.09.14
✎
16:43
|
(5) у тебя в макете область с одним параметром ЧленКомиссии, а тебе нужно исходя из счётчика (кол-во членов) продублировать эту строку в макете. вот и думай
|
|||
7
mc lammer
09.09.14
✎
16:46
|
проверь в отладчике что возвращают правильные значения
1) Конст["ЧленКомиссииСписаниеМатериалов" + Ном] 2) ФамилияИО(Конст["ЧленКомиссииСписаниеМатериалов" + Ном]) ну и у тебя эти элементы коллекции перебираются в цикле, и их значение присваивается одному единственному параметру "ЧленКомиссии". тут или должны быть несколько параметров, или собирать в цикле общую строку из членов этих надо и затем присваивать значение параметру |
|||
8
mc lammer
09.09.14
✎
16:47
|
или, как написал (6), нужно область с членом в цикле выводить несколько раз, по числу значений
|
|||
9
Nykos
09.09.14
✎
16:49
|
(8) Если бы они были в отдельной области я бы просто вывел их циклом, но членов комиссии нужно вывести в одну строку через запятую в зависимости от того, сколько их
|
|||
10
DGorgoN
09.09.14
✎
16:50
|
Ошибка в ДНК. Может членов комиссии сделать справочником?
|
|||
11
DGorgoN
09.09.14
✎
16:51
|
Или поставить в справочнике сотрудников (или где его там) признак того что человек в комиссии? Да и вообще сваять документ, который будет утверждать/изменять состав комиссии и писать все регистр будет вообще самый правильный вариант несмотря на трудоемкость.
|
|||
12
mc lammer
09.09.14
✎
16:53
|
(9) делай тогда так:
ТекстЧленКомиссии = ""; Для Ном = 1 По 8 Цикл Если НЕ Конст["ЧленКомиссииСписаниеМатериалов" + Ном].Пустая() Тогда ТекстЧленКомиссии = ТекстЧленКомиссии + ?(ПустаяСтрока(ТекстЧленКомиссии), "", ", ") + ФамилияИО(Конст["ЧленКомиссииСписаниеМатериалов" + Ном]); КонецЕсли; КонецЦикла; Шапка.Параметры.ЧленКомиссии = ТекстЧленКомиссии; |
|||
13
mc lammer
09.09.14
✎
16:55
|
(11) дык у человека все уже сделано и небось 5 лет работает, и нужен только кусочек овнокода для печати
|
|||
14
Nykos
09.09.14
✎
16:59
|
(13) Можно и так сказать, форма акта изменилась и вывод столбиком пришлось менять на строчный. Спасибо, твой вариант мне помог!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |