Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
23 мая 2024, 01:58

Вывод данных на форму

Автор Yuran9393, 11 мар 2024, 17:44

0 Пользователей и 1 гость просматривают эту тему.

Yuran9393

Добрый день! Есть внешняя обработка, у которой при открытии должны выводится определённые записи соответствующие условию:

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)   

    СписокРегистров = Новый Массив;
    СписокРегистров.Добавить(РегистрыНакопления.ПлатежиЛизингополучателей);
    СписокРегистров.Добавить(РегистрыНакопления.АгентскоеВознаграждение);
    СписокРегистров.Добавить(РегистрыНакопления.ВозвратыПокупателям);
    СписокРегистров.Добавить(РегистрыБухгалтерии.Налоговый);
    ПроизвольнаяДата = Дата(2022, 02, 27);
    ПолучениеРегистров(СписокРегистров,ПроизвольнаяДата); 
   
   
КонецПроцедуры

Функция ПолучениеРегистров(Регистры_п, Дата_п)

    ЗаписиРегистра = Новый Массив;
    Для каждого элемент Из Регистры_п Цикл     
        Если элемент.ПолучитьПериодРассчитанныхИтогов() > Дата_п Тогда
            запись = Новый Структура("Название", элемент, "Дата", элемент.ПолучитьПериодРассчитанныхИтогов());
            ЗаписиРегистра.Добавить(запись);
        КонецЕсли;
    КонецЦикла;
    Возврат ЗаписиРегистра;

КонецФункции
Подскажите пожалуйста как вывести полученные записи (ЗаписиРегистра) на форму?(что добавить на форму и как вывести данные)

Максим75

Yuran9393, ну функция Вам возвращает массив структур.
значит на форму выводите что-то, допустим таблицу значений.
и обходите этот массив структур и заполняете эту таблицу значений.
при вызове функции обязательно надо ее чему-то присвоить, она же возвращает значение.
а потом это что-то обходите как массив и заполняете.
посмотрите, как работать с универсальными коллекциями Массив, Структура, Таблица значений.

Yuran9393

Подскажите как быть дальше? Реализовал на обычной форме
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
СписокРегистров_л = Новый Массив;
СписокРегистров_л.Добавить(РегистрыНакопления.####);
СписокРегистров_л.Добавить(РегистрыБухгалтерии.####);
СписокРегистров_л.Добавить(РегистрыБухгалтерии.###;
ПроизвольнаяДата_л = Дата(2024, 03, 13);
Результат_л = ПолучениеРегистров(СписокРегистров_л,ПроизвольнаяДата_л);
Для каждого массив Из Результат_л Цикл
Стр = ТаблицаРезультат.Добавить();
Стр.ИмяРегистра = массив.Регистр;
Стр.ПериодИтогов = массив.Дата;
КонецЦикла;

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

Функция ПолучениеРегистров(Регистры_п, Дата_п)
ЗаписиРегистра = Новый Массив;
Для каждого элемент Из Регистры_п Цикл
ПолучениеИтогов = элемент.ПолучитьПериодРассчитанныхИтогов();
Если ПолучениеИтогов < Дата_п Тогда
ДанныеПоРС = Новый Структура;
ДанныеПоРС.Вставить("Регистр", элемент);
ДанныеПоРС.Вставить("Дата", ПолучениеИтогов);
ЗаписиРегистра.Добавить(ДанныеПоРС);
КонецЕсли;
КонецЦикла;
Возврат ЗаписиРегистра;
КонецФункции

Как теперь скорректировать данный функционал под управляемые формы?

Максим75

Yuran9393, думаю все это надо сделать в предопределенной процедуре ПриСозданииНаСервере,
а функцию скорее всего надо тоже на сервере вызывать

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск