Гркппировать ТЗ

1. koloboc74 83 12.12.08 10:37 Сейчас в теме
Вот проблемка , имется форма с подбором по сотрудникам вводом даты все это в ТЗ , подскажите можит я не доганяю , надо свернуть сотрудников с одинаковыми подразделениями для вывода на печать .Сотрудников выбираю в хаотичном порядке , а он мне выдает либо у каждого человека подразделение либо вообще пусто.
Вот код


Процедура Печать()
ВыгрузитьТабличнуюЧасть(тз);
НазваниеОрганизации = Константа.НазваниеОрганизации;
ДолжностьРуководителя = Константа.Руководитель.Получить(ТекущаяДата()).Должность.Получить(ТекущаяДата());
ФИОРуководителя = глФамилияИмяОтчество(Константа.Руководитель.Получить(ТекущаяДата()));
ДолжностьРуководителяОК = Константа.НачОтделаКадров.Должность.Получить(ТекущаяДата());
ФИОРуководителяОК = глФамилияИмяОтчество(Константа.НачОтделаКадров);
КодПоОКПО = Константа.КодОКПО;
Год = ДатаГод(ДатаНач);

Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Т-7");
Таб.ВывестиСекцию("Шапка");
ВысотаШапки = Таб.ВысотаСекции("Шапка");


ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
тз.НоваяСтрока();
тз.подр = Сотрудник.Подразделение.Получить(ДатаДок);
Если тз.подр = подр Тогда // что-то не так
Таб.ВывестиСекцию("Под");
подр1 = тз.подр;

КонецЕсли;

долж = сотрудник.Должность.Получить(ДатаДок);
Сотр= Сотрудник;
Таб.ВывестиСекцию("Строка");
КонецЦикла;
НомерПервойСтрокиПовторения = Таб.ВысотаСекции("Шапка<")+1;

Таб.ПовторятьПриПечатиСтроки(НомерПервойСтрокиПовторения,ВысотаШапки);
Таб.ВывестиСекцию("Подвал");
Таб.Опции(0,0,0,0);
Таб.ТолькоПросмотр(1);
Таб.ПараметрыСтраницы(2,,,,,,,,,1,1,);
Таб.Показать("График будующих отпусков");

КонецПроцедуры
тз = СоздатьОбъект("ТаблицаЗначений");

Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Душелов 4017 12.12.08 10:52 Сейчас в теме
Что такое "подр" и "подр1" ? Где устанавливаются значения?
3. koloboc74 83 12.12.08 10:58 Сейчас в теме
подр1 это на вывод на таблицу
подр это на тз при подборе сотрудника получает подразделение
4. Душелов 4017 12.12.08 11:28 Сейчас в теме
5. koloboc74 83 12.12.08 11:32 Сейчас в теме
да там в колонке видно , сотрудник и его подразделение
вот код подбора

Процедура ОбработкаПодбора(Элемент,КонтФормы)

Если ПустоеЗначение(Элемент)=0 Тогда
Если Элемент.ЭтоГруппа()=0 Тогда
Если Элемент <> Элемент.ОсновнойЭлемент Тогда
Элемент = Элемент.ОсновнойЭлемент
КонецЕсли;
Если Элемент.Выбран() = 1 Тогда
Если глНайтиСотрудникаВТаблицеДокумента(Контекст,Элемент,1)=0 Тогда
НоваяСтрока();
Сотрудник = Элемент;
подр = Сотрудник.Подразделение.Получить(ДатаДок);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;

КонецПроцедуры // ОбработкаПодбора()
6. Душелов 4017 12.12.08 11:48 Сейчас в теме
А может так?

Код
ВыбратьСтроки(); 
    Пока ПолучитьСтроку() = 1 Цикл 
    тз.НоваяСтрока(); 
    тз.подр = Сотрудник.Подразделение.Получить(ДатаДок); 
    Если тз.подр = подр Тогда // что-то не так 
        Таб.ВывестиСекцию("Под"); 
        подр1 = тз.подр; 
    Иначе
         Продолжить;
    КонецЕсли;
Показать полностью


И вообще, зачем нужно ТЗ создавать?
7. koloboc74 83 12.12.08 11:52 Сейчас в теме
А как тогда лучше подскажи ?
Просто посоветовали выгрузить в ТЗ и там сортировать
8. Душелов 4017 12.12.08 12:00 Сейчас в теме
Ну так и выгрузи :) И отсортируй. Зачем создавать-то? Да и еще при печати, да еще и сравнивая с каким-то "подр".
9. Душелов 4017 12.12.08 12:01 Сейчас в теме
Смотрю, выгрузка есть, а где сортировка? И добавлять в тз ничего не надо.
И выводить на печать надо из перебора строк тз, а не табличной части.
10. Ёпрст 1063 12.12.08 12:31 Сейчас в теме
Смешались в кучу-люди кони ...
Автор мало того что выгрузил табличную часть в ТЗ, он потом в неё еще раз строки добавил при обходе строк документа...
Оставьте свое сообщение

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