Друзья такая тема. Значит есть справочники "Участники" - которые приходят на игру.
Захотелось поставить диаграмму в справочники а точнее на форму элемента. что бы при открытии карточки игрока из справочника видно было что на этот месяц игрок сколько платил мне.. Я создал реквизит прям внутри формы элемента справочника и путь дал на "поле диаграммы" - Теперь тут нужно наверника всего при открытии формы написать код. Но вот как написать не знаю. Проблема в том что я понимаю что нужно поставить отбор и дату (Текущий месяц) но увы столько еще не смог научиться. Заранее спасибо..
Захотелось поставить диаграмму в справочники а точнее на форму элемента. что бы при открытии карточки игрока из справочника видно было что на этот месяц игрок сколько платил мне.. Я создал реквизит прям внутри формы элемента справочника и путь дал на "поле диаграммы" - Теперь тут нужно наверника всего при открытии формы написать код. Но вот как написать не знаю. Проблема в том что я понимаю что нужно поставить отбор и дату (Текущий месяц) но увы столько еще не смог научиться. Заранее спасибо..
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)У тебя есть группа, которая выше по иерархии чем "Основной", "Учет", "Фотография" и "Дополнительно". Если нет - создай и помести туда свои группы. Затем в событии отработай "ПриСменеСтраницы":
&НаКлиенте
Процедура ТвояНоваяГруппаПриСменеСтраницы(Элемент, ТекущаяСтраница)
Если ТекущаяСтраница = Элементы.Учет Тогда
СформироватьОтчет();
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура СформироватьОтчет()
КонецПроцедуры
Показать
Вот создал кнопку просто для проверки и нарисовал с помощи конструктора
&НаСервере
Процедура СформироватьНаСервере(Диаграмма)
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПриобритениеУслугПоМафии.Приходы КАК Приходы,
| ПРЕДСТАВЛЕНИЕ(ПриобритениеУслугПоМафии.Приходы) КАК ПриходыПредставление,
| ПриобритениеУслугПоМафии.Дата КАК Дата,
| ПриобритениеУслугПоМафии.Сумма КАК Сумма
|ИЗ
| РегистрНакопления.ПриобритениеУслугПоМафии КАК ПриобритениеУслугПоМафии
|ИТОГИ
| СУММА(Сумма)
|ПО
| Приходы";
РезультатЗапроса = Запрос.Выполнить();
Диаграмма.Обновление = Ложь;
Диаграмма.Очистить();
Диаграмма.АвтоТранспонирование = Ложь;
Точка = Диаграмма.УстановитьТочку("Сумма");
ВыборкаПриходы = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПриходы.Следующий() Цикл
Серия = Диаграмма.УстановитьСерию(ВыборкаПриходы.Приходы);
Серия.Текст = ВыборкаПриходы.ПриходыПредставление;
Серия.Расшифровка = ВыборкаПриходы.Приходы;
Диаграмма.УстановитьЗначение(Точка, Серия, ВыборкаПриходы.Сумма, Серия.Расшифровка);
ВыборкаДетальныеЗаписи = ВыборкаПриходы.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// Вставить обработку выборки ВыборкаДетальныеЗаписи
КонецЦикла;
КонецЦикла;
Диаграмма.АвтоТранспонирование = Истина;
Диаграмма.Обновление = Истина;
//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
КонецПроцедуры
&НаКлиенте
Процедура Сформировать(Команда)
СформироватьНаСервере(Диаграмма);
КонецПроцедуры
Только выдает ошибку {Справочник.Мафия.Форма.ФормаЭлемента.Форма(135,24)}: Переменная не определена (Диаграмма)
СформироватьНаСервере(<<?>>Диаграмма); (Проверка: Тонкий клиент)
&НаСервере
Процедура СформироватьНаСервере(Диаграмма)
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПриобритениеУслугПоМафии.Приходы КАК Приходы,
| ПРЕДСТАВЛЕНИЕ(ПриобритениеУслугПоМафии.Приходы) КАК ПриходыПредставление,
| ПриобритениеУслугПоМафии.Дата КАК Дата,
| ПриобритениеУслугПоМафии.Сумма КАК Сумма
|ИЗ
| РегистрНакопления.ПриобритениеУслугПоМафии КАК ПриобритениеУслугПоМафии
|ИТОГИ
| СУММА(Сумма)
|ПО
| Приходы";
РезультатЗапроса = Запрос.Выполнить();
Диаграмма.Обновление = Ложь;
Диаграмма.Очистить();
Диаграмма.АвтоТранспонирование = Ложь;
Точка = Диаграмма.УстановитьТочку("Сумма");
ВыборкаПриходы = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПриходы.Следующий() Цикл
Серия = Диаграмма.УстановитьСерию(ВыборкаПриходы.Приходы);
Серия.Текст = ВыборкаПриходы.ПриходыПредставление;
Серия.Расшифровка = ВыборкаПриходы.Приходы;
Диаграмма.УстановитьЗначение(Точка, Серия, ВыборкаПриходы.Сумма, Серия.Расшифровка);
ВыборкаДетальныеЗаписи = ВыборкаПриходы.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// Вставить обработку выборки ВыборкаДетальныеЗаписи
КонецЦикла;
КонецЦикла;
Диаграмма.АвтоТранспонирование = Истина;
Диаграмма.Обновление = Истина;
//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
КонецПроцедуры
&НаКлиенте
Процедура Сформировать(Команда)
СформироватьНаСервере(Диаграмма);
КонецПроцедуры
Только выдает ошибку {Справочник.Мафия.Форма.ФормаЭлемента.Форма(135,24)}: Переменная не определена (Диаграмма)
СформироватьНаСервере(<<?>>Диаграмма); (Проверка: Тонкий клиент)
(5) Естественно! У тебя параметр "Диаграмма" не назначен заранее. Да и не нужен он тебе.
Если "Приход" это посетитель, то где отбор по нему в запросе? Если тебе нужны данные за период, то где отбор по дате?
&НаКлиенте
// Просто обратись к процедуре на сервере
Процедура Сформировать(Команда)
СформироватьНаСервере();
КонецПроцедуры
&НаСервере
Процедура СформироватьНаСервере(Диаграмма)
// Тут просто обратись к диаграмме
Диаграмма...
КонецПроцедуры
ПоказатьЕсли "Приход" это посетитель, то где отбор по нему в запросе? Если тебе нужны данные за период, то где отбор по дате?
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПриобритениеУслугПоМафии.Приходы КАК Приходы,
| ПРЕДСТАВЛЕНИЕ(ПриобритениеУслугПоМафии.Приходы) КАК ПриходыПредставление,
| ПриобритениеУслугПоМафии.Дата КАК Дата,
| ПриобритениеУслугПоМафии.Сумма КАК Сумма
|ИЗ
| РегистрНакопления.ПриобритениеУслугПоМафии КАК ПриобритениеУслугПоМафии
|ИТОГИ
| СУММА(Сумма)
|ПО
| Приходы";
РезультатЗапроса = Запрос.Выполнить();
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот