Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
16 Дек 2017, 15:57
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Суммирование определенных ячеек отчета  (Прочитано 13422 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн lexunix

  • *
  • Сообщений: 18
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-07-17
  • Сайт: 
  • Профессия: Программист 1С
Здравствуйте, к сожалению скрин никак не загрузить, поэтому объясню на словах.

Есть отчет со следующей структурой:
  • 1. Ответственный
  • 1.1 Детальные Записи

в детальных записях есть поле "Срок оформления", которое рассчитывается как среднее по каждому ответственному.

Вопрос: как посчитать сумму всех средних по каждому ответственному и разделить на количество ответственных?

Последний раз редактировалось: lexunix; 16 Окт 2012, 10:36


Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
Похоже, должно было быть вложение, его не видно. Попробуй загрузить еще раз.
И опиши чуть подробнее задачу: что за ячейки выделены? В табличном документе?

Оффлайн lexunix

  • *
  • Сообщений: 18
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-07-17
  • Сайт: 
  • Профессия: Программист 1С
да, уже подредактировал

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
к сожалению скрин никак не загрузить
если можно, чуть подробнее: что именно за проблема: выдавалась ошибка, или что?
Вопрос: как посчитать сумму всех средних по каждому ответственному и разделить на количество ответственных?
это лучше делать не путем анализа значений в ячейках итогового отчета, а в источнике данных для отчета - там же запрос наверное или что?
если запрос не очень большой, выложи в тему.
Добавлено: 16 Окт 2012, 10:40

отчет на СКД?

Оффлайн lexunix

  • *
  • Сообщений: 18
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-07-17
  • Сайт: 
  • Профессия: Программист 1С
к сожалению скрин никак не загрузитьесли можно, чуть подробнее: что именно за проблема: выдавалась ошибка, или что?
проблема не в форуме, а в ограничении загрузки файлов с рабочего места :|

Добавлено: 16 Окт 2012, 10:42

отчет на СКД?
Да

Последний раз редактировалось: mixqn; 04 Фев 2013, 14:24

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
Честно признаюсь, с СКД работал мало. Нужно будет дополнительное время, разобраться, как там это реализовать.

Если бы отчет был допустим на построителе отчетов, то все решалось бы правкой запроса: достаточно было бы добавить итоги, приблизительно вот так:
.... (основной текст запроса до УПОРЯДОЧИТЬ)
ИТОГИ
СУММА(СрокОформления)/КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Ответственный) КАК СрокОформления
попробую разобраться, как сделать тоже самое в СКД...

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
попробовал в СКД вручную редактировать выражение на закладке "ресурсы" - вроде дает редактировать и даже сохраняется то, что я там набил. Попробуй туда записать "СУММА(СрокОформления)/КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Ответственный)" и посмотри, что получится.

Оффлайн lexunix

  • *
  • Сообщений: 18
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-07-17
  • Сайт: 
  • Профессия: Программист 1С
попробовал в СКД вручную редактировать выражение на закладке "ресурсы" - вроде дает редактировать и даже сохраняется то, что я там набил. Попробуй туда записать "СУММА(СрокОформления)/КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Ответственный)" и посмотри, что получится.
я так уже делал сам)
нет, ты не понял, если сделать так  - он просто проссумирует все значения в колонке Срок оформления, а нужно следующее:

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

может как-то глупо объяснил, но это если просто прям смотреть на отчет

Оффлайн MuI_I_Ika

  • Гончаров Михаил
  • Администратор
  • *****
  • Сообщений: 6558
  • РЕПУТАЦИЯ: 775
  • КПД: 12%
  • Регистрация: 2012-08-15
    • Skype: MuI_I_Ika
  • Сайт: 
  • Профессия: Программист 1С
В принципе, решить задачу можно, посчитав количество ответственных во вложенном запросе.
Сложный расчет итогов или полей в СКД так же можно организовать в Ресурсах или Вычисляемых полях.
Очень часто встречаются случаи, когда на разных уровнях группировки итог нужно считать по разному.
Например, для этого очень удобна функция Вычислить(). Есть и другие функции.

Функция Вычислить предназначена для вычисления выражения в контексте некоторой группировки.

Синтаксис:

Вычислить(Выражение, Группировка, ТипРасчета)

Параметры:

Выражение. Тип Строка. Содержит вычисляемое выражение;
Группировка. Тип Строка. Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем. Например:
Сумма(Продажи.СуммаОборот) / Вычислить("Сумма(Продажи.СуммаОборот)", "ОбщийИтог")

В данном примере в результате получится отношение суммы по полю "Продажи.СуммаОборот" записи группировки к сумме того же поля во всей компоновке.

ТипРасчета. Тип Строка. В случае если данный параметр имеет значение "ОбщийИтог", выражение будет вычисляться для всех записей группировки. В случае если значение параметра "Группировка", значения будут вычисляться для текущей групповой записи группировки.


Пример решения текущей задачи:

Сумма(СрокОформления)/Вычислить("КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Ответственный)", "ОбщийИтог")

Оффлайн lexunix

  • *
  • Сообщений: 18
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-07-17
  • Сайт: 
  • Профессия: Программист 1С
спасибо, интересный ответ, пока не совсем так сработало, еще подумаю чуть позже, отпишусь по результатам.


еще один вопрос: как этот самый отчет сохранить в excel с выбором пути и названия файла, а-ля функция "сохранить как" или "ctrl+s"

нашел следующий код и не совсем понимаю как правильно его реализовать:

    FileDialog = New FileDialog(FileDialogMode.Save);
  //  FileDialog.FullFileName = "Реестр платежей за ";
    FileDialog.Filter       = "Excel 97-03 (*.xls)|*.xls|Excel 2007 (*.xlsx)|*.xlsx";
    FileDialog.Multiselect  = False;
    FileDialog.Title        = "Выберите файл";

    If FileDialog.Choose() Then
      
       Extention = ?(Right(FileDialog.SelectedFiles[0], 4) = ".xls", ".xls", ".xlsx");
       FileName  = Left(FileDialog.SelectedFiles[0], StrLen(FileDialog.SelectedFiles[0]) - StrLen(Extention));
      
       Try
          Excel    = New COMObject("Excel.Application");
          Book_exp = Excel.Workbooks.Add();   
       Except
          Message("Не удалось сохранить данные отчета в формате Excel!", MessageStatus.Important);
       EndTry;   
      
       For SheetNum = 1 To Book_exp.Sheets.Count - 1 Do
          Book_exp.Sheets(1).Delete();
       EndDo;   
     Endif;

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


 

Печатная форма "ЧекККМ" для "Отчета о розничных продажах"

Автор Игорь ПолищукРаздел Пользователям "1С - Предприятие 8"

Ответов: 3
Просмотров: 7063
Последний ответ 01 Июн 2011, 20:39
от Шурыгин Иван Сергеевич
Формирование отчёта "Задолженость по контрагентам" 1С:Предприятие 8.2 "Торговля для частных предпринимателей базовая", редакция 1.0

Автор casper009Раздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 3000
Последний ответ 27 Май 2015, 10:02
от casper009
Ошибка при выгрузке отчета "Прибыль"

Автор VasilРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 4099
Последний ответ 28 Апр 2011, 14:34
от MaryaAlbertovna
Создание отчета "Отсутствие заказов"

Автор dronspartak9@gmail.comРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3878
Последний ответ 16 Апр 2014, 15:09
от dronspartak9@gmail.com
Программирование отчета "Движения на складах"

Автор ЛунатикРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 1961
Последний ответ 05 Апр 2016, 10:15
от vitasw

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
157 Сообщений
ilyay ilyay
66 Сообщений
alex0402
53 Сообщений
AIFrame
47 Сообщений
oleg-x
44 Сообщений
andron81_81
44 Сообщений
BuhRust
33 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
Golickoff Golickoff
31 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

  • Точка Гостей: 259
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal