|   |   | 
| 
 | Вычисляемое поле в списке регистра сведений | ☑ | ||
|---|---|---|---|---|
| 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 | 
        Решил добавлением реквизита Представление, который заполняю на форме записи.
 А то когда свою таблицу заполняю, надо было много танцевать с отборами, выводом и т.д. Так что "убил бракона" "как разработчик", тупо, а не зубочисткой, выструганной на третьей фазе луны. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |