7.7 Нумерация в таблице, и другое

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем kisol, 27 июл 2012.

  1. TopicStarter Overlay
    kisol
    Offline

    kisol Профессионал в 1С

    Регистрация:
    25 июл 2012
    Сообщения:
    395
    Симпатии:
    41
    Баллы:
    54
    Имееться самописный отчет его код

    Код:
    //*******************************************
    // Процедура генерации запроса Сформировать.
    //
    Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |ОбрабатыватьДокументы все;
    |Обрабатывать НеПомеченныеНаУдаление;
    |Сотрудник = Документ.ПриказНаОплатуПоСреднему1.Сотрудник;
    |НомерДок = Документ.ПриказНаОплатуПоСреднему1.НомерДок;
    |Начало = Документ.ПриказНаОплатуПоСреднему1.Начало;
    |Окончание = Документ.ПриказНаОплатуПоСреднему1.Окончание;
    |Группировка Сотрудник;
    |Группировка НомерДок;
    |Группировка Начало;
    |Группировка Окончание;
    |"//}}ЗАПРОС
    ;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
    КонецЕсли;
    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
    // Заполнение полей Сотрудник
    // Таб.ВывестиСекцию("Сотрудник");
    Пока Запрос.Группировка(2) = 1 Цикл
    // Заполнение полей НомерДок
    // Таб.ВывестиСекцию("НомерДок");
    Пока Запрос.Группировка(3) = 1 Цикл
    // Заполнение полей Начало
    //Таб.ВывестиСекцию("Начало");
    Пока Запрос.Группировка(4) = 1 Цикл
    // Заполнение полей Окончание
    Таб.ВывестиСекцию("Окончание");
    КонецЦикла;
    КонецЦикла;
    КонецЦикла;
    КонецЦикла;
    // Вывод заполненной формы
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
    КонецПроцедуры 
    
    Как сделать нумерацию данных в таблице?

    Также интересует разделение между сотрудниками. Может простая полоска чтобы можно было визуально отлечить?
    Прикрепил скрин

    Вложения:

  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Добавить колонку в макет и завести переменную в качестве счетчика строк. Внутри цикла суммируем
  3. TopicStarter Overlay
    kisol
    Offline

    kisol Профессионал в 1С

    Регистрация:
    25 июл 2012
    Сообщения:
    395
    Симпатии:
    41
    Баллы:
    54
    Колонку добавил =)
    Но не могу понять как завести переменную в качестве счетчика и как циклом суммировать? :unsure:
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Изменения выделены комментарием...
    Код:
    //*******************************************
    // Процедура генерации запроса Сформировать.
    //
    Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |ОбрабатыватьДокументы все;
    |Обрабатывать НеПомеченныеНаУдаление;
    |Сотрудник = Документ.ПриказНаОплатуПоСреднему1.Сотрудник;
    |НомерДок = Документ.ПриказНаОплатуПоСреднему1.НомерДок;
    |Начало = Документ.ПриказНаОплатуПоСреднему1.Начало;
    |Окончание = Документ.ПриказНаОплатуПоСреднему1.Окончание;
    |Группировка Сотрудник;
    |Группировка НомерДок;
    |Группировка Начало;
    |Группировка Окончание;
    |"//}}ЗАПРОС
    ;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
    КонецЕсли;
    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Ном=0; //ТУТ
    Пока Запрос.Группировка(1) = 1 Цикл
    // Заполнение полей Сотрудник
    // Таб.ВывестиСекцию("Сотрудник");
    Пока Запрос.Группировка(2) = 1 Цикл
    // Заполнение полей НомерДок
    // Таб.ВывестиСекцию("НомерДок");
    Пока Запрос.Группировка(3) = 1 Цикл
    // Заполнение полей Начало
    //Таб.ВывестиСекцию("Начало");
    Пока Запрос.Группировка(4) = 1 Цикл
    // Заполнение полей Окончание
    Ном=Ном+1; //И ТУТ
    Таб.ВывестиСекцию("Окончание");
    КонецЦикла;
    КонецЦикла;
    КонецЦикла;
    КонецЦикла;
    // Вывод заполненной формы
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
    КонецПроцедуры
    
  5. TopicStarter Overlay
    kisol
    Offline

    kisol Профессионал в 1С

    Регистрация:
    25 июл 2012
    Сообщения:
    395
    Симпатии:
    41
    Баллы:
    54
    Вообще красота, все работает.

    Также интересует разделение между сотрудниками. Может простая полоска или пропускать строку чтобы можно было визуально отлечить? :unsure: Ибо бухгалтер подчеркивает линейкой :icon_smilemin:
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Обратите внимание на секцию макета "Сотрудник". Можно там рамку пожирнее сделать или цветом... Дело вкуса.
    Раскомментируйте строку кода Таб.ВывестиСекцию("Сотрудник");
  7. TopicStarter Overlay
    kisol
    Offline

    kisol Профессионал в 1С

    Регистрация:
    25 июл 2012
    Сообщения:
    395
    Симпатии:
    41
    Баллы:
    54
    Да все отлично =)
    С вашей помощью постигаем АЗЫ 1са :n27:

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