|
Вычисляемое поле в списке регистра сведений | ☑ | ||
---|---|---|---|---|
0
Vladal
24.06.16
✎
09:26
|
Всем привет!
УПП, обычные формы, 8.3. Создал регистр сведений с дополнительными данными физлиц, вроде регистра сведений "Сведения об инвалидности", в котором хранятся различные сведения для предоставления льгот. У регистра есть два измерения - физлицо и категория (чернобылец, ветеран, участник боевых действий, инвалид детства, дети войны и прочие), и несколько ресурсов с дополнительной информацией - вроде как ГруппаЧернобыльца, номер и дата удостоверения, комментарий. Для некоторых категорий, например, чернобыльцев я хочу совместить в одной ячейке текст из Категории и текст ГруппаЧернобыльца, получается "Чернобылец, II группа". В ПриПолученииДанных делаю вот так: ОформлениеСтроки.Ячейки.ТекстоваяКолонка.Текст = ОформлениеСтроки.Ячейки.Категории + " " + ОформлениеСтроки.Ячейки.ГруппаЧернобыльца Но если седлать невидимой колонку "ГруппаЧернобыльца", то этих данных нет. Я пробовал такое на динамических списках стправочника - там работает "Реквизит1 + Реквизит2" при скрытых колонках. Хотя... может в ПриПолученииДанных получить все данные и сформировать выборку запросом, которую уже поместить в табличное поле на форме? Как бы лучше это провернуть? |
|||
1
xxTANATORxx
24.06.16
✎
09:28
|
(0)запросом
|
|||
2
aleks_default
24.06.16
✎
09:30
|
(1)+1. Вроде да, в ПриПолученииДанных можно сделать.
|
|||
3
Vladal
24.06.16
✎
09:32
|
(1) А как получить источник? перебирать всю коллекцию ОформленияСтрок в цикле? метод ОформленияСтрок.Выгрузить() не сработал, пишет нет такого метода.
|
|||
4
xxTANATORxx
24.06.16
✎
09:32
|
(1)
1.только не делай запрос в цикле 2.я бы советовал модуль повторногоИспользования |
|||
5
Vladal
24.06.16
✎
09:34
|
(4) Ну, это понятно - запросы в цикле нагрузят сервер. Я в цикле сформирую список данных, потом его вставлю в запрос. Смотрю, во всех типовых модулях всегда делается обход всей коллекции, то есть выгрузить колонку из ОформленияСтрок нельзя.
|
|||
6
xxTANATORxx
24.06.16
✎
09:35
|
(3)
Процедура ЖурналДокументовСписокПриПолученииДанных(Элемент, ОформленияСтрок) МассивСсылок = Новый Массив; НаборСтрок = Новый Соответствие; Для каждого СтрокаОформления Из ОформленияСтрок Цикл МассивСсылок.Добавить(СтрокаОформления.ДанныеСтроки.Договор); Если НаборСтрок[СтрокаОформления.ДанныеСтроки.Договор] = Неопределено Тогда НаборСтрок.Вставить(СтрокаОформления.ДанныеСтроки.Договор, Новый Массив); КонецЕсли; НаборСтрок[СтрокаОформления.ДанныеСтроки.Договор].Добавить(СтрокаОформления); СтрокаОформления.Ячейки.Этап.ОтображатьТекст = Истина; СтрокаОформления.Ячейки.Этап.УстановитьТекст(""); КонецЦикла; Если МассивСсылок.Количество() <> 0 Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | Табл.Ссылка КАК Договор, | Табл.Этап.Наименование КАК Этап |ИЗ | Справочник.Договора КАК Табл |ГДЕ | Табл.Ссылка В(&МассивСсылок)"; Запрос.УстановитьПараметр("МассивСсылок", МассивСсылок); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Если НЕ ЗначениеЗаполнено(Выборка.Этап) Тогда Продолжить; КонецЕсли; Для каждого СтрокаОформления Из НаборСтрок[Выборка.Договор] Цикл СтрокаОформления.Ячейки.Этап.УстановитьТекст(Выборка.Этап); КонецЦикла; КонецЦикла; КонецЕсли; КонецПроцедуры |
|||
7
Vladal
24.06.16
✎
09:38
|
Да. Подобное я видел списках документов в УАТ и УПП. Это уже попробовал.
В журнале документов или списке справочника такое проходит. Я так и делал. Проблема уже потом, когда я на форме скрываю колонку с группоЧернобыльца и ... в следующий раз в ПриПолученииДанных этой колонки нет. Может, я что-то делаю не так. |
|||
8
Vladal
24.06.16
✎
09:39
|
(только я всегда упрощаю условие вида Если МассивСсылок.Количество() <> 0 Тогда
до просто Если МассивСсылок.Количество() Тогда) |
|||
9
HardBall
24.06.16
✎
09:46
|
(0) Баловство.
Свистелки и прочее. |
|||
10
xxTANATORxx
24.06.16
✎
09:48
|
(7)смотри по "неотключаемым" полям, у рег сведения это типа ключ записи, т.е. набор измерений, емнип
|
|||
11
Vladal
24.06.16
✎
09:55
|
(9) Вот именно. Но надо сделать так.
(10) Я сопоставляю Категорию (измерение) и Группу (ресурс). Скрыть надо колонку ресурса, потому как получается дублирующая запись: | Физлицо| Категория | Группа | Удостоверение | | |чернобыльца| (дата, номер) | Иванов |Чернобылец, II группа | II группа | Удостоверение АА00001 | | Петров |Дети войны | | Удостоверение АА00002 | | Сидоров|Чернобылец, II группа | II группа | Удостоверение АА00001 | |
|||
12
Timon1405
24.06.16
✎
09:58
|
(11)
(0)>>Создал регистр Что мешает добавить туда еще колонку, записывать ее для чернобыльцев и выводить ее вместо вашей рассчитываемой? |
|||
13
Vladal
24.06.16
✎
10:08
|
(12) Добавить новую колонку в регистре? Или на форме списка регистра?
Интересная идея - добавить реквизит Представление и его заполнять при записи, потом выводить |
|||
14
Timon1405
24.06.16
✎
10:21
|
(13) в регистре конечно. вы же пишете, что регистр ваш, зачем эти пляски с выводом, вы же разработчик
в тему об идиотских постановках задач -Убейте дракона .... -Ок, вот, убил -А почему Вы это сделали не зубочисткой, выструганной из двадцать третьей от края леса сосны, в полнолуние на ведьминой горе, отсчитав ровно двадцать три крика ворона, будучи одетым в костюм шута и рыцарский шлем? |
|||
15
Vladal
24.06.16
✎
10:23
|
Решил добавлением реквизита Представление, который заполняю на форме записи.
А то когда свою таблицу заполняю, надо было много танцевать с отборами, выводом и т.д. Так что "убил бракона" "как разработчик", тупо, а не зубочисткой, выструганной на третьей фазе луны. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |