8.х Печатная форма

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Мариночка, 27 фев 2014.

  1. antares
    Offline

    antares Опытный в 1С

    Регистрация:
    30 ноя 2006
    Сообщения:
    340
    Симпатии:
    7
    Баллы:
    29
    вот объясните мне пожалуйста, зачем вы внутри цикла определения имени сотрудника еще делаете вложенный цикл по определению его должности? у каждого из ваших сотрудников по нескольку должностей чтоли?
    Код:
            Для Каждого Член  Из Комиссия Цикл         
                Комиссия3.Параметры.Сотрудник = Член;
                Для каждого Сотрудник Из Ком Цикл
             
                 Комиссия3.Параметры.Должность = Сотрудник;
     
             
                КонецЦикла;
                ТабДокумент.Вывести(Комиссия3);
                Индекс = Индекс + 1;
            КонецЦикла;
         
                Иначе
            Для Индекс = 1 По 3 Цикл
                //Комиссия2.Параметры.НомерЧел = Индекс;
                Комиссия3.Параметры.Сотрудник = "                                 ";
                ТабДокумент.Вывести(Комиссия3);         
            КонецЦикла;
    ну и назначение последнего цикла мне совсем не понятно; заметьте, вы внутри этих циклов вывели область печати Комисси3 N+3 раз, где N - число сотрудников в комиссии, а должны были для каждого сотрудника вывести область только один раз, полностью перед этим заполнив все параметры из этой области
  2. TopicStarter Overlay
    Мариночка
    Offline

    Мариночка

    Регистрация:
    24 фев 2014
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1
    Тогда можно ли через таблицу значений? потом выводить колонки?
    Код:
     Функция ПолучитьДолжностьЧленовКомиссии(ДатаАктуальности, Организация, Подразделение) Экспорт
    ТЗ = Новый ТаблицаЗначений;
        Запрос = Новый Запрос();
       
        УсловияЗапроса = "";
        Если ЗначениеЗаполнено(Организация) ИЛИ ЗначениеЗаполнено(Подразделение) Тогда
            Если ЗначениеЗаполнено(Организация) Тогда
                УсловияЗапроса = УсловияЗапроса + "
                |    И Комиссия.Организация = &Организация";
            КонецЕсли;
            Если ЗначениеЗаполнено(Подразделение) Тогда
                УсловияЗапроса = УсловияЗапроса + "
                |    И Комиссия.Подразделение = &Подразделение";
            КонецЕсли;
        КонецЕсли;
       
        Запрос.Текст =
            "ВЫБРАТЬ ПЕРВЫЕ 1
            |    Комиссия.Ссылка
            |ИЗ
            |    Документ.Комиссия КАК Комиссия
            |ГДЕ
            |    Комиссия.Проведен = ИСТИНА" + УсловияЗапроса + "
            |
            |УПОРЯДОЧИТЬ ПО
            |    Комиссия.МоментВремени УБЫВ"
        ;
       
        Запрос.УстановитьПараметр("Организация", Организация);
        Запрос.УстановитьПараметр("Подразделение", Подразделение);
       
        ТЗ = Запрос.Выполнить().Выбрать();
         //ТЗ.Колонки.Добавить("Сотрудник");
         //ТЗ.Колонки.Добавить("Должность");
        
        Если ТЗ.Следующий() Тогда
       
        Для каждого Строки Из ТЗ.Ссылка.Сотрудники Цикл
       
        //ТЗ.Добавить();
        ТЗ.Сотрудник =Строки.Сотрудник;
        ТЗ.Должность = Строки.Должность;   
          
        КонецЦикла; 
            Возврат ТЗ;
        КонецЕсли;
    
        КонецФункции
    
    Вот как-нибудь так... Только в ТЗ не выгружает ничего(((
  3. TopicStarter Overlay
    Мариночка
    Offline

    Мариночка

    Регистрация:
    24 фев 2014
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1
    о.. все получилось спасибо!!!!!!!!!!!!
    Код:
    Если ЧленыКомиссииНайдены Тогда
            Индекс = 1;
            Для Каждого Член  Из Комиссия Цикл           
                Комиссия3.Параметры.Сотрудник = Член.Значение;
                Комиссия3.Параметры.Должность = Член.Представление;
                  ТабДокумент.Вывести(Комиссия3);
               
            КонецЦикла
  4. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.989
    Симпатии:
    399
    Баллы:
    104
    Уоу уоу, полегче. Переменная под именем член это уже перебор. Раз уж пишите программный код, так пишите красиво и по правилам.
  5. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Тогда уж:
    Код:
    Для Каждого Члена Из Комиссии Цикл
    Иногда я могу себе позволить такие приколы в коде :D
  6. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.989
    Симпатии:
    399
    Баллы:
    104
    ОФФТОП. Не думаю, что она приколом это написала. Я люблю комменты оставлять, типа: "Какого х... этот муд...к написал так запрос?" и т.д. :D :D :D А потом руководитель зачем то лезет в код и натыкается именно на этот коммент. ))))) Уже несколько раз такое было. Зато все поржали.
  7. antares
    Offline

    antares Опытный в 1С

    Регистрация:
    30 ноя 2006
    Сообщения:
    340
    Симпатии:
    7
    Баллы:
    29
    ОФФТОП. Люблю шокировать юзеров откровенными и легкомысленными сабжами на события, но стараюсь сдерживаться, эксплуатационная этика превыше: ржут до поры до времени, потом убедительно просят заменить на более тактичное))
  8. TopicStarter Overlay
    Мариночка
    Offline

    Мариночка

    Регистрация:
    24 фев 2014
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1
    не думаю что кто - то полезет читать код))))) так что можно))))))))))))))
  9. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.989
    Симпатии:
    399
    Баллы:
    104
    Ошибаетесь. У меня однажды вот как было. Написал подобный код с комментами веселыми. Причем мата я не жалел. Затем директор компании захотел произвести анализ конфы (т.е. кк сильно она отличается от типового функционала) и отправил конфу на анализ разработчикам. Они прислали ему подробный отчет. А мои комментарии выделили жирным шрифтом. Конечно все же понимают, что это безобидный комментарий. Все поржали. Но люди разные, и как могут отреагировать на такое не известно. Так что аккуратнее.
  10. TopicStarter Overlay
    Мариночка
    Offline

    Мариночка

    Регистрация:
    24 фев 2014
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1
    :D:D:D:D:D это конфа собственная разработка и только для ИТ отдела)))) так что)
  11. st88
    Offline

    st88 Профессионал в 1С Команда форума

    Регистрация:
    18 окт 2012
    Сообщения:
    1.726
    Симпатии:
    28
    Баллы:
    54
    Ну вы всё-таки с переменными типа "член" полегче, у вас же наверняка ИТ отдел не только из женской половины состоит...))))))
  12. TopicStarter Overlay
    Мариночка
    Offline

    Мариночка

    Регистрация:
    24 фев 2014
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1
    Только из мужской))) мне прям повезло))

Поделиться этой страницей