Посчитать количество документов скд 1с

Обновлено: 07.07.2024

В Ресурсах Количество(Различные =ПолеСсылки=) и в группировку это поле добавить.

как вариант, добавить системное поле номер по порядку в группе

Потому что у тебя нижний уровень - тоже группировка, а не детальные записи. Считать нечего.

+ В таком варианте можно в самом запросе считать количество в отдельном поле.

А как сделать детальные записи. Или как в запросе ? Подойдет любой вариант чтобы получить нужный результат. Текст запроса: ВЫБРАТЬ Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю Немного поподробнее, если возможно. Заранее огромное спасибо за советы.

Детальные записи - так же как группировку добавить, но не отмечать поля для группировки(оставить "Поле" пустым).

Расчитывать по. :) И заявку надо в группировку добавить, а не в детальные записи.

Рассчитывать По, выставлял значение менеджер, не помогло, потом убрал. Вы до этого писали "Потому что у тебя нижний уровень - тоже группировка, а не детальные записи. Считать нечего". Я подумал, что в группировку нельзя добавлять. Сейчас добавил, ничего не изменилось. С самого начала. Упрощаю задачу. Есть запрос: Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю Ссылка выбираю один раз для группировки, второй раз для использования в ресурсах. Все правильно ? Дальше в ресурсах указываю. Ссылка - Количество(Ссылка)- Рассчитывать ПО "Менеджер". Группировки формирую; Логист Менеджер (здесь подставляю ресурс ссылка) Все правильно или нет ?

Не надо два раза. Можно, но необязательно. По сути "Ресурсы" - это аналог итогов в запросе, в детальных записях будет значение ссылки, а в итоговых(в группировках) - значение агрегатной функции.

Сделал так как советовали. Запрос: ВЫБРАТЬ СчетНаОплатуПокупателю.Отправил КАК Логист, ИЗ Вот, что получил. Не работает что-то :(

Шеф, а поля в детальные записи кто будет добавлять? Может книжку почитаете уже?

1) Воткнуть в ресурсы и привязать Количество Различные, или Количество 2) Сделать доп. поле в запросе и его воткнуть в ресурс - тог8да уж точно посчитает.

Добавляю. Уже как только не пробовал. Не работает. Вот обработка. Она не будет работать в типовой, просто саму структуру посмотреть. Если не сложно покажите, что не так.

Расположение итогов - "нет" в условном оформлении. Гениально, шеф! Я минут 10 искал, что ты намудрил.

Войдите как ученик, чтобы получить доступ к материалам школы

Система компоновки данных 1С 8.3 для начинающих: первый отчёт на СКД

Автор уроков и преподаватель школы: Владимир Милькин

Если вы не читали введение к этому модулю - пожалуйста, прочтите его: ссылка.

Готовим рабочее место

Для выполнения уроков вам понадобится 1С 8.3 (не ниже 8.3.13.1644) .

Если у вас уже есть установленная 1С версии 8.3 - используйте её. Если нет - скачайте и установите учебную версию, которую фирма 1С выпускает специально для образовательных целей: ссылка на инструкцию по скачиванию и установке 1С.

На вашем рабочем столе должен появиться вот такой ярлык:

Для всех уроков из этого цикла мы будем использовать подготовленную мной базу данных "Гастроном". Она полностью совпадает с базой, которую мы использовали в четвёртом и пятом модулях школы при изучении запросов. Поэтому я рассчитываю, что вы знакомы с её справочниками и документами.

Если вы её удалили - скачайте заново по следующей ссылке, распакуйте и подключите в список баз.

Наконец, рабочее место настроено и сейчас мы вместе создадим наш первый отчёт при помощи системы компоновки данных. Он будет очень простым, чтобы продемонстрировать общие возможности системы компоновки данных (сокращенно СКД).

Ставим цель

Цель этого урока - создать отчёт, который в режиме пользователя выводит список клиентов со следующими полями:

  • Имя
  • Пол
  • Любимый цвет клиента.

Отчёт должен быть внешним. Это значит, что он будет создан и настроен в конфигураторе, а затем сохранен в виде отдельного (внешнего) файла на компьютере.

Чтобы сформировать такой отчет в 1С пользователю нужно будет запустить базу в режиме пользователя, открыть этот файл и нажать кнопку "Сформировать".

Создаём отчёт

Запускаем конфигуратор для базы "Гастроном":

Из главного меню выбираем пункт "Файл"->"Новый. ":

Выбираем "Внешний отчет":

Создаём схему компоновки данных внутри отчёта

Открылось окно создания внешнего отчёта. В качестве имени вводим: "Урок1", а затем жмём кнопку "Открыть схему компоновки данных":

Запустился конструктор создания схемы. Соглашаемся с именем по умолчанию "ОсновнаяСхемаКомпоновкиДанных" и жмём кнопку "Готово":

Открылось основное рабочее окно, с множеством закладок и полей, в котором мы и будем настраивать нашу схему компоновки данных.

Не нужно пугаться - возможностей здесь действительно много, но далеко не все из них нам нужны. Особенно на первом уроке.

Сейчас мы находимся на закладке "Наборы данных". На ней и останемся.

Пишем запрос через конструктор

Система компоновки данных (сокращенно СКД) требует от нас данные, которые она будет выводить пользователю.

Самый простой способ - написать запрос к базе. В предыдущих модулях школы мы научились писать и понимать запросы - поэтому я рассчитываю, что вы обладаете соответствующими навыками.

Нажимаем на зелёный плюсик и в раскрывшемся списке выбираем пункт "Добавить набор данных - запрос":

Добавился набор данных с именем "НаборДанных1", но мы видим, что поле "Запрос" в нижней части окна пока пустое:

Наша задача написать в это поле текст запроса. Вы ещё не забыли как это делается?

В этом запросе мы выбрали три поля ("Наименование", "Пол" и "ЛюбимыйЦвет") из таблицы "Справочник.Клиенты".

Но не торопитесь писать этот текст в поле "Запрос" вручную.

Сейчас мы создадим тот же самый запрос визуально, только при помощи мышки. Этот способ называется "Конструктор запроса".

Чтобы вызвать этот конструктор нажмём кнопку "Конструктор запроса. " в верхней правой части поля "Запрос":

В открывшемся окне перетащим таблицу "Клиенты" из первого столбца во второй, чтобы указать, что именно из этой таблицы мы будем запрашивать данные:

Получилось вот так:

Далее раскроем таблицу "Клиенты" во втором столбце по знаку "Плюс", чтобы увидеть все её поля и перетащим поле "Наименование" из второго столбца в третий, чтобы указать, что из этой таблицы нам нужно запрашивать поле "Наименование":

Получилось вот так:

Поступим точно так же с полями "Пол" и "ЛюбимыйЦвет". Результат будет таким:

Нажмём кнопку "ОК", чтобы выйти из конструктора запроса и увидим, что текст запроса автоматически добавился в поле "Запрос".

Более того на основании текста запроса 1С сама вытащила имена полей (область выше запроса), которые будут использоваться схемой компоновки данных:

Теперь, когда мы составили запрос, СКД знает каким образом получать данные для отчёта.

Настраиваем представление данных

Осталось как-то визуализировать эти данные для пользователя в виде печатной формы. И вот тут СКД может творить чудеса!

Чтобы сотворить такое чудо перейдём на вкладку "Настройки" и нажмём кнопку конструктора настроек (волшебная палочка):

В открывшемся окне укажем тип отчёта "Список" и нажмём "Далее":

В следующем окне выберем (путём перетаскивания) поля, которые нужно будет отобразить в списке (перетащим все из доступных нам: "ЛюбимыйЦвет", "Наименование" и "Пол"):

Получим вот такой результат и нажмём кнопку "ОК":

Конструктор настроек закрылся и появился пункт "Детальные записи":

Отчёт готов, давайте же его проверим. Для этого вначале сохраним отчет в виде внешнего файла.

Сохраняем отчёт в виде файла

Откроем пункт главного меню "Файл"->"Сохранить":

Я сохраню его на рабочий стол под именем "Урок1":

Проверяем отчёт в режиме пользователя

Наконец, закроем конфигуратор и зайдём в нашу базу в режиме пользователя:

Имя пользователя "Администратор", пароля нет:

Через меню выберем пункт "Файл"->"Открыть. ":

И укажем файл отчёта (я сохранял его на рабочий стол под именем "Урок1.erf":

Открылась форма отчёта, нажмём кнопку "Сформировать":

Готово! Вот она наша печатная форма со списком клиентов, их любимым цветом и полом:

Печатную форму можно легко распечатать. Для этого достаточно выбрать в меню пункт "Файл"->"Печать. ":

Вот так просто, без программирования нам удалось создать полноценный отчёт, который пользователи смогут открывать в своих базах, формировать и распечатывать.

То ли ещё будет, наберитесь терпения

Эталонная обработка, после выполнения всех шагов этого урока

Войдите на сайт как ученик

Для учеников

Прибегайте к изучению эталонного варианта только после самостоятельного выполнения всех шагов.

На вопросы учеников — отвечаю по почте, но прежде загляните в ЧАВО (ссылка) .

Войдите как ученик, чтобы получить доступ к материалам школы

Система компоновки данных 1С 8.3 для начинающих: представление отчёта в виде таблицы

Автор уроков и преподаватель школы: Владимир Милькин

На всех прошлых уроках мы выводили данные в отчет в виде списка. Сегодня разберёмся со вторым типом отчета: "Таблица".

Ставим цель

  • Написать отчёт, который выводит информацию о заказе еды клиентами в виде таблицы.
  • В строках таблицы должна выводиться еда, в колонках - клиенты, а на пересечении количество данной еды заказанной данным клиентом.
  • Информацию будем брать из документов "ЗаказКлиента".

Создаём новый отчёт

Открываем базу "Гастроном" в конфигураторе и через меню "Файл"->"Новый. " создаём новый отчёт:

Вид документа - "Внешний отчет":

В новой форме отчёта указываем имя "Урок8" и нажимаем кнопку "Открыть схему компоновки данных":


Имя схемы компоновки данных оставляем по умолчанию:

Составляем запрос

Добавляем новый набор данных - запрос:


Выделяем новый набор данных и вызываем конструктор запроса:


Будем выбирать из табличных частей документа "ЗаказКлиента" следующие поля:

Получился следующий текст запроса:


Сначала пробуем список

Перейдём на закладку "Настройки" и нажмём волшебную палочку, чтобы вызвать конструктор:


Вначале попробуем по старинке выбрать тип отчета "Список. ":

Укажем поля, которые будут отображаться в отчете:

Сохраним наш отчёт в конфигураторе и сформируем в режиме пользователя:


Получился привычный нам список с тремя колонками: Клиент, Еда и Количество.

Выводим в виде таблицы

Ах как замечательно было бы представить эти же самые данные в виде таблицы, в строках которой перечислена еда, в колонках - клиенты, а на пересечении количество данной еды, которое заказал данный клиент:

Сделать это действительно легко. Для этого вернёмся на закладку "Настройки" и вновь вызовем конструктор настроек через волшебную палочку:


На этот раз в качестве типа отчета выберем "Таблица..":

Из полей, которые будут отображаться в отчёте уберём "Клиент" и "Еда", так как эти поля по нашей задумке уйдут в столбцы и строки соответственно:

Оставим только количество, которое будет отображаться на пересечении строк и столбцов:

Здесь нужно указать конструктору какие поля будут отображаться в строках, а какие в столбцах. Для нас очевидно (см. рисунок выше), что строки - это еда, а колонки - клиенты:

Получилось вот так:

Итоговая структура отчёта будет такой:


Сохраняем наш отчёт в конфигураторе и формируем в режиме пользователя:


Вроде бы неплохо. Еда отображаться в строках, а клиенты - в столбцах. Но показатели количества, которые мы ожидали увидеть на пересечении строк и столбцов почему-то оказались все слепёшены в одном столбце.

А причина в том, что строки и столбцы у нас сгруппированы, а показатели нет! Поэтому и такой разлад.

Чтобы сгруппировать количество нужно подвести по нему итоги (вычислить ресурсы). Это мы уже делать умеем.

Забыли подвести итоги

Переходим на закладку "Ресурсы" и перетаскиваем поле "Количество" из левой колонки в правую:


Выражение "Сумма(Про. " оставляем без изменения:


Снова сохраняем отчет и формируем в режиме пользователя:


То, что надо! Мы хорошо поработали. А на следующем уроке - мы модифицируем этот отчёт (вернее его копию) и представим эти же данные в виде диаграммы.

Эталонная обработка, после выполнения всех шагов этого урока

Войдите на сайт как ученик

Для учеников

Прибегайте к изучению эталонного варианта только после самостоятельного выполнения всех шагов.

На вопросы учеников — отвечаю по почте, но прежде загляните в ЧАВО (ссылка) .


Если у нас имеется доступ в Конфигуратор 1С, то мы можем создать отчет, в котором получим информацию из справочников и регистров, а так же результат расчетов в вычисляемых полях.

Оглавление

В данном примере рассмотрим такой отчет, в котором будем выводить данные из Регистра сведений, в котором содержатся данные из справочника Номенклатуры с реквизитами, а так же результат из документа-регистратора в котором было произведено одобрение серий для номенклатуры.

1. Запускаем 1С в режиме конфигуратора, нажимаем "Файл" - "Новый" - "Внешний отчет":

2. В новом окне задаем Имя для отчета, нажимаем "Открыть схему компоновки данных" (ОСКД):


Находясь на вкладке "Наборы данных" нажимаем кнопку:

3. Теперь в окне "Конструктор запроса" на вкладке "Таблицы и поля" нужно выбрать поля из таблицы (регистр), которые будем использовать в создаваемом отчете:

Из 1 колонки мне понадобился Регистр сведений "флСостоянияСертификацииСерий", который я нашел в дереве "РегистрыСведений", затем встал на него курсором и нажал на кнопку ">", после этого он отобразился во 2-ой колонке с данными, весь регистр я добавлять не стал, а раскрыл ветвь с "флСостоянияСертификацииСерий" и поочередно выделяя нужные регистры добавлял их через кнопку ">", после чего они отображались в 3-ей колонке: с этими данными мы уже будем работать в дальнейшей в нашем отчете.

После того как вывели нужные поля, нажимаем "ОК"

4. Переходим на вкладку "Настроки" ОСКД, указываем Имя в шапке отчета, Группировку, выбираем поля, которые будут выводиться в отчете:

Здесь же на вкладке "Отбор" можно настроить фильтр.

5. Теперь в отчете будут выводиться данные из выбранных регистров, но следующей задачей является вывести вычисляемые поля (колонки) с условием и представлением данных. В моем случае, серия одобрена "Да" / "Нет": подсчитать кол-во каждого критерия.

Переходим на вкладку "Вычисляемые поля", добавляем 2-а поля: колонка "Путь к данным": придумываем название поля, которое потом укажем на вкладке "Настройки" - "Выбранные поля", чтобы вывести вычисляемые поля в отчет (пункт №6). Колонка "Выражение" - это формула, в ней я указываю выборку, что если партия одобрена = Истина, если не одобрена, то = Ложь - в соответствии с условием, в колонке будет устанавливаться Булево "Да" или "Нет" (поле СерияНоменклатурыфлПартияОдобрена должно быть добавлено в Набор данных (пункт №3)):

Колонка "Заголовок" название заголовка в колонке отчета.

6. Чтобы подсчитать количество "Да" / "Нет" в группировке, нужно зайти на вкладку "Ресурсы" и указать поля, которые будем обрабатывать:

7. Теперь остается указать вычисляемые поля на вкладке "Настройки" - "Выбранные поля" чтобы вывести их в отчет:

8. Сохраняем отчет с расширением *.erf через "Файл" - "Сохранить". Теперь данный отчет можно открыть в 1С в пользовательском режиме "Предприятие", через "Файл" - "Открыть". Выше приведенные настройки сформировались в отчете в следующем виде:

Помимо выводимых данных из регистра сведений, в 2-ух последних колонках мы подсчитываем количество "Да" / "Нет"

Читайте также: