Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: 1С для программиста

  Все выпуски  

RusFAQ.ru: 1С для программиста


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

Чемпионы рейтинга экспертов в этой рассылке

Bondarev A.B.
Статус: 3-й класс
Рейтинг: 40
∙ повысить рейтинг >>
Fedor_sh
Статус: 10-й класс
Рейтинг: 39
∙ повысить рейтинг >>
Saransk78
Статус: 4-й класс
Рейтинг: 29
∙ повысить рейтинг >>

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / 1С для программиста

Выпуск № 911
от 16.12.2008, 12:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 388, Экспертов: 47
В номере:Вопросов: 1, Ответов: 5

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>

Вопрос № 153913: Привет все , подскажите как из подбора тз на форме вывести на печать сотрудники с группировкой по подразделениями , примерно так. Выбираю сотрудников из справочника в печатной форме выводилось группировка по подразделениями Вот код подправте ...


Вопрос № 153.913
Привет все , подскажите как из подбора тз на форме вывести на печать сотрудники с группировкой по подразделениями , примерно так. Выбираю сотрудников из справочника в печатной форме выводилось группировка по подразделениями

Вот код подправте что не так

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

ТЗ = СоздатьОбъект("ТаблицаЗначений");
ВыгрузитьТабличнуюЧасть(ТЗ);
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Т-7");
Таб.ВывестиСекцию("Ш апка");
ВысотаШапки = Таб.ВысотаСекции("Шапка");
ВыбратьСтроки();
Подр1 = "";
Пока ПолучитьСтроку() =1 Цикл

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




КонецЦикла;

НомерПервойСтрокиПовторения = Таб.ВысотаСекции("Шапка<")+1;

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

КонецПроцедуры
Отправлен: 11.12.2008, 12:29
Вопрос задал: Жаконя (статус: Посетитель)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Анатолий Бурнашев
Здравствуйте, Жаконя!

Сделайте запрос по табличной части документа и воспользуйтесь в запросе группировкой по подразделению.
Если пользоваться ТЗ, то можно поступить так:
1. Сделать копию ТЗ
2. Свернуть копию по подразделениям
3. Обойти строки копии (получившийся список подразделений) и выбирать соответствующие записи первой таблицы.
---------
Только вперед!
Ответ отправил: Анатолий Бурнашев (статус: 2-й класс)
Ответ отправлен: 11.12.2008, 12:41

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 238276 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Отвечает: Vlad Skorochod
    Здравствуйте, Жаконя!
    Сделайте еще одну колонку в ТЗ "Подразделение". Заполните ее и сделайте сортировку по этой колонке. пример смотрим в приложении. Если надо еще и итоги по подразделению выводить, то тогда надо сделать вторую ТЗ с выгрузкой данных из первой и сверткой по колонке "Подразделенние".

    Приложение:

    Ответ отправил: Vlad Skorochod (статус: Студент)
    Ответ отправлен: 11.12.2008, 12:53

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 238277 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Отвечает: Крюков Р.А.
    Здравствуйте, Жаконя!
    Добавьте колонку "Подразделение" в таблицу значений, заполните данными по сотрудникам, выполните сортировку по колонке. Далее по накатанной схеме.
    Условие будет выглядеть так.
    ------------------------------------------------------------------------------
    Подр = "";
    Пока ПолучитьСтроку() =1 Цикл

    Если НЕ(подр = ТЗ.Подразделение) Тогда
    Таб.ВывестиСекцию("Под");
    подр = ТЗ.Подразделение
    КонецЕсли;
    ---------
    Отвечаю только на вопросы в тему.
    Ответ отправил: Крюков Р.А. (статус: 4-й класс)
    Ответ отправлен: 11.12.2008, 12:55

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 238278 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Отвечает: Сайко Владимир Владимирович
    Здравствуйте, Жаконя!
    На мой взгляд два варианта решения
    1.В ТЗ добавить поле Подразделение а затем по нем сгрупировать и вывести отчет(Пример уже приводили).
    2.Или в момент вывода фильтровать примерный код
    Спр = СоздатьОбъект("Справочник.Подразделения");
    Спр.ВыбратьЭлементы();
    Пока Спр.ПолучитьЭлемент() = 1 Цикл
    подр = Спр.Текущийэлемент();
    Таб.ВывестиСекцию("Под");
    ВыбратьСтроки();

    Пока ПолучитьСтроку() =1 Цикл

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




    КонецЦикла;



    КонецЦикла;
    примерно вот так должно работать
    Ответ отправил: Сайко Владимир Владимирович (статус: 1-й класс)
    Ответ отправлен: 12.12.2008, 09:04

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 238382 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Отвечает: Шахрайчук Владимир Анатольевич
    Здравствуйте, Жаконя!
    Вижу вот такую ошибку в коде
    Если подр = Сотрудник.Подразделение.Получить(ДатаДок).Наименование Тогда
    Наиенование всегда праводополненное пробелами до длины, указанной в конфигураторе. Поэтому сравнение всегда ложно.
    Правильно так:
    Если подр = СокрЛП(Сотрудник.Подразделение.Получить(ДатаДок).Наименование) Тогда
    Ответ отправил: Шахрайчук Владимир Анатольевич (статус: Специалист)
    Ответ отправлен: 13.12.2008, 12:52

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 238503 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вы имеете возможность оценить этот выпуск рассылки.
    Нам очень важно Ваше мнение!
    Оценить этот выпуск рассылки >>

    Отправить вопрос экспертам этой рассылки

    Приложение (если необходимо):

    * Код программы, выдержки из закона и т.п. дополнение к вопросу.
    Эта информация будет отображена в аналогичном окне как есть.

    Обратите внимание!
    Вопрос будет отправлен всем экспертам данной рассылки!

    Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
    экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


    Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
    Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2008, Портал RusFAQ.ru, Россия, Москва.
    Авторское право: ООО "Мастер-Эксперт Про"
    Техподдержка портала, тел.: +7 (926) 535-23-31
    Хостинг: "Московский хостер"
    Поддержка: "Московский дизайнер"
    Авторские права | Реклама на портале

    ∙ Версия системы: 5.13 от 01.12.2008

    Яндекс Rambler's Top100
    RusFAQ.ru | MosHoster.ru | MosDesigner.ru
    RusIRC.ru | Kalashnikoff.ru | RadioLeader.ru

    В избранное