Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 20:05

Реквизиты Табличной части

Автор asmut, 07 июн 2011, 14:59

0 Пользователей и 1 гость просматривают эту тему.

asmut

День добрый.
Делаю Справочник Сотрудники, и пришла идея создать Табличную часть где будут содержаться ссылки на все документы касающиеся именно этого сотрудника.
Какие варианты предложите?

Понимаю попахивает бредятиной, если не сказать мазохизмом, но лишь на первый взгляд.
Можно конечно добавить реквизит Документы в том же справочнике и пустить ссылку на ЖурналДокументы, но как там реализовать чтобы документы были именно по одному сотруднику.

cska-fanat-kz

"Ссылка на Журнал документов" попахивает бредятиной, а список документов по определенному сотруднику попахивает критерием отбора...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Шурыгин Иван Сергеевич

Цитата: asmut от 07 июн 2011, 14:59
День добрый.
Делаю Справочник Сотрудники, и пришла идея создать Табличную часть где будут содержаться ссылки на все документы касающиеся именно этого сотрудника.
Какие варианты предложите?

Понимаю попахивает бредятиной, если не сказать мазохизмом, но лишь на первый взгляд.
Можно конечно добавить реквизит Документы в том же справочнике и пустить ссылку на ЖурналДокументы, но как там реализовать чтобы документы были именно по одному сотруднику.

давайте уйдем немного в полемику... справочник, от слова справка... а документ фактическое действие... нельзя в справочнике хранить ссылки на сотрудника... а если уж необходимо получить все документы в которых есть сотрудник.. то напишите вот такой код примерно


СписокИменДокументов = Новый СписокЗначений;
Для Каждого ОбъектМетаданных Из Метаданные.Документы Цикл
    СписокИменДокументов.Добавить(ОбъектМетаданных.Имя);
КонецЦикла;

Ссылки = Новый Массив;
Ссылки.Добавить(Сотрудник.Ссылка);
ТабСсылок = НайтиПоСсылкам(Ссылки);
СписокДокументов = Новый СписокЗначений;
Для Каждого Ссылка из ТабСсылок Цикл
    Если СписокИменДокументов.НайтиПоЗначению(Ссылка[1].Метаданные().Имя) <> Неопределено Тогда
          СписокДокументов.Добавить(Ссылка[1]);
    КонецЕсли;
КонецЦикла;


итого в переменной СписокДокументов, будет хранится список абсолютно всех документов на кого ссылается сотрудник.
===================================
жизнь надо прожить так, чтоб вверху посмотрели.
и сказали "А ну ка повтори"
===================================

cska-fanat-kz

Дубль 2.
Текущая задача прекрасно реализуется критерием отбора.
Да и с интерфейсом не надо мудрить - система сама добавляет в "Перейти" формы списка нужную ссылку...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

asmut

Фанат я не совсем понимаю всю силу и величие Критерии отбора, покажи пример чтобы я понял. Буду признателен

cska-fanat-kz

Почитайте Радченко "Практическое пособие разработчика", раздел "Объекты, введенные на основании".
Там все подробно описано...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

DinamoYA

Цитата: asmut от 07 июн 2011, 14:59
Делаю Справочник Сотрудники, и пришла идея создать Табличную часть где будут содержаться ссылки на все документы касающиеся именно этого сотрудника.
Какие варианты предложите?
Зачем ссылки хранить? Чем не устраивает получение списка (таблицы) документов запросом?
Что значит "касающиеся"?

cska-fanat-kz

Цитата: DinamoYA от 08 июн 2011, 14:05
Зачем ссылки хранить? Чем не устраивает получение списка (таблицы) документов запросом?
Что значит "касающиеся"?

Это автор образно предложил Табличную Часть...
Само собой хранить ссылки нецелесообразно.

Для любителей "сложных путей":
1. Сделать обработку
2. Кинуть на форму ТабличноеПоле с ТипомЗначения ТаблицаЗначений
3. Запросить сотрудника (или устанавливать при открытии - передавать текущего сотрудника в форме списка сотрудников)
4. "Засунуть" ТекСотрудника в запрос и вытащить документы
5. Выгрузить результат запроса в ТабличноеПоле
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Шурыгин Иван Сергеевич

а чем мой вариант не дееспособен то??? какой запрос писать?? в добавок при измении конфы запрос надо всегда переписывать... а я предложил использовать универсальную процедуру для получения того же списка всех документов... также можно получать все ссылки на справочники...
===================================
жизнь надо прожить так, чтоб вверху посмотрели.
и сказали "А ну ка повтори"
===================================

cska-fanat-kz

Цитата: Шурыгин Иван Сергеевич от 10 июн 2011, 16:41
а чем мой вариант не дееспособен то??? какой запрос писать?? в добавок при измении конфы запрос надо всегда переписывать... а я предложил использовать универсальную процедуру для получения того же списка всех документов... также можно получать все ссылки на справочники...

Никто не говорит что Ваше решение плохое
Вариантов решения задачи - множество!
Например с помощью КритериевОтбора ;)
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск