![]() |
|
Данные за период разбить помесячно, в отчет, затрудняюсь ( | ☑ | ||
---|---|---|---|---|
0
Анастасия Изотова
03.02.16
✎
15:44
|
День добрый, уважаемые форумчане...
помогите советом ) у меня 1С 8.1. уму, нетиповая. есть внешняя обработка, формирует отчет на основании документов. Название Контрагента - обьем продаж по нему - ответственный. За указанный период. Мне надо расписать эту цифру по месячно, в ряд: Январь (100 тыс), Февраль (5 тыс) ... то есть не единой цифрой, а с привязкой к периодам месяцам. есть процедура другово отчета, который крутится по другим данным, но может расписывать по дням (!) его писала не я, хотела взять за образец, но срастить их оба не могу, голову сломала ... я прилагаю эту обработку, что бы текстом тут не громоздить, может есть у кого мысли, как это сделать ? заранее очень очень признательна ! http://www.fayloobmennik.net/5733742 [url=http://www.fayloobmennik.net/5733742]отчет.epf[/url] |
|||
1
Лефмихалыч
03.02.16
✎
15:53
|
Позьми книжку про СКД Хрусталёвой и прочитай соответствующую главу. Там страничек 5 - не больше.
|
|||
2
Анастасия Изотова
05.02.16
✎
04:44
|
Есть у меня эта книга. СКД там разбирается с примерами под 8.2, + нужные мне примеры - работают с регистрами движений, а у меня такие регистры, в моей задаче, не используются. С документами у меня проблема .. кроме того, СКД делает код запроса, а тут еще обвязка же нужна, из вспомогательных циклов ..... ((
|
|||
3
Анастасия Изотова
05.02.16
✎
04:45
|
я сделала вот так: (сильно не бейте, но если запрос, по моему я верно написала, то как сделать разбиение результата по МЕСЯЦАМ, я не понимаю ((
ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Контагент"); ТЗ.Колонки.Добавить("КолВо"); ТЗ.Колонки.Добавить("Сумма"); ТЗ.Колонки.Добавить("СуммаОбщ"); КоличествоЦиклов = (КонПериода - НачПериода) / 86400; ТабДок = Новый ТабличныйДокумент(); Макет = ПолучитьМакет("Макет"); Область = Макет.ПолучитьОбласть("Шапка"); Область.Параметры.УслП = "Отчет по оказанным услугам юр. лицам за период с " + Строка(НачПериода) + " по " + Строка(КонПериода) ; ТабДок.Вывести(Область); Область = Макет.ПолучитьОбласть("Подшапка"); ТабДок.Вывести(Область); Д7 = НачПериода; Для К = 1 по КоличествоЦиклов + 1 Цикл Область = Макет.ПолучитьОбласть("Подшапка1"); Область.Параметры.ДатаП = Д7; ТабДок.Присоединить(Область); Д7 = Д7 + 86400; КонецЦикла; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СУММА(НазначениеНаОсмотр.СуммаДокумента) КАК СуммаДокумента, | НазначениеНаОсмотр.ОсновнойДоговор.Владелец.Код КАК Код, | НазначениеНаОсмотр.ОсновнойДоговор.Владелец.Наименование КАК Владелец, | НазначениеНаОсмотр.ОсновнойДоговор.Владелец.Ссылка КАК ВладелецСсылка, | НазначениеНаОсмотр.Организация.Ссылка, | КОЛИЧЕСТВО(НазначениеНаОсмотр.Ссылка) КАК КоличествоПациентов |ИЗ | Документ.НазначениеНаОсмотр КАК НазначениеНаОсмотр |ГДЕ | НазначениеНаОсмотр.Дата >= &ДатаНач | И НазначениеНаОсмотр.Дата <= &ДатаКон | И НазначениеНаОсмотр.Проведен = &Истина | И НазначениеНаОсмотр.ВыставитьКОплате = &Ист | И НазначениеНаОсмотр.ОсновнойДоговор.ВидДоговора = &ВидДог |СГРУППИРОВАТЬ ПО | НазначениеНаОсмотр.ОсновнойДоговор.Владелец.Код, | НазначениеНаОсмотр.ОсновнойДоговор.Владелец.Наименование, | НазначениеНаОсмотр.ОсновнойДоговор.Владелец.Ссылка, | НазначениеНаОсмотр.Организация.Ссылка |УПОРЯДОЧИТЬ ПО | Владелец"; Запрос.УстановитьПараметр("ДатаНач", НачПериода); Запрос.УстановитьПараметр("ДатаКон", КонПериода); Запрос.УстановитьПараметр("Истина", Истина); Запрос.УстановитьПараметр("Ист", Ложь); Запрос.УстановитьПараметр("ВидДог", Перечисления.ВидДоговора.Предприятие); Выборка = Запрос.Выполнить(); Результат = Выборка.Выбрать(); н = 1; СумОбщ = 0; Пока Результат.Следующий() цикл НовТЗ = ТЗ.Добавить(); НовТЗ.Контагент = Результат.Владелец; НовТЗ.КолВо = Результат.КоличествоПациентов; НовТЗ.Сумма = Результат.СуммаДокумента; СумОбщ = СумОбщ + Результат.СуммаДокумента; НовТЗ.СуммаОбщ = СумОбщ; ТабДок.Вывести(Область); н = н + 1; КонецЦикла; ТЗ.Свернуть("Контагент, КолВо, Сумма, СуммаОбщ", ""); ТЗ.Сортировать("Контагент"); Д8 = НачПериода; Для I = 1 по КоличествоЦиклов + 1 Цикл Область = Макет.ПолучитьОбласть("ОбластьДанных"); Для Каждого СтрТЗ из ТЗ Цикл //Область.Параметры.Контагент = СтрТЗ.Контагент; Область.Параметры.КолВо = СтрТЗ.КолВо; // Область.Параметры.Сумма = СтрТЗ.Сумма; Область.Параметры.СуммаОбщ = СтрТЗ.СуммаОбщ; КонецЦикла; ТабДок.Присоединить(Область); Д8 = Д8 + 86400; КонецЦикла; ТЗ1 = Выборка.Выгрузить(); Область = Макет.ПолучитьОбласть("Подвал"); //Область.Параметры.СумОбщП = СумОбщ; //Область.Параметры.ВсегоПациентов = ТЗ1.Итог("КоличествоПациентов"); ТабДок.Вывести(Область); Табдок.Показать("Краткий финансовый отчет"); |
|||
4
mehfk
05.02.16
✎
04:56
|
ПРедлагаю взять за основу вот этот запрос
|ВЫБРАТЬ | СУММА(НазначениеНаОсмотр.СуммаДокумента) КАК СуммаДокумента, | НазначениеНаОсмотр.ОсновнойДоговор.Владелец.Код КАК Код, | НазначениеНаОсмотр.ОсновнойДоговор.Владелец.Наименование КАК Владелец, | НазначениеНаОсмотр.ОсновнойДоговор.Владелец КАК ВладелецСсылка, | НазначениеНаОсмотр.Организация, | КОЛИЧЕСТВО(НазначениеНаОсмотр.Ссылка) КАК КоличествоПациентов, | НАЧАЛОПЕРИОДА(НазначениеНаОсмотр.Дата, Месяц) КАК Месяц |ИЗ | Документ.НазначениеНаОсмотр КАК НазначениеНаОсмотр |ГДЕ | НазначениеНаОсмотр.Дата МЕЖДУ &ДатаНач и &ДатаКон | И НазначениеНаОсмотр.Проведен | И НазначениеНаОсмотр.ВыставитьКОплате | И НазначениеНаОсмотр.ОсновнойДоговор.ВидДоговора = &ВидДог |СГРУППИРОВАТЬ ПО | НАЧАЛОПЕРИОДА(НазначениеНаОсмотр.Дата, Месяц), | НазначениеНаОсмотр.ОсновнойДоговор.Владелец.Код, | НазначениеНаОсмотр.ОсновнойДоговор.Владелец.Наименование, | НазначениеНаОсмотр.ОсновнойДоговор.Владелец, | НазначениеНаОсмотр.Организация |УПОРЯДОЧИТЬ ПО | Владелец + Добавить в него итоги для более удобного обхода группировок и выкинуть нафиг цикл, либо всерьез задуматься о смене рода деятельности. |
|||
5
Анастасия Изотова
05.02.16
✎
08:39
|
Спасибо огромное за запрос ... А итоги, в СКД добавлять, или уже кодом вне запроса ? если я выкину цикл, то как мне реализовать вывод помесячно столбцами , вот это: ТабДок.Присоединить(Область);
? |
|||
6
Анастасия Изотова
05.02.16
✎
08:46
|
Я хотела сделать в группировках - группировку по периоду, с дополнением Месяц, но в моей 8.1. конструкторе запросов почему-то нет ни Тип Дополнений, ни еще других вещей. Книжку хрусталевой под 8.2 писали, и многие примеры на моей 8.1. не идут ( а тут и вовсе ... (((
|
|||
7
Анастасия Изотова
09.02.16
✎
04:22
|
Я сдаюсь, может кто нибудь сделать помочь за деньги ? все сроки вышли, меня тут убьют, а читать книжку на 500 листов, это хороший но поздноватый совет ( ... кто возьмется доработать отчет, напишите пожалуста, только мне очень срочно
|
|||
8
Марк1с
09.02.16
✎
05:03
|
Книга знаний: Полные остатки по периоду во вложенном запросе;
Смотрите последний из приведенных запросов. |
|||
9
mehfk
09.02.16
✎
05:22
|
(7) Напишите в почту мой ник псина народ ру
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |