Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 2 [Все]   Вниз
  Печать  
Автор Тема: Еженедельный отчет, а также ежемесячный отчет  (Прочитано 52839 раз)
0 Пользователей и 1 Гость смотрят эту тему.
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« : 25-11-2009 07:15 » 

Вопрос на засыпку, как мне сделать так, чтобы формировался еженедельный отчет, а также ежемесячный отчет, и какие мне значения надо добавлять. Вывод еженедельных и ежемесячных результатов расчетов производится при помощи формул. Как мне привязать системный календарь к формированию отчета? Например, если закончилась неделя, то при нажатии кнопки "сформировать" выводился отчет за неделю, точно также и ежемесячно, закончился месяц календарный при нажатии на "сформировать" выводится месячный отчет.
« Последнее редактирование: 25-11-2009 20:18 от Sel » Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 25-11-2009 11:41 » 

Для начала определиться с понятиями:
1. "формировался отчет" - это что значит? создалась форма табличного документа и сохранилась/отправилась по e-mail?
2. "закончилась неделя/месяц" - что значит закончиться? будут ли после физического кончания периода вноситься данные задним числом? если будут - как долго?
3. "привязать системный календарь к формированию отчета" - что значит "привязать"? из текущей даты вычислить даты начала/конца закончившегося периода или "формировать отчет" (см.п.1)
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #2 : 25-11-2009 11:58 » 

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

* суточный отчет.JPG (242.92 Кб - загружено 1142 раз.)
« Последнее редактирование: 25-11-2009 16:21 от Sel » Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #3 : 25-11-2009 12:57 » 

код формирования суточных отчетов с использованием Макета:

Процедура КнопкаСформировать1Нажатие(Элемент)
   // Вставить содержимое обработчика.
   Запрос = Новый запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |   ТеоретическийБалансПодсолнечника.Регистратор КАК Регистратор,
   |   СУММА(ТеоретическийБалансПодсолнечника.z) КАК z,
   .......................
   |   СУММА(ТеоретическийБалансПодсолнечника.x) КАК x,
   ..........................
   |   СУММА(ТеоретическийБалансПодсолнечника.c) КАК c,
   ...........................
   |ИЗ
   |   РегистрНакопления.ТеоретическийБалансПодсолнечника КАК ТеоретическийБалансПодсолнечника
   |ГДЕ
   |   ТеоретическийБалансПодсолнечника.Период МЕЖДУ &НачалоДня И &КонецДня
   |
   |СГРУППИРОВАТЬ ПО
   |   ТеоретическийБалансПодсолнечника.Регистратор
   |
   |УПОРЯДОЧИТЬ ПО
   |   Регистратор
   |ИТОГИ
   |   СУММА(z),
   ................
   |   СУММА(x),
   ...................
   |   СУММА(c),
   ................
   |ПО
   |   Регистратор
   |АВТОУПОРЯДОЧИВАНИЕ";
   Запрос.УстановитьПараметр("НачалоДня", НачалоДня(НачПериода));
   Запрос.УстановитьПараметр("КонецДня", КонецДня(КонПериода));
   Результат = Запрос.Выполнить();
   ВыборкаРегистратор = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   темп = Новый ТабличныйДокумент;
   ТабДок = ПолучитьМакет("Макет");
   
   ОбластьВведение = ТабДок.ПолучитьОбласть("Введение");
   Темп.Вывести(ОбластьВведение);
   
   Пока ВыборкаРегистратор.Следующий() цикл
   если ВыборкаРегистратор<>Неопределено тогда
   ОбластьРегистратор = ТабДок.ПолучитьОбласть("Регистратор");
   ОбластьРегистратор.Параметры.Дата=ВыборкаРегистратор.Регистратор.Дата;
   ОбластьРегистратор.Параметры.z=ВыборкаРегистратор.z;
   ..................
   ОбластьРегистратор.Параметры.x=ВыборкаРегистратор.x;
   ....................
   ОбластьРегистратор.Параметры.c=ВыборкаРегистратор.c;
   ....................
   Темп.Вывести(ОбластьРегистратор);
конецесли;   
конеццикла;
   ТабФорма = Отчеты.ТеоретическийБалансПодсолнечника1.ПолучитьФорму("ФормаТаблицы");
   ТабФорма.Открыть();
   ТабФорма.ЭлементыФормы.Результат.Вывести(Темп);
КонецПроцедуры
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #4 : 25-11-2009 19:15 » 

кто то поможет с моей проблемой???
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #5 : 25-11-2009 20:32 » 

staff, потерпи. Некоторые спят по ночам, вообще то Улыбаюсь
Записан

Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 26-11-2009 09:06 » 

Если я правильно понял - тебе вместо колонок день нужно колонку неделя (месяц)?
Используй в группировке запроса (СГРУППИРОВАТЬ ПО) вместо ТеоретическийБалансПодсолнечника.Регистратор результат функции соответствующего периода (см. скриншот), например:
НЕДЕЛЯ(ТеоретическийБалансПодсолнечника.Период)

* shelek_query_period.PNG (13.23 Кб - загружено 3224 раз.)
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #7 : 26-11-2009 12:27 » 

у меня получилась такая процедура:

Код:
Процедура КнопкаСформировать2Нажатие(Элемент)
//Вставить содержимое обработчика.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТеоретическийБалансПодсолнечника.Период КАК Период
|ИЗ
| РегистрНакопления.ТеоретическийБалансПодсолнечника КАК ТеоретическийБалансПодсолнечника
|ГДЕ
| ТеоретическийБалансПодсолнечника.Период МЕЖДУ &НачалоДня И &КонецДня
|
|СГРУППИРОВАТЬ ПО
| ТеоретическийБалансПодсолнечника.Период
|
|УПОРЯДОЧИТЬ ПО
| Период
|ИТОГИ ПО
| Период ПЕРИОДАМИ(НЕДЕЛЯ, &НачалоДня, &КонецДня)
|АВТОУПОРЯДОЧИВАНИЕ";
Запрос.УстановитьПараметр("НачалоДня", НачалоДня(НачПериода));
Запрос.УстановитьПараметр("КонецДня", КонецДня(КонПериода));
Результат = Запрос.Выполнить();
ВыборкаПериод = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
темп = Новый ТабличныйДокумент;
ТабДок = ПолучитьМакет("Макет1");

ОбластьВведение = ТабДок.ПолучитьОбласть("Введение");
Темп.Вывести(ОбластьВведение);

Пока ВыборкаПериод.Следующий() цикл
если ВыборкаПериод<> неопределено тогда
ОбластьПериод = ТабДок.ПолучитьОбласть("Период");
ОбластьПериод.Параметры.Дата=ВыборкаПериод.Дата;
Темп.Вывести(ОбластьПериод);
конецесли;
конеццикла;
...........................
КонецПроцедуры

тогда пишет такую ошибку:
{Отчет.ТеоретическийБалансПодсолнечника1.Форма.ФормаОтчета(416)}: Поле объекта не обнаружено (Дата)
   ОбластьПериод.Параметры.Дата=ВыборкаПериод.Дата;
или же я что то не так пишу в коде формирования отчета?
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 26-11-2009 15:18 » 

Ну а где у тебя в запросе Дата?
Попробуй использовать ОбластьПериод.Параметры.Дата=ВыборкаПериод.Период;
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #9 : 27-11-2009 09:51 » 

переделал запрос как по примеру на "НЕДЕЛЯ(ТеоретическийБалансПодсолнечника.Период)"
теперь пишет ошибку "{Отчет.ТеоретическийБалансПодсолнечника1.Форма.ФормаОтчета(405)}: Ошибка при вызове метода контекста (Выполнить): {(2, 2)}: Поле не входит в группу "ТеоретическийБалансПодсолнечника.Период"
<<?>>ТеоретическийБалансПодсолнечника.Период КАК Период
   Результат = Запрос.Выполнить();"

а когда пишу "ТеоретическийБалансПодсолнечника.Период" то все нормально работает, только мне выводятся все дни недели с результатами то есть с понедельника по пятницу
саму процедуру немного переделал, но наверно еще до полного функционирования чего то не хватает в цикле
код процедуры:

Код:
Процедура КнопкаСформировать2Нажатие(Элемент)
//Вставить содержимое обработчика.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТеоретическийБалансПодсолнечника.Период КАК Период
|ИЗ
| РегистрНакопления.ТеоретическийБалансПодсолнечника КАК ТеоретическийБалансПодсолнечника
|ГДЕ
| ТеоретическийБалансПодсолнечника.Период МЕЖДУ &НачалоНеделя И &КонецНеделя
|СГРУППИРОВАТЬ ПО
| ТеоретическийБалансПодсолнечника.Период
|УПОРЯДОЧИТЬ ПО
| Период
|ИТОГИ ПО
| Период ПЕРИОДАМИ(НЕДЕЛЯ, &НачалоНеделя, &КонецНеделя)
|АВТОУПОРЯДОЧИВАНИЕ";
Запрос.УстановитьПараметр("НачалоНеделя", НачалоДня(НачПериода));
Запрос.УстановитьПараметр("КонецНеделя", КонецДня(КонПериода));
Результат = Запрос.Выполнить();
ВыборкаПериод = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
темп = Новый ТабличныйДокумент;
ТабДок = ПолучитьМакет("Макет");
Пока ВыборкаПериод.Следующий() цикл
если ВыборкаПериод<> неопределено тогда
ОбластьПериод = ТабДок.ПолучитьОбласть("Период");
ОбластьПериод.Параметры.Дата=ВыборкаПериод.Период;
Сообщить(КонецНедели(ТекущаяДата()));
Темп.Вывести(ОбластьПериод);
конецесли;
конеццикла;

ТабФорма = Отчеты.ТеоретическийБалансПодсолнечника.ПолучитьФорму("ФормаТаблицы");
ТабФорма.Открыть();
ТабФорма.ЭлементыФормы.Результат.Вывести(Темп);
КонецПроцедуры
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 27-11-2009 10:55 » 

Если я не ошибаюсь ИТОГИ ПО имеют отношение только к построителю запроса (по крайней мере я их только с ними использовал) да и агрегатные поля нигде не прописаны (типа этого: СУММА(ТеоретическийБалансПодсолнечника.z) КАК z, )
Я ошибался! Смотри пост дальше
« Последнее редактирование: 08-12-2009 14:45 от Kivals » Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #11 : 27-11-2009 11:23 » 

мне на данном этапе необходимо что бы формировались две колонки "Наименование" и "Неделя"
фактически что то на подобии:
какие мне изменения необходимо внести в процедуру, что формировался отчет?Не понял

* недельный отчет.GIF (23.8 Кб - загружено 1155 раз.)
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 27-11-2009 11:42 » 

В первоначальном запросе https://forum.shelek.ru/index.php/topic,22601.msg219398.html#msg219398
попробуй поменять
Код:
ВЫБРАТЬ
ТеоретическийБалансПодсолнечника.Регистратор КАК Регистратор,
на
Код:
ВЫБРАТЬ
НЕДЕЛЯ(ТеоретическийБалансПодсолнечника.Период) КАК Регистратор,
и
Код:
СГРУППИРОВАТЬ ПО
ТеоретическийБалансПодсолнечника.Регистратор
на
Код:
СГРУППИРОВАТЬ ПО
НЕДЕЛЯ(ТеоретическийБалансПодсолнечника.Период)
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #13 : 27-11-2009 12:08 » 

сделал изменения которые вы привели, все нормально работает кроме вывода даты
Код:
ОбластьПериод.Параметры.Дата=ВыборкаПериод;
ставлю
Код:
ОбластьПериод.Параметры.Дата=ВыборкаПериод.Дата;
ошибка
{Отчет.ТеоретическийБалансПодсолнечника1.Форма.ФормаОтчета(633)}: Поле объекта не обнаружено (Дата)
   ОбластьПериод.Параметры.Дата=ВыборкаПериод.Дата;
иначе
Код:
ОбластьПериод.Параметры.Дата=ВыборкаПериод.Регистратор.Дата;
ошибка
{Отчет.ТеоретическийБалансПодсолнечника1.Форма.ФормаОтчета(633)}: Значение не является значением объектного типа (Дата)
   ОбластьПериод.Параметры.Дата=ВыборкаПериод.Регистратор.Дата;
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #14 : 27-11-2009 12:41 » 

ОбластьПериод.Параметры.Дата=ВыборкаПериод.Регистратор
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #15 : 27-11-2009 12:43 » 

Хотя нет - это вернет номер недели в году
Если нужно вывести дату - тогда везде вместо
Код:
НЕДЕЛЯ(ТеоретическийБалансПодсолнечника.Период)
нужно поставить
Код:
НАЧАЛОПЕРИОДА(ТеоретическийБалансПодсолнечника.Период, НЕДЕЛЯ)
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #16 : 27-11-2009 12:57 » 

теперь у меня такая ошибка:
{Отчет.ТеоретическийБалансПодсолнечника1.Форма.ФормаОтчета(622)}: Ошибка при вызове метода контекста (Выполнить): {(2, 9)}: Поле не входит в группу "ТеоретическийБалансПодсолнечника.Период"
НЕДЕЛЯ(<<?>>ТеоретическийБалансПодсолнечника.Период) КАК Регистратор,
   Результат = Запрос.Выполнить();
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #17 : 27-11-2009 13:30 » 

почему НЕДЕЛЯ когда должно быть НАЧАЛОПЕРИОДА? я же написал - везде поменять
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #18 : 27-11-2009 13:46 » 

 Улыбаюсь  Улыбаюсь  Улыбаюсь  Улыбаюсь  Улыбаюсь  Улыбаюсь  Улыбаюсь  Улыбаюсь
все получилось большое спасибо

я сначала использовал "НАЧАЛОПЕРИОДА" мне в отчете в Параметрах Макета "Дата" выводилось начало недели, то есть с понедельника, я изменил на "КОНЕЦПЕРИОДА" и у меня выводится теперь воскресенье со всеми результатами
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #19 : 30-11-2009 09:42 » 

необходимо наставление, у меня есть значение k1 которое должно вычисляться исходя из формулы k1=c2/k, при этом "c2" должна идти как сумма всех "с2" в документе за неделю. Эта формула предназначена для вывода итогового недельного отчета. Как и куда мне необходимо ее вписать для того что бы производилось вычисление.
Например:
k1=1587.25/123.5
где 1587.25 сумма всех "с2" за неделю,
       123.5 сумма всех "k" за неделю,
k1 должно в таком случае равняться  12.8522
данные для формирования отчета берутся из Регистра накопления
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #20 : 30-11-2009 13:55 » 

В запросе добавь расчетное поле:
Код:
СУММА(ТеоретическийБалансПодсолнечника.c2)/СУММА(ТеоретическийБалансПодсолнечника.k) КАК k1,
Только хорошо бы еще проверить сумму k на ноль:
Код:
ВЫБОР
КОГДА СУММА(ТеоретическийБалансПодсолнечника.k) <> 0
ТОГДА СУММА(ТеоретическийБалансПодсолнечника.c2) / СУММА(ТеоретическийБалансПодсолнечника.k)
ИНАЧЕ 0
КОНЕЦ КАК k1,
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #21 : 01-12-2009 09:22 » 

написал запрос и теперь у меня ошибка выскакивает

{Отчет.ТеоретическийБалансПодсолнечника1.Форма.ФормаОтчета(674)}: Ошибка при вызове метода контекста (Выполнить): Ошибка выполнения запроса "Ошибка при выполнении операции над данными:
Ошибка SQL: Деление на 0"
   Результат = Запрос.Выполнить();

что подскажете с ней можно сделать?
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #22 : 01-12-2009 09:42 » 

Написал запрос, и теперь у меня ошибка выскакивает

{Отчет.ТеоретическийБалансПодсолнечника1.Форма.ФормаОтчета(674)}: Ошибка при вызове метода контекста (Выполнить): Ошибка выполнения запроса "Ошибка при выполнении операции над данными:
Ошибка SQL: Деление на 0"
   Результат = Запрос.Выполнить();

Что подскажете с ней можно сделать?

А, да, еще у меня есть некоторые функции в запросе, как
Код:
100 - СУММА(ТеоретическийБалансПодсолнечника.k14) как k18
А также
Код:
СУММА(ТеоретическийБалансПодсолнечника.k14) * (100 - СУММА(ТеоретическийБалансПодсолнечника.k1)) / 100 КАК k16
По этим двум функциям у меня ничего не выводится.
« Последнее редактирование: 01-12-2009 10:31 от Sel » Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #23 : 01-12-2009 11:03 » 

Ошибка SQL: Деление на 0
Ищи внимательно где у тебя деление и используй предложенной мной выше констуркцию:
Код:
ВЫБОР КОГДА А<>0 ТОГДА В/А ИНАЧЕ 0 КОНЕЦ КАК С
где вместо А,В,С могут быть как поля, так и выражения

По этим двум функциям у меня ничего не выводится.
Возможно где-то встречается значение NULL, которое влияет на результат. попробуй так:
Код:
100 - СУММА(ЕСТЬNULL(ТеоретическийБалансПодсолнечника.k14,0)) как k18
аналогично во втором случае
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #24 : 01-12-2009 11:17 » 

обведенное число 28.00 в отчете это есть k14, исходя из запроса функции
Код:
|    100 - СУММА(ТеоретическийБалансПодсолнечника.k14) как k18

у меня в результате должно получится k18=72, а у меня получается 100

* отчет.PNG (27.22 Кб - загружено 1100 раз.)
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #25 : 01-12-2009 11:55 » 

ты пробовал сделать как написано?
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #26 : 01-12-2009 11:57 » 

да у меня все равно выводится 100
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #27 : 01-12-2009 16:15 » 

Давай тогда весь текст запроса
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #28 : 02-12-2009 06:35 » 

Код:
Запрос = Новый запрос;
Запрос.Текст =
"ВЫБРАТЬ
|КОНЕЦПЕРИОДА(ТеоретическийБалансПодсолнечника.Период, НЕДЕЛЯ) КАК Регистратор,
|(СУММА(ТеоретическийБалансПодсолнечника.z2)+СУММА(ТеоретическийБалансПодсолнечника.x2))/СУММА(ТеоретическийБалансПодсолнечника.k) КАК k1,
|(СУММА(ТеоретическийБалансПодсолнечника.z4)+СУММА(ТеоретическийБалансПодсолнечника.x4))/СУММА(ТеоретическийБалансПодсолнечника.k) КАК k6,
|СУММА(ТеоретическийБалансПодсолнечника.k7) / СУММА(ТеоретическийБалансПодсолнечника.k) КАК k7,
|(СУММА(ТеоретическийБалансПодсолнечника.z9)+СУММА(ТеоретическийБалансПодсолнечника.x9))/СУММА(ТеоретическийБалансПодсолнечника.k) КАК k8,
|(СУММА(ТеоретическийБалансПодсолнечника.z11) + СУММА(ТеоретическийБалансПодсолнечника.x11)) / СУММА(ТеоретическийБалансПодсолнечника.k) КАК k9,
|СУММА(ТеоретическийБалансПодсолнечника.k3)/СУММА(ТеоретическийБалансПодсолнечника.k) КАК k10,
|(СУММА(ТеоретическийБалансПодсолнечника.z15)+СУММА(ТеоретическийБалансПодсолнечника.x15))/СУММА(ТеоретическийБалансПодсолнечника.k) КАК k11,
|(СУММА(ТеоретическийБалансПодсолнечника.z17)+СУММА(ТеоретическийБалансПодсолнечника.x17))/СУММА(ТеоретическийБалансПодсолнечника.k) КАК k12,
|(СУММА(ТеоретическийБалансПодсолнечника.z19)+СУММА(ТеоретическийБалансПодсолнечника.x19))/СУММА(ТеоретическийБалансПодсолнечника.k) КАК k13,
|СУММА(ТеоретическийБалансПодсолнечника.k4)/СУММА(ТеоретическийБалансПодсолнечника.k) КАК k14,
|СУММА(ТеоретическийБалансПодсолнечника.k5)/СУММА(ТеоретическийБалансПодсолнечника.k) КАК k15,
|СУММА(ТеоретическийБалансПодсолнечника.k14)*(100-СУММА(ТеоретическийБалансПодсолнечника.k1))/100 КАК k16,
|СУММА(ТеоретическийБалансПодсолнечника.k16) КАК k17,
|100-СУММА(ТеоретическийБалансПодсолнечника.k14) КАК k18,
|СУММА(ТеоретическийБалансПодсолнечника.c26)/СУММА(ТеоретическийБалансПодсолнечника.k) КАК k19,
|100*(СУММА(ТеоретическийБалансПодсолнечника.k16)-СУММА(ТеоретическийБалансПодсолнечника.k13))/(100-СУММА(ТеоретическийБалансПодсолнечника.k13)+СУММА(ТеоретическийБалансПодсолнечника.k12)) КАК k20,
|(100*СУММА(ТеоретическийБалансПодсолнечника.k6)-СУММА(ТеоретическийБалансПодсолнечника.k18)*СУММА(ТеоретическийБалансПодсолнечника.k15))/СУММА(ТеоретическийБалансПодсолнечника.k14) КАК k21,
|СУММА(ТеоретическийБалансПодсолнечника.k10)*(100-СУММА(ТеоретическийБалансПодсолнечника.k21))/(100-СУММА(ТеоретическийБалансПодсолнечника.k10)) КАК k22,
|10000-100*(СУММА(ТеоретическийБалансПодсолнечника.k7)+СУММА(ТеоретическийБалансПодсолнечника.k6)+СУММА(ТеоретическийБалансПодсолнечника.k22))+СУММА(ТеоретическийБалансПодсолнечника.k22)*СУММА(ТеоретическийБалансПодсолнечника.k11)+СУММА(ТеоретическийБалансПодсолнечника.k10))/(100-(СУММА(ТеоретическийБалансПодсолнечника.k9)+СУММА(ТеоретическийБалансПодсолнечника.k8))) КАК k23,
|СУММА(ТеоретическийБалансПодсолнечника.k23)*СУММА(ТеоретическийБалансПодсолнечника.k9)/100 КАК k24,
|СУММА(ТеоретическийБалансПодсолнечника.k22)*СУММА(ТеоретическийБалансПодсолнечника.k11)/100 КАК k25,
|СУММА(ТеоретическийБалансПодсолнечника.k7)-(СУММА(ТеоретическийБалансПодсолнечника.k24)+СУММА(ТеоретическийБалансПодсолнечника.k25)) КАК k26,
|СУММА(ТеоретическийБалансПодсолнечника.k6)-(СУММА(ТеоретическийБалансПодсолнечника.k23)*СУММА(ТеоретическийБалансПодсолнечника.k8)+СУММА(ТеоретическийБалансПодсолнечника.k22)*СУММА(ТеоретическийБалансПодсолнечника.k10))/100 КАК k27,

Я оставил запрос так, как он у меня был первонАчально.
Функции, которые не выводятся:
k16, k17, k18, k20, k21, k22, k23, k24, k25, k26, k27

Код:
|СУММА(ТеоретическийБалансПодсолнечника.k16) КАК k17,
В этой функции должено выводиться результат расчета по k16, так как у меня в k16 ничего не выводится, соответственно, и k17 тоже не выводится.

* отчет1.PNG (28.93 Кб - загружено 1073 раз.)
« Последнее редактирование: 02-12-2009 06:47 от Sel » Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #29 : 02-12-2009 10:53 » 

Во-первых запрос не весь, а только поля.
Во-вторых не вижу предложенного использования функции ЕСТЬNULL()
Записан
Rinat
Гость
« Ответ #30 : 04-12-2009 11:23 » 

Здравствуите, я на этом саите первыи раз, я начинающии программист в 1С, у меня к Вам вопрос, буду весьма признателен Вам если Вы мне поможете.
Суть вопроса в следующем. Можно ли сделать так чтобы в 8.1 формировалась такая же лицевая карта как и в 7.7, и если можно, то что нужно для этого?
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #31 : 04-12-2009 11:27 » 

написать программу для вывода лицевой карты
Записан
Rinat
Гость
« Ответ #32 : 04-12-2009 11:29 » 

А как это сделать?
Записан
Rinat
Гость
« Ответ #33 : 04-12-2009 11:31 » 

Можно ли просто скопировать макет и поменять и поставить его на 8ку.
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #34 : 04-12-2009 11:32 » 

извините но вы сейчас понимаете что хотите, вы перед тем как задать вопрос сначала обдумайте его, так как ничего понять не возможно, есть код процедуры формирования лицевой карты, где она должна выводится, откуда брать значения и т. д..
Записан
Rinat
Гость
« Ответ #35 : 04-12-2009 11:39 » 

Я работаю вторую неделю, и пока для меня эти термины даже не знакомы...
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #36 : 04-12-2009 11:43 » 

вы хоть в 1С программировали раньше?
Записан
Rinat
Гость
« Ответ #37 : 04-12-2009 12:19 » 

неа, до этого никогда.
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #38 : 04-12-2009 12:26 » 

h**p://v8.1c.ru/overview/   посмотрите этот сайт там описаны некоторые принципы для программирования в 1С
« Последнее редактирование: 04-12-2009 12:32 от Алексей1153++ » Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #39 : 04-12-2009 13:01 » 

Rinat, макет скопировать можно, алгоритм формирования придется переписывать.
Попробуй в просторах Интернета найти ЕСИС для 8 (Единая справочно-информационная система), в ней есть книга А.П. Габец, Д.И. Гончаров "1С:Предприятие 8.0 Простые примеры разработки" - начни изучение с нее
Записан
Rinat
Гость
« Ответ #40 : 04-12-2009 13:15 » 

Благодарю Вас, спасибо Вам.
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #41 : 04-12-2009 14:13 » 

по поводу формирования недельного отчета, последний день месяца ноября (30 ноября) припадает на понедельник и исходя из запроса у меня получается что 30 ноября относится к декабрю. Как переделать запрос так, чтобы 30 ноября у меня относилось к 5 неделе ноября месяца?
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #42 : 08-12-2009 12:32 » 

как скомбинировать отчет так, что бы сперва выводился отчет по суткам с 1 по 7, а потом общий недельный по этим 7 дням?
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #43 : 08-12-2009 14:42 » 

Как переделать запрос так, чтобы 30 ноября у меня относилось к 5 неделе ноября месяца?
Никак. Только вложенным запросом с ручным определением периода
как скомбинировать отчет так, что бы сперва выводился отчет по суткам с 1 по 7, а потом общий недельный по этим 7 дням?
Я ошибся в посте https://forum.shelek.ru/index.php/topic,22601.msg219695.html#msg219695, чем ввел тебя в заблуждение - извиняюсь. На самом деле ИТОГИ ПО можно (и нужно) также использовать для получения промежуточных итогов, но при этом выборку нужно делать по группировкам:
Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Попробуй сам разобраться как привязать блок ИТОГИ ПО к нужному тебе функционалу
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #44 : 09-12-2009 11:43 » 

теперь я сам запутался (((
у меня есть суточный отчет:
Код:
Запрос = Новый запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТеоретическийБалансПодсолнечника.Регистратор КАК Регистратор,
...................
| СУММА(ТеоретическийБалансПодсолнечника.x) КАК x,
...................
| СУММА(ТеоретическийБалансПодсолнечника.c) КАК c,
...................
|ИЗ
| РегистрНакопления.ТеоретическийБалансПодсолнечника КАК ТеоретическийБалансПодсолнечника
|ГДЕ
| ТеоретическийБалансПодсолнечника.Период МЕЖДУ &НачалоДня И &КонецДня
|
|СГРУППИРОВАТЬ ПО
| ТеоретическийБалансПодсолнечника.Регистратор
|
|УПОРЯДОЧИТЬ ПО
| Регистратор
|ИТОГИ
| СУММА(z),
................
| СУММА(x),
...................
| СУММА(c),
...................
|ПО
| Регистратор
|АВТОУПОРЯДОЧИВАНИЕ";

а так же и недельный:
Код:
Запрос = Новый запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КОНЕЦПЕРИОДА(ТеоретическийБалансПодсолнечника.Период, НЕДЕЛЯ) КАК Регистратор,
| (СУММА(ТеоретическийБалансПодсолнечника.z2)+СУММА(ТеоретическийБалансПодсолнечника.x2))/СУММА(ТеоретическийБалансПодсолнечника.k) КАК k1,
.............
|ИЗ
| РегистрНакопления.ТеоретическийБалансПодсолнечника КАК ТеоретическийБалансПодсолнечника
|ГДЕ
| ТеоретическийБалансПодсолнечника.Период МЕЖДУ &НачалоДня И &КонецДня
|
|СГРУППИРОВАТЬ ПО
| КОНЕЦПЕРИОДА(ТеоретическийБалансПодсолнечника.Период, НЕДЕЛЯ)
|
|УПОРЯДОЧИТЬ ПО
| Регистратор
|ИТОГИ
| СУММА(k1),
....................
| СУММА(k5)
|ПО
| Регистратор
|АВТОУПОРЯДОЧИВАНИЕ";


как их соединить в единое целое так, чтобы выводилась неделя с понедельника по воскресенье, а в конце недели общий недельный отчет по этим 7 дням?
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #45 : 14-12-2009 15:12 » 

сгруппировал два запроса в одну процедуру

Код:
Процедура КнопкаСформировать1Нажатие(Элемент)
// Вставить содержимое обработчика.
Запрос = Новый запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТеоретическийБалансПодсолнечника.Регистратор КАК Регистратор,
| СУММА(ТеоретическийБалансПодсолнечника.z) КАК z,
....................
| СУММА(ТеоретическийБалансПодсолнечника.x) КАК x,
....................
| СУММА(ТеоретическийБалансПодсолнечника.c) КАК c,
....................
|ИЗ
| РегистрНакопления.ТеоретическийБалансПодсолнечника КАК ТеоретическийБалансПодсолнечника
|ГДЕ
| ТеоретическийБалансПодсолнечника.Период МЕЖДУ &НачалоДня И &КонецДня
|
|СГРУППИРОВАТЬ ПО
| ТеоретическийБалансПодсолнечника.Регистратор
|
|УПОРЯДОЧИТЬ ПО
| Регистратор
|ИТОГИ
| СУММА(z),
......................
| СУММА(x),
................
| СУММА(c),
................
|ПО
| Регистратор
|АВТОУПОРЯДОЧИВАНИЕ";
Запрос.УстановитьПараметр("НачалоДня", НачалоДня(НачПериода));
Запрос.УстановитьПараметр("КонецДня", КонецДня(КонПериода));
Результат = Запрос.Выполнить();
ВыборкаРегистратор = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
темп = Новый ТабличныйДокумент;
ТабДок = ПолучитьМакет("Макет");

ОбластьВведение = ТабДок.ПолучитьОбласть("Введение");
Темп.Вывести(ОбластьВведение);

Пока ВыборкаРегистратор.Следующий() цикл
если ВыборкаРегистратор<>Неопределено тогда
ОбластьРегистратор = ТабДок.ПолучитьОбласть("Регистратор");
ОбластьРегистратор.Параметры.Дата=ВыборкаРегистратор.Регистратор.Дата;
ОбластьРегистратор.Параметры.z=ВыборкаРегистратор.z;
......
ОбластьРегистратор.Параметры.x=ВыборкаРегистратор.x;
......
ОбластьРегистратор.Параметры.c=ВыборкаРегистратор.c;
.......
Темп.Вывести(ОбластьРегистратор);
    конецесли;
конеццикла;

Запрос = Новый запрос;
Запрос.Текст =
"ВЫБРАТЬ
        |КОНЕЦПЕРИОДА(ТеоретическийБалансПодсолнечника.Период, НЕДЕЛЯ) КАК Регистратор,
| СУММА(ТеоретическийБалансПодсолнечника.k) КАК k,
............
|ИЗ
| РегистрНакопления.ТеоретическийБалансПодсолнечника КАК ТеоретическийБалансПодсолнечника
|ГДЕ
| ТеоретическийБалансПодсолнечника.Период МЕЖДУ &НачалоДня И &КонецДня
|
|СГРУППИРОВАТЬ ПО
| КОНЕЦПЕРИОДА(ТеоретическийБалансПодсолнечника.Период, НЕДЕЛЯ)
|
|УПОРЯДОЧИТЬ ПО
| Регистратор
|ИТОГИ
| СУММА(k1),
.......
|ПО
| Регистратор
|АВТОУПОРЯДОЧИВАНИЕ";
Запрос.УстановитьПараметр("НачалоДня", НачалоДня(НачПериода));
Запрос.УстановитьПараметр("КонецДня", КонецДня(КонПериода));
Результат = Запрос.Выполнить();
ВыборкаПериод = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаПериод.Следующий() цикл
если ВыборкаПериод<> неопределено тогда
ОбластьПериод = ТабДок.ПолучитьОбласть("Период");
ОбластьПериод.Параметры.Дата1=ВыборкаПериод.Регистратор;
ОбластьПериод.Параметры.k=ВыборкаПериод.k;
........
Темп.Вывести(ОбластьПериод);

конецесли;
конеццикла;

ТабФорма = Отчеты.ТеоретическийБалансПодсолнечника.ПолучитьФорму("ФормаТаблицы");
ТабФорма.Открыть();
ТабФорма.ЭлементыФормы.Результат.Вывести(Темп);
КонецПроцедуры

вот что у меня при выводе получается, а хотелось что бы прошла неделя (с понедельника по воскресенье и в конце недельный общий отчет) вывелся отчет и так далее

* суточно-недельный отчет.PNG (50.37 Кб - загружено 770 раз.)
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #46 : 23-02-2010 09:06 » 

добрый день
по поводу формирования отчета, после недельных работ с доводкой процедуры так ничего толком и не получилось, все равно недельный данные формируются в конце ежедневных отчетов ((((
что можете посоветовать с группировкой процедуры???
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #47 : 23-02-2010 10:07 » 

staff, выкладывай cf - буду разбираться
Offtopic:
Ну вот наконец-то до тебя добрался Улыбаюсь
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #48 : 23-02-2010 10:07 » 

сделано
« Последнее редактирование: 23-02-2010 10:12 от staff » Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #49 : 23-02-2010 11:27 » 

Конфигурация -> Отчеты -> ТеоретическийБалансПодсолнечника -> ФормаОтчета
Процедура КнопкаСформировать1Нажатие(Элемент) и Процедура КнопкаСформировать5Нажатие(Элемент)

по этим двум процедурам у меня проблемы ((((

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

Потом обход по результатам запроса выполняется так:
Код:
Результат=Запрос.Выполнить();
Выборка1=Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока Выборка1.Следующий() Цикл
// Здесь работаем с итогами по Группировке 1
// Здесь что-то делаем ДО детализации по группировке 2
Выборка2=Выборка1.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
// !!! Внимание: выборка 2 - это выборка из выборки 1
Пока Выборка2.Следующий() Цикл
// Здесь работаем с итогами по Группировке 2
КонецЦикла;
// Здесь что-то делаем ПОСЛЕ детализации по группировке 2
КонецЦикла;
Заметь: чем больше полей в блоке запроса ИТОГИ...ПО... (т.е. чем больше группировок итогов) - тем больше вложенных циклов у тебя будет

Вот собственно и все.

В итоге КнопкаСформировать1Нажатие() получилась вот такая (почитай в синтакс помощнике про ЗаполнитьЗначенияСвойств()):
Код:
Процедура КнопкаСформировать1Нажатие(Элемент)
// Вставить содержимое обработчика.
Запрос = Новый запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТеоретическийБалансПодсолнечника.Регистратор КАК Регистратор,
| КОНЕЦПЕРИОДА(ТеоретическийБалансПодсолнечника.Период, НЕДЕЛЯ) КАК КонецНедели,
| СУММА(ТеоретическийБалансПодсолнечника.z) КАК z,
| СУММА(ТеоретическийБалансПодсолнечника.z1) КАК z1,
| СУММА(ТеоретическийБалансПодсолнечника.z2) КАК z2,
| СУММА(ТеоретическийБалансПодсолнечника.z3) КАК z3,
| СУММА(ТеоретическийБалансПодсолнечника.z4) КАК z4,
| СУММА(ТеоретическийБалансПодсолнечника.z8) КАК z8,
| СУММА(ТеоретическийБалансПодсолнечника.z9) КАК z9,
| СУММА(ТеоретическийБалансПодсолнечника.z10) КАК z10,
| СУММА(ТеоретическийБалансПодсолнечника.z11) КАК z11,
| СУММА(ТеоретическийБалансПодсолнечника.z12) КАК z12,
| СУММА(ТеоретическийБалансПодсолнечника.z13) КАК z13,
| СУММА(ТеоретическийБалансПодсолнечника.z14) КАК z14,
| СУММА(ТеоретическийБалансПодсолнечника.z15) КАК z15,
| СУММА(ТеоретическийБалансПодсолнечника.z16) КАК z16,
| СУММА(ТеоретическийБалансПодсолнечника.z17) КАК z17,
| СУММА(ТеоретическийБалансПодсолнечника.z18) КАК z18,
| СУММА(ТеоретическийБалансПодсолнечника.z19) КАК z19,
| СУММА(ТеоретическийБалансПодсолнечника.x) КАК x,
| СУММА(ТеоретическийБалансПодсолнечника.x1) КАК x1,
| СУММА(ТеоретическийБалансПодсолнечника.x2) КАК x2,
| СУММА(ТеоретическийБалансПодсолнечника.x3) КАК x3,
| СУММА(ТеоретическийБалансПодсолнечника.x4) КАК x4,
| СУММА(ТеоретическийБалансПодсолнечника.x8) КАК x8,
| СУММА(ТеоретическийБалансПодсолнечника.x9) КАК x9,
| СУММА(ТеоретическийБалансПодсолнечника.x10) КАК x10,
| СУММА(ТеоретическийБалансПодсолнечника.x11) КАК x11,
| СУММА(ТеоретическийБалансПодсолнечника.x12) КАК x12,
| СУММА(ТеоретическийБалансПодсолнечника.x13) КАК x13,
| СУММА(ТеоретическийБалансПодсолнечника.x14) КАК x14,
| СУММА(ТеоретическийБалансПодсолнечника.x15) КАК x15,
| СУММА(ТеоретическийБалансПодсолнечника.x16) КАК x16,
| СУММА(ТеоретическийБалансПодсолнечника.x17) КАК x17,
| СУММА(ТеоретическийБалансПодсолнечника.x18) КАК x18,
| СУММА(ТеоретическийБалансПодсолнечника.x19) КАК x19,
| СУММА(ТеоретическийБалансПодсолнечника.c) КАК c,
| СУММА(ТеоретическийБалансПодсолнечника.c2) КАК c2,
| СУММА(ТеоретическийБалансПодсолнечника.c4) КАК c4,
| СУММА(ТеоретическийБалансПодсолнечника.c5) КАК c5,
| СУММА(ТеоретическийБалансПодсолнечника.c6) КАК c6,
| СУММА(ТеоретическийБалансПодсолнечника.c7) КАК c7,
| СУММА(ТеоретическийБалансПодсолнечника.c9) КАК c9,
| СУММА(ТеоретическийБалансПодсолнечника.c10) КАК c10,
| СУММА(ТеоретическийБалансПодсолнечника.c11) КАК c11,
| СУММА(ТеоретическийБалансПодсолнечника.c12) КАК c12,
| СУММА(ТеоретическийБалансПодсолнечника.c13) КАК c13,
| СУММА(ТеоретическийБалансПодсолнечника.c14) КАК c14,
| СУММА(ТеоретическийБалансПодсолнечника.c15) КАК c15,
| СУММА(ТеоретическийБалансПодсолнечника.c16) КАК c16,
| СУММА(ТеоретическийБалансПодсолнечника.c17) КАК c17,
| СУММА(ТеоретическийБалансПодсолнечника.c18) КАК c18,
| СУММА(ТеоретическийБалансПодсолнечника.c19) КАК c19,
| СУММА(ТеоретическийБалансПодсолнечника.c20) КАК c20,
| СУММА(ТеоретическийБалансПодсолнечника.c21) КАК c21,
| СУММА(ТеоретическийБалансПодсолнечника.c22) КАК c22,
| СУММА(ТеоретическийБалансПодсолнечника.c23) КАК c23,
| СУММА(ТеоретическийБалансПодсолнечника.c24) КАК c24,
| СУММА(ТеоретическийБалансПодсолнечника.c25) КАК c25,
| СУММА(ТеоретическийБалансПодсолнечника.c26) КАК c26,
| СУММА(ТеоретическийБалансПодсолнечника.c27) КАК c27,
| СУММА(ТеоретическийБалансПодсолнечника.c28) КАК c28,
| СУММА(ТеоретическийБалансПодсолнечника.c29) КАК c29,
| СУММА(ТеоретическийБалансПодсолнечника.c30) КАК c30,
| СУММА(ТеоретическийБалансПодсолнечника.c31) КАК c31,
| СУММА(ТеоретическийБалансПодсолнечника.c32) КАК c32,
| СУММА(ТеоретическийБалансПодсолнечника.c33) КАК c33,
| СУММА(ТеоретическийБалансПодсолнечника.c34) КАК c34,
| СУММА(ТеоретическийБалансПодсолнечника.c35) КАК c35,
| СУММА(ТеоретическийБалансПодсолнечника.k) КАК k,
| СУММА(ТеоретическийБалансПодсолнечника.k2) КАК k2,
| СУММА(ТеоретическийБалансПодсолнечника.k3) КАК k3,
| СУММА(ТеоретическийБалансПодсолнечника.k4) КАК k4,
| СУММА(ТеоретическийБалансПодсолнечника.k5) КАК k5
|ИЗ
| РегистрНакопления.ТеоретическийБалансПодсолнечника КАК ТеоретическийБалансПодсолнечника
|ГДЕ
| ТеоретическийБалансПодсолнечника.Период МЕЖДУ &НачалоДня И &КонецДня
|
|СГРУППИРОВАТЬ ПО
| ТеоретическийБалансПодсолнечника.Регистратор,
| КОНЕЦПЕРИОДА(ТеоретическийБалансПодсолнечника.Период, НЕДЕЛЯ)
|
|УПОРЯДОЧИТЬ ПО
| Регистратор
|ИТОГИ
| СУММА(z),
| СУММА(z1),
| СУММА(z2),
| СУММА(z3),
| СУММА(z4),
| СУММА(z8),
| СУММА(z9),
| СУММА(z10),
| СУММА(z11),
| СУММА(z12),
| СУММА(z13),
| СУММА(z14),
| СУММА(z15),
| СУММА(z16),
| СУММА(z17),
| СУММА(z18),
| СУММА(z19),
| СУММА(x),
| СУММА(x1),
| СУММА(x2),
| СУММА(x3),
| СУММА(x4),
| СУММА(x8),
| СУММА(x9),
| СУММА(x10),
| СУММА(x11),
| СУММА(x12),
| СУММА(x13),
| СУММА(x14),
| СУММА(x15),
| СУММА(x16),
| СУММА(x17),
| СУММА(x18),
| СУММА(x19),
| СУММА(c),
| СУММА(c2),
| СУММА(c4),
| СУММА(c5),
| СУММА(c6),
| СУММА(c7),
| СУММА(c9),
| СУММА(c10),
| СУММА(c11),
| СУММА(c12),
| СУММА(c13),
| СУММА(c14),
| СУММА(c15),
| СУММА(c16),
| СУММА(c17),
| СУММА(c18),
| СУММА(c19),
| СУММА(c20),
| СУММА(c21),
| СУММА(c22),
| СУММА(c23),
| СУММА(c24),
| СУММА(c25),
| СУММА(c26),
| СУММА(c27),
| СУММА(c28),
| СУММА(c29),
| СУММА(c30),
| СУММА(c31),
| СУММА(c32),
| СУММА(c33),
| СУММА(c34),
| СУММА(c35),
| СУММА(k),
| СУММА(k2),
| СУММА(k3),
| СУММА(k4),
| СУММА(k5)
|ПО
| КонецНедели,
| Регистратор
|АВТОУПОРЯДОЧИВАНИЕ";
Запрос.УстановитьПараметр("НачалоДня", НачалоДня(НачПериода));
Запрос.УстановитьПараметр("КонецДня", КонецДня(КонПериода));

темп = Новый ТабличныйДокумент;
ТабДок = ПолучитьМакет("Макет");

ОбластьВведение = ТабДок.ПолучитьОбласть("Введение");
Темп.Вывести(ОбластьВведение);

Результат = Запрос.Выполнить();
ВыборкаПериод = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПериод.Следующий() Цикл
ВыборкаРегистратор = ВыборкаПериод.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаРегистратор.Следующий() Цикл
Если ВыборкаРегистратор=Неопределено Тогда Продолжить; КонецЕсли;

ОбластьРегистратор = ТабДок.ПолучитьОбласть("Регистратор");
ОбластьРегистратор.Параметры.Дата=ВыборкаРегистратор.Регистратор.Дата;
ЗаполнитьЗначенияСвойств(ОбластьРегистратор.Параметры, ВыборкаРегистратор,
  "z,z1,z2,z3,z4,z8,z9,z10,z11,z12,z13,z14,z15,z16,z17,z18,z19,"+
  "x,x1,x2,x3,x4,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,"+
  "c,c2,c4,c5,c6,c7,c9,c11,c12,c13,c14,c15,c16,c17,c19,c20,c21,"+
  "c22,c23,c24,c25,c26,c27,c28,c29,c30,c31,c32,c33,c34,c35"+
  "");
Темп.Вывести(ОбластьРегистратор);
КонецЦикла;

ОбластьПериод = ТабДок.ПолучитьОбласть("Период");
ОбластьПериод.Параметры.Дата1=ВыборкаПериод.Регистратор;
ЗаполнитьЗначенияСвойств(ОбластьПериод.Параметры, ВыборкаПериод,
  "k,k2,k3,k4,k5");
ОбластьПериод.Параметры.k1=//ВыборкаПериод.k1;
  ((ВыборкаПериод.z2) + (ВыборкаПериод.x2)) / (ВыборкаПериод.k);
ОбластьПериод.Параметры.k6=//ВыборкаПериод.k6;
  ((ВыборкаПериод.z4) + (ВыборкаПериод.x4)) / (ВыборкаПериод.k);
//ОбластьПериод.Параметры.k7=ВыборкаПериод.k7;
//ОбластьПериод.Параметры.k8=ВыборкаПериод.k8;
//ОбластьПериод.Параметры.k9=ВыборкаПериод.k9;
//ОбластьПериод.Параметры.k10=ВыборкаПериод.k10;
//ОбластьПериод.Параметры.k11=ВыборкаПериод.k11;
//ОбластьПериод.Параметры.k12=ВыборкаПериод.k12;
//ОбластьПериод.Параметры.k13=ВыборкаПериод.k13;
//ОбластьПериод.Параметры.k14=ВыборкаПериод.k14;
//ОбластьПериод.Параметры.k15=ВыборкаПериод.k15;
//ОбластьПериод.Параметры.k16=ВыборкаПериод.k16;
//ОбластьПериод.Параметры.k17=ВыборкаПериод.k17;
//ОбластьПериод.Параметры.k18=ВыборкаПериод.k18;
//ОбластьПериод.Параметры.k19=ВыборкаПериод.k19;
//ОбластьПериод.Параметры.k20=ВыборкаПериод.k20;
//ОбластьПериод.Параметры.k21=ВыборкаПериод.k21;
//ОбластьПериод.Параметры.k22=ВыборкаПериод.k22;
//ОбластьПериод.Параметры.k23=ВыборкаПериод.k23;
//ОбластьПериод.Параметры.k24=ВыборкаПериод.k24;
//ОбластьПериод.Параметры.k25=ВыборкаПериод.k25;
//ОбластьПериод.Параметры.k26=ВыборкаПериод.k26;
//ОбластьПериод.Параметры.k27=ВыборкаПериод.k27;
Темп.Вывести(ОбластьПериод);
КонецЦикла;
ТабФорма = Отчеты.ТеоретическийБалансПодсолнечника.ПолучитьФорму("ФормаТаблицы");
ТабФорма.Открыть();
ТабФорма.ЭлементыФормы.Результат.Вывести(Темп);
КонецПроцедуры

Мне было лень прописывать все коэффициенты в результате - это сделаешь сам по аналогии с k1 и k6.
Аналогично для КнопкаСформировать5Нажатие().
Записан
staff
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #50 : 23-02-2010 11:31 » 

понял, сейчас попробую реализовать
Записан
Страниц: 1 2 [Все]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines