Тема: ПрисоединитьСекцию (помогите, пожалуйста)

Ответить в теме
Показано с 1 по 10 из 10
  1. Вверх #1
    Посетитель Аватар для Maxkp
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    43
    Сообщений
    222
    Репутация
    66

    По умолчанию ПрисоединитьСекцию (помогите, пожалуйста)

    Есть конфигурация для собственного пользования.
    Есть Регистр Движения. Для накопления данных по поступлениям, платежам.
    Необходимо сделать отчет "календарь платежей". Суть отчета: По строкам отражаются поступления/платежи. В столбцах - даты.
    Первоначально в отчет выводяться все поступления, потом платежи. Проблема с формированием "шахматке". Окончательно запутался в циклах.

    Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |ВидПлюс = Регистр.Движение.ВидПлюс;
    |ВидМинус = Регистр.Движение.ВидМинус;
    |Контрагент = Регистр.Движение.Контрагент;
    |СуммаПлан = Регистр.Движение.СуммаПлан;
    |СуммаФакт = Регистр.Движение.СуммаФакт;
    |ДатаДок = Регистр.Движение.ТекущийДокумент.Поступления.ДатаД ок, Регистр.Движение.ТекущийДокумент.Платежи.ДатаДок;
    |Функция СуммаПланСумма = Сумма(СуммаПлан);
    |Функция СуммаФактСумма = Сумма(СуммаФакт);
    |Группировка ДатаДок;
    |Группировка ВидПлюс;
    |Группировка ВидМинус;
    |"//}}ЗАПРОС
    ;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
    КонецЕсли;

    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Таблица");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Шапка|Секция_1");

    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл

    // Заполнение полей ДатаДок
    Таб.ПрисоединитьСекцию("Дата");
    КонецЦикла;
    Пока Запрос.Группировка(1)=1 Цикл

    Пока Запрос.Группировка(2) = 1 Цикл
    // Заполнение полей ВидПлюс
    Таб.ВывестиСекцию("Приход");
    КонецЦикла;
    КонецЦикла;
    Пока Запрос.Группировка(1) = 1 Цикл
    Пока Запрос.Группировка(2)= 1 Цикл
    Пока Запрос.Группировка(3) = 1 Цикл
    // Заполнение полей ВидМинус
    Таб.ВывестиСекцию("Расход|Секция_1");

    КонецЦикла;

    КонецЦикла;
    Таб.ПрисоединитьСекцию("Расход|Дата");
    КонецЦикла;
    // Заполнение полей "Итого"
    // Таб.ВывестиСекцию("Итого");
    // Вывод заполненной формы
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
    КонецПроцедуры


  2. Вверх #2
    Модератор Аватар для Mulder_1
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    44
    Сообщений
    710
    Репутация
    52
    какой то странный запрос (смущают группировки)платежи идут в разрезе поступлений что ли ?
    структуру регистра покажи плиз ...
    подозреваю что лучше делать такой запрос (за синтаксис ответственность не несу =) )
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |ВидДвижения = Регистр.Движение.ВидПлюс;Регистр.Движение.ВидМинус ;//то же что то непонятное ... зачем разделять .. как то неграмотно смоделированый регистр какой то получается ... давай поподробнее опиши шо это такое зачем он нужен как и чем сюда ложатся данные
    |Контрагент = Регистр.Движение.Контрагент;// то же неясность какая то ... зачем он тут если нет в группировках
    |СуммаПлан = Регистр.Движение.СуммаПлан;
    |СуммаФакт = Регистр.Движение.СуммаФакт;
    |Функция СуммаПланСумма = Сумма(СуммаПлан);
    |Функция СуммаФактСумма = Сумма(СуммаФакт);
    |Группировка ВидДвижения;
    |Группировка Документ;
    |Группировка Дата ВСЕ;
    |"//}}ЗАПРОС
    вообще конечно не помешал бы скрин шотик таблицы , что бы знать какие секции как называются и где расположены ... но так ... судя по догадка нужно делать примерно следующее :
    сделать одну вертикальную ячеку (пустую и узенькую, к которой потом все пристёгивать .... я обычно называю "СЛ" ... типа служебная)
    "Шапка","Дата","Приход","Расход" на сколько я понял горизонтальные ячейки (т.к. пользовались конструктором и их названия пошли "по умолчанию"), в виду нововведений горизонтальными будут "Шапка","Дата","ВидДвижения","Документ"

    "Секция_1" - вертикальная
    на пересечении "Секция_1" и "Дата" ставим собссно выражение Запрос.Дата
    на пересечении "Секция_1" и "Шапка" ставим текст "Дата/Документ"
    на пересечении "Секция_1" и "Документ" ставим выражение Запрос.Документ
    ну и например на пересечении "Секция_1" и "ВидДвижения" ставим шаблон [Запрос.СуммаПланСумма ]([Запрос.СуммаФактСумма ])


    тогда обход делаем так:
    Код:
    //делаем "красивую шапку"
    Таб.ВывестиСекцию("Дата|СЛ"); 
    Пока Запрос.Группировка("ВидДвижения") = 1 Цикл
    Пока Запрос.Группировка("Документ") = 1 Цикл
    Пока Запрос.Группировка("Дата") = 1 Цикл
       Таб.ПрисоединитьСекцию("Дата|Секция_1"); 
    КонецЦикла;
      Прервать;
    КонецЦикла;
      Прервать;
    КонецЦикла;
    
    
    Запрос.ВНачалоВыборки();
    
    Пока Запрос.Группировка("ВидДвижения") = 1 Цикл
       Таб.ВывестиСекцию("Дата|СЛ"); 
        Пока Запрос.Группировка("Документ") = 1 Цикл
           Таб.ПрисоединитьСекцию("Документ|Секция_1"); 
           Пока Запрос.Группировка("Дата") = 1 Цикл
              Таб.ПрисоединитьСекцию("ВидДвижения|Секция_1"); 
           КонецЦикла;
        КонецЦикла;
    КонецЦикла;
    шо то в этом роде ... но лучше конечнго видеть "вживую" что за конфа ...
    Последний раз редактировалось Mulder_1; 19.08.2008 в 18:55.
    Кратк. - сестр. тал. !

  3. Вверх #3
    Посетитель Аватар для Maxkp
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    43
    Сообщений
    222
    Репутация
    66
    Конфа делается с нуля. Цели ее формирование ежедневнего платежного календаря.

    Итоговый отчет должен иметь вид:

    ШАПКА Дата1, Дата2, ...
    ПОСТУПЛЕНИЯ:
    ВидПплюс ..... Сумма
    в .т.ч. Контрагент .... Сумма

    РАСХОДЫ: ВидМинус .... Сумма
    в т.ч. Контрагент .... Сумма

    Регистр оборотный.

    Вот немного переделал код, но по итогу, все равно страшно

    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |ВидПлюс = Регистр.Движение.ВидПлюс;
    |ВидМинус = Регистр.Движение.ВидМинус;
    |Контрагент = Регистр.Движение.Контрагент;
    |СуммаПлан = Регистр.Движение.СуммаПлан;
    |СуммаФакт = Регистр.Движение.СуммаФакт;
    |ДатаДок = Регистр.Движение.ТекущийДокумент.Поступления.ДатаД ок, Регистр.Движение.ТекущийДокумент.Платежи.ДатаДок;
    |Функция СуммаПланСумма = Сумма(СуммаПлан);
    |Функция СуммаФактСумма = Сумма(СуммаФакт);
    |Группировка ВидПлюс Все ВошедшиеВЗапрос;
    |Группировка ВидМинус Все ВошедшиеВЗапрос;
    |Группировка Контрагент Все ВошедшиеВЗапрос;
    |Группировка ДатаДок Все ВошедшиеВЗапрос;
    |"//}}ЗАПРОС
    ;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
    КонецЕсли;

    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Таблица");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Шапка|Секция_1");

    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
    Пока Запрос.Группировка(2)=1 Цикл
    Пока Запрос.Группировка(3)=1 Цикл
    Пока Запрос.Группировка(4)=1 Цикл

    // Заполнение полей ДатаДок
    Таб.ПрисоединитьСекцию("Шапка|Дата");

    КонецЦикла;
    КонецЦикла;
    КонецЦикла;
    КонецЦикла;

    Запрос.ВначалоВыборки();
    Пока Запрос.Группировка(1) = 1 Цикл
    Пока Запрос.Группировка(2)= 1 Цикл
    // Заполнение полей ВидМинус
    Таб.ВывестиСекцию("Расход|Секция_1");

    Пока Запрос.Группировка(3)=1 Цикл
    Таб.ВывестиСекцию("Расх_Контр|Секция_1");
    Пока Запрос.Группировка(4)=1 Цикл
    // Таб.ПрисоединитьСекцию("Расход|Дата");
    Таб.ПрисоединитьСекцию("Расх_Контр|Дата");
    КонецЦикла;
    КонецЦикла;
    КонецЦикла;
    КонецЦикла;
    ======================
    Мугу отправить конфигурацию на е-майл

  4. Вверх #4
    Посетитель Аватар для forwork1c78
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    46
    Сообщений
    474
    Репутация
    66
    Цитата Сообщение от Maxkp Посмотреть сообщение
    Мугу отправить конфигурацию на е-майл
    Да без нее трудно будет что то подсказать.

    А еще мне кажется что лучше будет запрос обработать в таблице значений

  5. Вверх #5
    Посетитель Аватар для Maxkp
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    43
    Сообщений
    222
    Репутация
    66
    Вот, выкладываю тут
    Если не сложно, помогите разобраться, пожалуйста
    Вложения

  6. Вверх #6
    Посетитель Аватар для forwork1c78
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    46
    Сообщений
    474
    Репутация
    66
    А кто ставит задачу по бюджетированию?
    Хотелось бы сразу отметить: (Это мое ИМХО и выводы сделаешь сам если захочешь)

    1. Я бы писал такую конфигурацию основываясь на плане счетов, т.е. бух. компоненте. Ну это не критично

    2. Отсутствуют обязательные справочники ЦФО (центры финансовой ответственности). Статьи поступлений необходимо назвать статьями БДДС (бюджета движения денежных средств), а статьи затрат -статьями БДР (бюджета доходов и расходов) Если конечная цель написания этой конфы получение этих двух итоговых бюджетов. Ну а по поводу третьего - балланса см. 1
    Вы путаете затраты и деньги - это разные весЧи.

    3. Многие на этом форуме сразу скажут что не ту платформу выбрал Но в принципе и на семерке это можно реализовать тоже.

    4. Есть уже готовая самописная конфа для этого дела. Не моя. Но если надо могу поделиться.

    По поводу отчета постараюсь вечером помочь.

  7. Вверх #7
    Модератор Аватар для Mulder_1
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    44
    Сообщений
    710
    Репутация
    52
    вечером гляну ...

    посмотрим что там у тебя за чудо природы =)
    Кратк. - сестр. тал. !

  8. Вверх #8
    Посетитель Аватар для Maxkp
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    43
    Сообщений
    222
    Репутация
    66
    forwork1c78:
    Mulder_1:

    Спасибо за помощь

    Задачу по бюджетированию я сам и ставлю ЦФО, уровни, детализация расходов/доходов, регламенты это все есть. Есть и система для управленческого учета. Но сейчас она уже не удовлетворяет всем требованиям. Нужна модернизация или совершенно другая. Но и тут есть ответственные люди, которые работают над этим.
    Создавая эту конфигурацию я преследую цель автоматизировать (исключительно для себя) БДДС. Т.к. проверять потом подчиненных мне трудно. А так, фиксируя платежный календарь на день, мне потом по итогу месяца легче проверить. Ну у каждого свои странности Громкое название - бюджетирование не претендует на звание нормальной толковой программы для автоматизации бюджетов всей компании. Это, как говорят в народе, временный "костыль" для меня.
    По платформе совершенно согласен, но все -таки я очень привязался к семерке, поэтому остановил выбор на ней. Тем более есть мизирные знания в конфигурировании и программировании. Вот и захотел сделать что-то самостоятельно. Не буду скрывать, мне это интересно. Литературы много, да в интернете масса информации, но бывает так, что вроде все просто, а реально тупик. И спросить не у кого совета.
    Если есть возможность поделиться примером какой-то конфигурации - буду признателен. Е-майл [email protected]

  9. Вверх #9
    Посетитель Аватар для forwork1c78
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    46
    Сообщений
    474
    Репутация
    66
    Если есть возможность поделиться примером какой-то конфигурации - буду признателен
    Лови.
    Но и тут есть ответственные люди, которые работают над этим.
    Жаль а то я б может предложил бы себя
    По платформе совершенно согласен
    А я нет Собственно и все тут думают что я анахронизм ))) Тоже привязался к 7.ке. Потому что 7.7. а не 8.1.5.123 или 8.1.11.67. Это блин еще запомнить надо Ну да ладно не буду об этом.
    ЗЫ Удачи в нелегком труде постановки УУ. Описание конфы внутри

  10. Вверх #10
    Посетитель Аватар для Maxkp
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    43
    Сообщений
    222
    Репутация
    66
    Цитата Сообщение от forwork1c78 Посмотреть сообщение
    Лови.

    Жаль а то я б может предложил бы себя
    Я думаю, это обсуждаемый вопрос. Подробности можно по электронной почте


Ответить в теме

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения