Лист согласования

1. deniskot 19.03.13 17:03 Сейчас в теме
Доброго всем времени суток. Помогите настроить лист согласования. Когда он выводится на печать,то согласующие выстраиваются в непонятном порядке, то есть директор может быть в середине списка. Как можно можно настроить правильный порядок формирования списка согласующих,от старшей должности к более низким
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Skromnyi 13 20.03.13 11:25 Сейчас в теме
Или вносить изменения в общий модуль РаботаСВизамиСогласования функция ПечатьЛистаСогласованияИзДокумента (установить порядок тот, что Вам нужен) или создайте внешнюю печатную форму (что-бы не вносить изменения в коде)
3. deniskot 20.03.13 15:34 Сейчас в теме
Функция ПечатьЛистаСогласованияИзДокумента(МассивОбъектов, ОбъектыПечати) Экспорт

// Создаем табличный документ и устанавливаем имя параметров печати
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = "ПараметрыПечати_ЛистСогласования";

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ВизыСогласования.Документ КАК Ссылка,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ВизыСогласования.Исполнитель) = ТИП(Справочник.Пользователи)
| ТОГДА """" + ВизыСогласования.Исполнитель.Наименование
| КОГДА ВизыСогласования.ДополнительныйОбъектАдресации <> НЕОПРЕДЕЛЕНО
| ТОГДА """" + ВизыСогласования.Исполнитель.Наименование + "" ("" + ВизыСогласования.ОсновнойОбъектАдресации.Наименование + "", "" + ВизыСогласования.ДополнительныйОбъектАдресации.Наименование + "")""
| КОГДА ВизыСогласования.ОсновнойОбъектАдресации <> НЕОПРЕДЕЛЕНО
| ТОГДА """" + ВизыСогласования.Исполнитель.Наименование + "" ("" + ВизыСогласования.ОсновнойОбъектАдресации.Наименование + "")""
| ИНАЧЕ """" + ВизыСогласования.Исполнитель.Наименование
| КОНЕЦ КАК Исполнитель,
| ВизыСогласования.РезультатСогласования КАК РезультатСогласования,
| ВизыСогласования.ДатаИсполнения КАК ДатаИсполнения,
| СведенияОПользователях.Должность.Представление КАК Должность,
| ВизыСогласования.Комментарий КАК РезультатВыполнения
|ИЗ
| РегистрСведений.ВизыСогласования КАК ВизыСогласования
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОПользователях КАК СведенияОПользователях
| ПО ВизыСогласования.Исполнитель = СведенияОПользователях.Пользователь
|ГДЕ
| ВизыСогласования.Документ В(&МассивОбъектов)
| И Не ВизыСогласования.ПомещенаВИсторию
| И Не ВизыСогласования.Удалена
|
|ИТОГИ ПО
| Ссылка";

Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);

Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Макет = БизнесПроцессы.Согласование.ПолучитьМакет("ЛистСогласования");
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьИсполнителиШапка = Макет.ПолучитьОбласть("ИсполнителиШапка");
ОбластьИсполнители = Макет.ПолучитьОбласть("Исполнители");


ПервыйДокумент = Истина;
Пока Выборка.Следующий() Цикл

Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;

// Запомним номер строки с которой начали выводить текущий документ
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;


ТабличныйДокумент.Вывести(ОбластьЗаголовок);

Предмет = Выборка.Ссылка;
Если ЗначениеЗаполнено(Предмет) Тогда
ОбластьШапка.Параметры.Предмет = Предмет.Метаданные().ПредставлениеОбъекта + " """ + Строка(Предмет) + """";
ТабличныйДокумент.Вывести(ОбластьШапка);
КонецЕсли;

ТабличныйДокумент.Вывести(ОбластьИсполнителиШапка);
ВыборкаИсполнители = Выборка.Выбрать();
Пока ВыборкаИсполнители.Следующий() Цикл
ОбластьИсполнители.Параметры.Заполнить(ВыборкаИсполнители);
ТабличныйДокумент.Вывести(ОбластьИсполнители);
КонецЦикла;


// В табличном документе зададим имя области в которую был
// выведен объект. Нужно для возможности печати по-комплектно.
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, Выборка.Ссылка);
КонецЦикла;

Возврат ТабличныйДокумент;

КонецФункции
В каком месте вносить изменения? Подскажите
4. Skromnyi 13 20.03.13 15:59 Сейчас в теме
какой смысл переносить текст функции сюда :)
в запросе, между ГДЕ и ИТОГИ ПО Например, для упорядочивания по дате исполнения:
| И Не ВизыСогласования.Удалена
|
|УПОРЯДОЧИТЬ ПО
| ДатаИсполнения
|ИТОГИ ПО
5. deniskot 20.03.13 16:11 Сейчас в теме
6. Skromnyi 13 20.03.13 16:36 Сейчас в теме
"от старшей должности к более низким" так (от ранга **** до ранга *):
|УПОРЯДОЧИТЬ ПО
| СведенияОПользователях.Ранг УБЫВ
7. deniskot 21.03.13 07:56 Сейчас в теме
Огромное Вам спасибо. Была мысль по рангу сделать,так как директоров у нас в компании много
8. Skromnyi 13 21.03.13 09:07 Сейчас в теме
ИМХО правильней вариант будет все-таки по ДатеИсполнения
9. deniskot 21.03.13 10:22 Сейчас в теме
По дате исполнения в моем случае не подходит
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот