powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Обработка реквизитов справочника
7 сообщений из 7, страница 1 из 1
Обработка реквизитов справочника
    #35428494
Mary L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
у меня просьба помочь с проведением расчетов.

Есть справочник: СпрУрЖизни -- в нем реквизиты: ВРП и Регион.
Тип реквизита Регион - справочник "Регионы".

Нужно по выбранному региону перебрать все значения ВРП по годам от Г до ПоследГод, найди среднее значение, мин и макс.

Моя попытка немного кривая :
Процедура ИндУрЖизниНас() //Расчет 1
Перем РазСпис, ДобавРек;
//Сначала рассчитать Долю населения с доходами ниже прожит.мин
//1 Получим список регионов из СпРегион
РазСпис=СпРегион.РазмерСписка();
//Будем рассчитывать индекс для выбранного региона за все года
Для т=1 по РазСпис Цикл
//2 Нарастим счетчик для определения кол-ва записей для первого региона
СпрУрЖизни=СоздатьОбъект("Справочник.ИндексУрЖизни");
СпрРегионы=СоздатьОбъект("Справочник.Регионы");
СписРег1=СоздатьОбъект("СписокЗначений");
ПоследГод=Константа.ПослГод.Получить(РабочаяДата());
СпрРегионы.НайтиПоНаименованию(ВыбрРегИмя);
СпрУрЖизни.ВыбратьЭлементыПоРеквизиту("Регион", СпрРегионы.ТекущийЭлемент(),1);
Пока СпрУрЖизни.ПолучитьЭлемент()=1 Цикл
//Добавим все элементы в список значений, перебирая по годам
Для Г=1998 по ПоследГод Цикл
СпрУрЖизни.ИспользоватьДату("31.12."+Г,1);
СписРег1.ДобавитьЗначение(СпрУрЖизни.ПолучитьАтрибут("ДохНижеПрож"));
КонецЦикла;
КонецЦикла;
//Выгружаем список и обновляем форму
СписРег1.Выгрузить(СписокР);
Форма.Обновить();
//Вытащим значения Доли для каждого региона



//3 Сложим все полученные значения Доли по первому региону
//4 Поделим на общее количество
//5 Вычислим по одной из двух формул
//6 Сохраним столбец значений в табличку



КонецЦикла;
//Затем взять среднеарифметическое всех показателей для каждого региона

КонецПроцедуры
...
Рейтинг: 0 / 0
Обработка реквизитов справочника
    #35428498
Mary L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пардон - вместо ВРП - поле ДохНижеПрож
...
Рейтинг: 0 / 0
Обработка реквизитов справочника
    #35428527
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все глаза сломал. Вы бы хоть отредактировали текст, чтобы с пробелами был...
А в запросе можно использовать мин и макс.
...
Рейтинг: 0 / 0
Обработка реквизитов справочника
    #35428759
Mary L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я бы отредактировала, да не знаю как именно.

У меня не запросы - это обработка формы.
А текст приведен одной процедуры.

Так...может лучше видно будет.

Процедура ИндУрЖизниНас() //Расчет 1

Перем РазСпис, ДобавРек;

//Сначала рассчитать Долю населения с доходами ниже прожит.мин

//1 Получим список регионов из СпРегион

РазСпис=СпРегион.РазмерСписка();

//Будем рассчитывать индекс для выбранного региона за все года

Для т=1 по РазСпис Цикл

//2 Нарастим счетчик для определения кол-ва записей для первого региона

СпрУрЖизни=СоздатьОбъект("Справочник.ИндексУрЖизни");

СпрРегионы=СоздатьОбъект("Справочник.Регионы");

СписРег1=СоздатьОбъект("СписокЗначений");

ПоследГод=Константа.ПослГод.Получить(РабочаяДата());

СпрРегионы.НайтиПоНаименованию(ВыбрРегИмя);

СпрУрЖизни.ВыбратьЭлементыПоРеквизиту("Регион", СпрРегионы.ТекущийЭлемент(),1);

Пока СпрУрЖизни.ПолучитьЭлемент()=1 Цикл

//Добавим все элементы в список значений, перебирая по годам

Для Г=1998 по ПоследГод Цикл

СпрУрЖизни.ИспользоватьДату("31.12."+Г,1);

СписРег1.ДобавитьЗначение(СпрУрЖизни.ПолучитьАтрибут("ДохНижеПрож"));

КонецЦикла;

КонецЦикла;

//Выгружаем список и обновляем форму

СписРег1.Выгрузить(СписокР);

Форма.Обновить();

//Вытащим значения Доли для каждого региона
//3 Сложим все полученные значения Доли по первому региону
//4 Поделим на общее количество
//5 Вычислим по одной из двух формул
//6 Сохраним столбец значений в табличку

КонецЦикла;
//Затем взять среднеарифметическое всех показателей для каждого региона

КонецПроцедуры
...
Рейтинг: 0 / 0
Обработка реквизитов справочника
    #35428954
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1сВсе глаза сломал. Вы бы хоть отредактировали текст, чтобы с пробелами был...
А в запросе можно использовать мин и макс.Пробелы не там, ну ладно.

Сделайте проще - все значение кидайте в таблицу значений.
Когда надо найти среднее - метод Кол=Т.КоличествоСтрок(); Т.Свернуть();Среднее=Т.Итог()/Кол;
Максимальное и мнимальное - первую строку в вашей таблиц значений после метода Т.Сортировать("+ или - что-то")
...
Рейтинг: 0 / 0
Обработка реквизитов справочника
    #35429039
Mary L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скажи где нужно поставить, я сделаю.
мне не сложно, просто я новичок.

с таблицей щас попробую.
...
Рейтинг: 0 / 0
Обработка реквизитов справочника
    #35429046
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mary Lскажи где нужно поставить, я сделаю.
мне не сложно, просто я новичок.

с таблицей щас попробую.Выделяешь в 1с конфигураторе текст и жмешь кнопку "форматировать блок"
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Обработка реквизитов справочника
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]