1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

8.2 Остатки по периодам в отчете. Диаграмма по верхнему уровню иерархи

Тема в разделе "1C и всё что с ней связано", создана пользователем unknown181538, 28 сен 2010.

  1. unknown181538

    unknown181538 НеГуру

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.417
    Симпатии:
    0
    1. Есть регистр накопления. Хочу создать отчет с помощью СКД, чтобы получать остатки по периодам по выбору пользователя. Т.е., чтобы можно было вывести остатки, на конец каждого месяца, каждого дня и т.д.
    Однако периодичность итогов задается в параметрах виртуальной таблицы, и в настройки не выводится.
    Можно ли как-то обойти эту проблему?
    2. Оборотный регистр накопления. В качестве измерения справочник "Статьи затрат" с иерархией элементов. Хочу вывести диаграмму так, чтобы в нее попали только итоги по верхнему уровню иерархии.
     
  2. unknown181538

    unknown181538 НеГуру

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.417
    Симпатии:
    0
    По-первому пункту - сумел отредактировать текст запроса в 8.1
    СКД = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    СКД.НаборыДанных[0].Запрос = СтрЗаменить(СКД.НаборыДанных[0].Запрос,"Банки","Контрагенты");
    СхемаКомпоновкиДанных = СКД;
    Теперь не понимаю, как это сделать в упр. формах - получитьМакет не работает.
     
  3. Гость

    Репутация:
    0
    1. Используй метод "НачалоПериода()". С помощью него получаешь итоги по всем возможным периодам (День, неделя, месяц, квартал, год), а пользователь уже будет выбирать один из или несколько.

    2. Насколько я знаю, тут только конструкция типа:
    Код:
    ВЫБОР
    КОГДА СтатьяЗатрат.Родитель = ЗНАЧЕНИЕ(Справочник.СтатьиЗатрат.ПустаяСсылка)
    ТОГДА СтатьяЗатрат
    ИНАЧЕ ВЫБОР
    КОГДА СтатьяЗатрат.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.СтатьиЗатрат.ПустаяСсылка)
    ТОГДА СтатьяЗатрат.Родитель
    ИНАЧЕ СтатьяЗатрат.Родитель.Родитель
    КОНЕЦ
    КОНЕЦ
    с необходимой глубиной. По крайней мере в типовой 1С более универсальной конструкции не нашел.
     
  4. unknown181538

    unknown181538 НеГуру

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.417
    Симпатии:
    0
    Точно, до этого не додумался. Зато научился редактировать текст схемы компоновки программно :)
    2. Решение. Хоть и не изящное, и с глубиной ненадежность.
     
  5. Гость

    Репутация:
    0
    unknown181538
    Такое решение используется 1С-никами, когда они ищут счет учета для номенклатуры. Он же назначается чаще группе, а не конкретной позиции. Запрос там получает всех родителей позиции номенклатуры. Используется именно такой подход. Мне он тоже не нравиться если честно, но другого варианта не известно...
     
  6. unknown181538

    unknown181538 НеГуру

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.417
    Симпатии:
    0
    В моем случае должна подойти функция глобального модуля в вычисляемом поле.
     
  7. unknown181538

    unknown181538 НеГуру

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.417
    Симпатии:
    0
    Однако же...
    Написал:
    Код:
    &НаСервере
    Процедура ПроцедураНаСервере()
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = "Я на сервере";
    Сообщение.Сообщить();
    МойОбъект = РеквизитФормыВЗначение("Отчет");
    СКД = МойОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    СКД.НаборыДанных[0].Запрос = СтрЗаменить(СКД.НаборыДанных[0].Запрос,"Запись",Периодичность);
    МойОбъект.СхемаКомпоновкиДанных = СКД;
    ЗначениеВРеквизитФормы(МойОбъект, "Отчет");
    КонецПроцедуры // ПроцедураНаСервере()
    Текст запроса в МойОбъект.СхемаКомпоновкиДанных получается такой, какой мне надо.
    Выражение "РеквизитФормыВЗначение("Отчет").ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных").НаборыДанных[0].Запрос" в отладчике возвращает то, что было изначально.
    Т.е. ЗначениеВРеквизитФормы не отрабатывает.
     
Загрузка...

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