helpf.pro
Регистрация
 0 
Распечатать

1С 8.2 УП : Как заполнить диаграмму данными?

Код 1C v 8.2 УП
 // Перезаполнит объект Диагамма значениями из Источник
// Параметры:
// Диаграмма - Диаграмма
// Источник - Массив, Таблица значений, Табличная часть - Коллекция,
// для которой доступен обход элементов коллекции посредством оператора Для каждого … Из … Цикл.
// ПараметрыЗаполнения - Структура - обязательные ключи "Точки", "Серии", "Значения"
// имена коллонок Источника
Процедура ЗаполнитьДиаграмму(Диаграмма, Источник, ПараметрыЗаполнения)

Перем ИндексТочек, ИндексСерий;
Перем Серия, Точка;
Перем ЗаписьИсточника;
Перем ПолеТочек, ПолеСерий, ПолеЗначений;

Диаграмма.Очистить();
Диаграмма.Обновление = Ложь;

Если Не (ТипЗнч(ПараметрыЗаполнения) = Тип("Структура")
Или ТипЗнч(ПараметрыЗаполнения) = Тип("ФиксированнаяСтруктура")
Или ТипЗнч(ПараметрыЗаполнения) = Тип("ФиксированноеСоответствие")
Или ТипЗнч(ПараметрыЗаполнения) = Тип("Соответствие")) Тогда

ПараметрыЗаполнения = Новый Структура;
КонецЕсли;

ПараметрыЗаполнения.Свойство("Точки", ПолеТочек);
ПараметрыЗаполнения.Свойство("Серии", ПолеСерий);
ПараметрыЗаполнения.Свойство("Значения", ПолеЗначений);

Для Каждого ЗаписьИсточника Из Источник Цикл
Точка = ПолучитьИндексОбъектаДиаграммы(Диаграмма.Точки, ЗаписьИсточника[ПолеТочек], ИндексТочек);
Серия = ПолучитьИндексОбъектаДиаграммы(Диаграмма.Серии, ЗаписьИсточника[ПолеСерий], ИндексСерий);
Диаграмма.УстановитьЗначение(Точка,Серия,ЗаписьИсточника[ПолеЗначений]);
КонецЦикла;

Диаграмма.Обновление = Истина;

КонецПроцедуры

// Вернёт число - индекс элемента Коллекции (Точки, Серии)
Функция ПолучитьИндексОбъектаДиаграммы(Коллекция, Значение, КешЗначений)

Перем индекс;

Если КешЗначений = Неопределено Тогда
КешЗначений = Новый Массив;
КонецЕсли;

индекс = КешЗначений.Найти(Значение);

Если индекс = Неопределено Тогда
КешЗначений.Добавить(Значение);
Коллекция.Добавить("" + Значение);
Индекс = КешЗначений.Количество()-1;
КонецЕсли;

Возврат индекс;
КонецФункции
Разместил:   Версии: | 8.x | 8.2 УП |  Дата:   Прочитано: 3962
 0 
Распечатать
Возможно, вас также заинтересует
Как заполнить табличную часть формы программно? 2
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код...
1C медленно работает по сети с базой на SQL Server 8
Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL . Перечислим неоптимальности в настройке: 1) Неправильно указанный сетевой протокол, используемый для...
Microsoft SQL Server Native Client Добавление значения в столбец "datetime" привело к переполнению 0
При формировании отчета на СКД получили ошибку: Microsoft SQL Server Native Client 11.0: Добавление значения в столбец "datetime" привело к переполнению Подробнее текст такой: ... по причине: Ошибка компоновки данных по причине: Ошибка...
ZIP-архив Разделить и Объединить Файл 0
При работе с большими объемами данных могут возникнуть проблемы при пересылке архивных файлов. Типичной такой ситуацией является ограничение некоторых почтовых серверов на размер сообщения - если письмо превышает...
Битая ссылка, <Объект не найден>, Уникальный Идентификатор, GUID 21
Когда кто-то удаляет данные из базы без проверки ссылок на эти объекты, то везде где этот объект использовался появляется сообщение вида: Объект не найден (84:bf5600145e3710ab11dda4c605dbe824) . https://helpf.pro/uploads/img/_1-46z7I4U7Ww.png В
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.