Пример за обща функция за създаване на схема за съставяне на данни
Имаше нужда често да се прибягва до програмно създаване на схема за съставяне на данни. Беше решено да се напише универсална функция, която приема различни набори от данни и връща готовия ACS на изхода. Функцията за въвеждане приема заявка, текст на заявка, таблица със стойности и дърво със стойности. В допълнение към набора от данни, функцията приема редица незадължителни параметри:
- Структура на ресурса: съдържа списък с ресурсни полета, където ключ - FieldName, Value(String) - Агрегирана функция ("Sum", "Average", "Quantity" и др.);
- Маркирайте AutoCompleteAvailableFields;
- Името на низа на оформлението на оформлението.
При обработка, ясен пример за използване на функцията. Поставете текста на вашата заявка във функцията "GetRequestText" и я оформете.
Към интерфейса е добавен избор на композьор на настройките, с помощта на който потребителят може да конфигурира желания избор. Функцията за създаване на схема за съставяне на данни се използва два пъти: първият при отваряне на формуляра за инициализиране на полетата към потребителя. Вторият път директно по време на формирането на резултата. При генериране на резултат чрез заявка, данните се избират от базата данни и се поставят в таблица със стойности - модел за създаване на ACS въз основа на външен набор от данни. Приех този вариант за най-интересен. Използвайки го, е лесно да се демонстрират откриващите възможности на този подход. Отне ми 5-7 минути да разработя този пример, който ми позволява бързо да решавам подобни проблеми.
Като допълнителен пример за използване мога да предложа:
- Формиране на ACS справка по таблица със стойности с динамичен състав на колони
- създаване на допълнителен бутон под формата на списък, когато щракнете, можете да получите подробна информация за елемент от списъка, без да изготвяте отделен отчет. В моетоорганизации, това се прилага в списъка на контрагентите (вземания, месечен оборот).
- Програмно обработва колекции от стойности с предоставени от потребителя селекции
Обработката е тествана в SCP 1.3.79.2. Платформа 8.2.19.130