Группа: Пользователи
Сообщений: 65
Спасибо сказали: 0 раз
Рейтинг: 0
Бодрого бремени суток! Есть вопрос:
В СКД собран отчёт по сотрудникам, вывод которого настроен в закладке СКД "Настройки" как детальные записи. Отчёт вида: Фамилия | Имя | Отчество | Данные нужные | Данные контрольные
Понятно, что ФИО выбирается из регистра сведений физического лица, но расшифровка требуется как элемента справочников Физические лица и Сотрудники, на выбор. Но как расшифровать текстовые поля элементами, которые даже в отчёт не выводятся - ума не приложу.
Группа: Пользователи
Сообщений: 65
Спасибо сказали: 0 раз
Рейтинг: 0
++ Замена представления успешно отрабатывается, но при такой реализации перестаёт работать сортировка и отбор по фамилии, работает по объекту, а не по представлению.
И вторая часть задачи не решается этим: при расшифровке (на выбор) предложить открытие объекта справочника Сотрудники или Физические лица
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8
Цитата(bolobol @ 22.07.13, 12:07)
Замена представления успешно отрабатывается, но при такой реализации перестаёт работать сортировка и отбор по фамилии, работает по объекту, а не по представлению.
А вы не обратили внимание, что строкой ниже есть поле Выражение упорядочивания? Название не на что не намекает?
Цитата(bolobol @ 22.07.13, 12:07)
И вторая часть задачи не решается этим: при расшифровке (на выбор) предложить открытие объекта справочника Сотрудники или Физические лица
Это уже на уровне компоновки не сделать, надо программировать. Подобные вопросы на форуме обсуждались, попробуйте поискать.
Группа: Пользователи
Сообщений: 65
Спасибо сказали: 0 раз
Рейтинг: 0
Да. Упорядочивание работает. А фильтр по фамилии?
А насчёт "на уровне компоновки" - это ясно, т.к. выбор Обработкой расшифровки дополняется - это понятно. Не понятно, почему в доступных данных ОбработкиРасшифровки есть только выводимые пользователю поля, а ссылки, которые не выводятся - отсутствуют. И вот как вытащить из результатов выполнения запроса не выведенные в отчёт ссылки - тут-то и вопрос. И, не понятно, если подменить ссылку на ФизЛицо представлением Фамилией, а ссылку на Сотрудника представлением Имени, то будет ли в Обработке расшифровки доступны ссылки?
Группа: Пользователи
Сообщений: 65
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(Vofka @ 22.07.13, 12:32)
Перед тем как писать - надо было потрудиться и попробовать работает ли фильтр. Забегая наперед сообщу, что работает. Пожалуйста, кстати.
Так не томите! Расскажите же КАК? Как заставить его по умолчанию фильтровать по Фамилии, а не по Ссылке, которую заменяет представлением Фамилия?
ОФФ: Один мой знакомый струбциной загонял тормозной поршень в суппорт - суппорт разорвало. А он очень "трудился". Модель была немецкая - поршень закручивающийся. Мораль: трудиться с нужным вектором правильно, иначе это деструкция или "мартышкин труд"))
--- По второй части - я ещё не проверил, какие данные выдаются СКД-ой при замене Представления в ДанныеРасшифровки (их я обозвал "доступные данные")
Группа: Пользователи
Сообщений: 65
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(Vofka @ 22.07.13, 13:40)
Если сделать всё, что выше написано - то у меня фильтрует именно по фамилии.
А у меня в Отфильтровать и Офирмить пишет "Фамилия = Иванов Иван Иваныч", т.е. по ссылке фильтрует... Хелп!!
Вторая часть Марлезонского балета чуть сложна была мне для написания, хотел убедиться что не напрасно оно будет, уж простите - когда решения вот так на раз подсказывают - всё захапать сразу хочется))
Страшно подходить к навороченной системе, а после обуча - кашка в голове!
В заключении вопроса (задача решена, все довольны, а я разбираюсь с тонкостями) - Вам все премного благодарны за оперативную (доходчивую) помощь! (Ща проплюсую везде)
------------- Вторая часть балета, кстати, выглядит так (может прокомментируете)):
Перем ВыполненноеДействие; СтандартнаяОбработка=Ложь; ОбработкаРасшифровки=Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); ДополнительныеДействия=Новый СписокЗначений; ДополнительныеДействия.Добавить("ОткрытьФЛ","Открыть карточку Физ.лица"); // добавляем свое действие ДополнительныеДействия.Добавить("ОткрытьСотр","Открыть карточку Сотрудника"); // добавляем свое действие Настройки=ОбработкаРасшифровки.Выполнить(Расшифровка,ВыполненноеДействие,,ДополнительныеДействия); Если Настройки<>Неопределено Тогда КомпоновщикНастроек.ЗагрузитьНастройки(Настройки); ЭлементыФормы.Результат.Очистить(); СкомпоноватьРезультат(ЭлементыФормы.Результат,ДанныеРасшифровки); Иначе ИД0= новый ИдентификаторРасшифровкиКомпоновкиДанных(0); Для каждого ЭлСтр из ДанныеРасшифровки.Элементы Цикл Если ЭлСтр.Идентификатор= ИД0 Тогда продолжить; КонецЕсли; Если ВыполненноеДействие="ОткрытьФЛ" И ЭлСтр.ПолучитьПоля()[0].Поле = "_3Имя" тогда ЭлСтр.ПолучитьПоля()[0].Значение.ПолучитьФорму().Открыть(); прервать; ИначеЕсли ВыполненноеДействие="ОткрытьСотр" И ЭлСтр.ПолучитьПоля()[0].Поле = "_4Отчество" тогда ЭлСтр.ПолучитьПоля()[0].Значение.ПолучитьФорму().Открыть(); прервать; КонецЕсли; КонецЦикла; КонецЕсли;
Группа: Пользователи
Сообщений: 65
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(Vofka @ 22.07.13, 14:29)
Вариант 2: а собственно, если у вас есть в запросе поле Фамилия, так отбирайте в отборе по нему.
Да, через кнопку "Дополнительно": Отфильтровать: Фамилия = Иванов Иван Иваныч Дополнительно позволяет выбрать любое поле, но пользователи этому не внемлят. Типа: "Я ткнула в фамилию, зачем мне дополнительно выбирать, что отфильтровать нужно именно по фамилии?" А в дополнительно - там видно, что подставляется Ссылка, что для расшифровки отрабатывает. Сортировка явно указана в СКД по какому именно полю, а Отбор и Оформление так и остались по ссылке.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!