1s skd опции за редактиране. Резултати от търсенето по форма за избор

1s skd опции за редактиране.  Резултати от търсенето по форма за избор
1s skd опции за редактиране. Резултати от търсенето по форма за избор

Маркерът повтаря диалоговия прозорец „Настройки“ на потребителя, достъпен за настройка на параметрите на отчета от потребителя.

Попълването на настройките в този раздел се използва за конфигуриране на отчета по подразбиране в потребителския режим на отчета.
Прозорецът за настройка на отчета е достъпен в потребителския режим на отчета, докато разликата от настройката на ACS в конфигуратора е, че можете да използвате стойностите на непредефинирани данни от базата данни.
Прозорецът с настройки се състои от основния прозорец, който показва списъци с групи, таблици и диаграми, и набор от раздели, в които се задават настройки за обектите, посочени в раздела за групи. В кои настройки се редактират този моментможем да посочим, като щракнем върху бутона с надпис кой обект редактираме:

Може би редактирайте Основни настройкиза целия отчет, като щракнете върху съответния бутон, можете да редактирате настройките само за избрания обект: групиращ елемент, таблица, диаграма.

Раздел Параметри на данните
В този раздел се задават стойностите на параметрите на данните. Списъкът с наличните параметри на данните е дефиниран в раздела „Параметри“ на схемата на ACS, тук се задават само стойности на потребителски параметри. Освен това са налични само тези параметри, за които е премахната отметката в квадратчето „Ограничение на наличността“ в схемата на ACS.


Таблицата има няколко колони:
1. "Използване" - с отметка потребителят посочва дали да използва или не този параметър за генериране на отчет.
2. "Параметър" - името на параметъра
3. "Стойност на параметъра" - стойността на параметъра или указание откъде може да се извлече стойността на параметъра. Например, ако изпуснете настояща стойност, щракване върху "X", след което щракване върху бутона "T" ще отвори избора на типа параметър в диалоговия прозорец:

Източникът може да бъде всяка стойност от прост тип String, Date, Number, Boolean или препратка към обект в базата данни. Освен това източникът за този параметър може да бъде стойността на друг параметър, за това трябва да изберете стойността „Поле за съставяне на данни“ и да изберете желаното поле от списъка с параметри.
За датата можете да зададете автоматични стойности за заместване: „Начало на този ден“, „Начало на тази седмица“ и т.н.

Раздел Избрани полета
Този раздел дефинира полетата, с изключение на групите, които ще бъдат показани в отчета. В раздела има два списъка с налични полета и избрани полета. В допълнение към полетата, дефинирани в наборите от данни, параметрите и системните полета „OrderNumber“, „OrderNumberInGrouping“, „Level“, „LevelInGrouping“, както и потребителски полета, дефинирани в раздела „Custom fields“, са достъпни за извеждане .

Можете да прехвърляте полета, като щракнете двукратно върху името в левия прозорец или като използвате специалния бутон в командния панел. Можете да добавите елементи като "Ново поле", " Нова група“, „Ново автоматично поле“. "Ново поле" - добавя елемент, в който можете да изберете поле от наличния списък с полета. „Нова група“ – можете да групирате няколко полета под една заглавка. „Ново автоматично поле“ – използва се за указване, че показаните полета за групиране ще бъдат избрани от настройките за групиране на по-високо ниво. Например, след като сме дефинирали редица ресурсни полета за целия отчет, сме посочили ново автоматично поле за групиране. Елементите могат да бъдат изтрити с помощта на бутона Изтриване, преместени по позиция с помощта на бутоните за навигация. Като поставите отметка в квадратчетата, можете да контролирате видимостта на полетата в отчета.
След като дефинираме набор от полета, можем да редактираме полетата в списъка, трябва да влезете в режим за редактиране на полета, да натиснете бутона за избор и да изберете необходимото поле от списъка.

За ресурси са достъпни за избор уточнения за изчисления на атрибути: "% в групата" - използва се за изчисляване на дела на стойността на ресурса за цялото групиране в групата, т.е. в резултат на това групата ще има 100% по отношение на съвкупността от стойности на ресурсите; "% общо" - общият процент, независимо от групата, за всички стойности на ресурса.
За полета от тип обект справка, документ и др. възможно е да се уточнят подробности за обекта в избраните полета.

Маркирайте „Избор“
Този раздел определя филтрите, които влияят на резултата от отчета.


Както в раздела „Избрани полета“, има два прозореца, отляво всички са налични SKD полетада изберете в селекцията, в правилните елементи и стойности, които влияят на селекцията. Можете също да добавите нов елемент или група от елементи, като използвате бутона Добавяне. Елементите могат да бъдат изтрити с помощта на бутона Изтриване, преместени по позиция с помощта на стрелките за движение. Като поставите отметка в квадратчетата, можете да контролирате активността на определена селекция в отчета. След натискане на бутона „Подобни“ в списъка с елементи за избор се добавят уточняващите детайли на избора: „Режим на показване“ и „Представяне“.

След добавяне на нов елемент към списъка със селекции, следните полета са достъпни за редактиране:
"Лява стойност" - SKD поле или поле от прост тип ("Число", "Низ", "Дата", "Булева"), върху което се прилага селекцията
"Тип сравнение" - списък с възможни условия за избор: "Равен", "Не е равен", "В списъка", "В групата от списъка", "В групата", "Не е в списъка", " Не е в групата от списъка", "Не е в група", "Съдържа", "Не съдържа", "Завършен", "Не е попълнен"
"Дясна стойност" - стойност за избор, съответства на стойността на полето "Лява стойност". Ако "Тип сравнение" е "В списъка", "В групата от списъка", "Не е в списъка", "Не е в групата от списъка", тогава списъкът със стойности е достъпен за настройка
"Режим на показване" - възможни две опции " Бърз достъп“ и „Нормално“. Ако е зададен "Бърз достъп", тогава, ако е възможно, стойностите за избор се показват под формата на падащ списък, това е особено вярно за малки, рядко променящи се директории, изброявания или типове характеристики. "Нормално" - начинът по подразбиране за показване на стойности за обекти под формата на селекция или списък.
"Производителност" - текстово представянеселекция в намален режим (ако не е натиснат бутон "Детайли"), както и представяне на селекцията при извеждане на отчета.
Можете да добавяте групи към селекциите - които служат за комбиниране на няколко селекции, по произволен критерий "И", "ИЛИ", "НЕ".


Например, трябва да комбинирате няколко условия, като използвате оператора "И". За да направите това, трябва да добавите „Група И“ към селекцията в тази група, избройте условията. Разрешено е влагане на групи, с помощта на които можете да създадете сложни условия. В допълнение към „Групиране И“ са налични „Групиране ИЛИ“ и „Негрупиране“. По подразбиране само списък с условия за избор, който не принадлежи към никоя група, е свързан с помощта на оператора "И".

Раздел за сортиране
Този раздел определя полетата, по които се извършва сортирането.


Добавянето на полета в този раздел е подобно на начина, по който се прави в раздела „Избрани полета“. Единственият параметър, който е посочен в избраните полета за сортиране, е посоката на сортиране.

Раздел за условен външен вид
В раздела „Условно форматиране“ посочваме кои полета, условия за избор и условия за форматиране ще се прилагат, когато полетата се показват в отчета.


"Регион" - списък с полета, които са засегнати от условно форматиране.

„Избор“ – условия за избор, при които е валидна условната регистрация

Условията за избор се определят по същия начин, както в раздела „Избор“ на главния прозорец за настройки на оформлението.
"Условно проектиране" - при попълване дадено полепоказва се прозорец с избор на възможни опции за дизайн на посочените полета.

Списък с възможни опции за дизайн:
Цвят на фона - Определя цвета на фона в клетките
Цвят на текста - Определя цвета на текста в клетките
Цвят на диаграмата - Определя цвета на линиите в диаграмата
Цвят на границата - Цвят на границите
Стил на границата - Типове граници
Стил на границата ляво - ляво
Стил на горната граница - отгоре
Стил на границата отдясно - отдясно
Стил на долната граница - отдолу
Шрифт - Вид на шрифта, тегло, наклон и др.
Отстъп - Брой знаци за отстъп
Автоматичен отстъп - Брой знаци за отстъп, използвани при групиране
Хоризонтална позиция - позицията на текста в клетката хоризонтално
Вертикална позиция – позицията на текста в клетката вертикално
Поставяне – Поставяне на текст, който не се побира в клетката
Ориентация на текста - Ориентация на текста в градуси (напр. завъртане на 90 градуса перпендикулярно)
Форматиране - Форматиране на стойностен низ
Открояване на отрицателно - Подпишете, за да маркирате отрицателни стойности
Min Width - Минимална ширина на клетката в точки
Минимална височина - Минималната височина на клетката
Максимална височина - Максимална височина
Текст - Текстът, който се показва вместо стойността

Раздел Персонализирани полета
В този раздел можете да зададете персонализирани полета и формули, по които ще се изчисляват полетата.


Когато щракнете върху полето за добавяне, ще се отвори избор на типа потребителско поле: „Нов избор на поле“, „Нов израз на поле“.
"Поле за избор" - появява се диалог за изграждане на ново поле за избор. Това поле ще приеме посочените стойности в зависимост от условието за избор, посочено в таблицата "Опции".

"Поле за израз" - използва се, когато, без да променяте схемата на оформление, трябва да вмъкнете изчислени полета. Например в схемата са посочени ресурсите "Количество" и "Сума". В потребителски режим искаме да изчислим цената. За да направите това, вмъкваме формулата в полето за конструиране на израз:

Можете да използвате изрази от заявки в персонализирани полета.
Освен това, за да посочите общите записи в израза, трябва да използвате агрегатни функцииСУМА(..), ЧИСЛО(), МИНИМУМ(..), МАКСИМУМ(..)

Раздел Други настройки
Разделът „Други настройки“ дефинира настройките, които засягат местоположението на групи, полета за избор, ресурси и др.

Design Layout Дефинирани предварително дефинирани оформления на дизайна
Местоположение на сумите Параметърът засяга местоположението на сумите
Местоположение на полетата за групиране
Местоположение на групировките
Разположение на подпорите
Местоположение на ресурса
Позициониране на общи суми хоризонтално
Позициониране на общи суми вертикално
Тип заглавка на полето
Тип диаграма
базова стойност
Пропуснете базовата стойност
Състав на подписите
Плъзгащ режим
Показване на таблица с данни
Максимална стойност
Минимална стойност
кантиране
Градиент
Шрифт
Цвят на фона
Стил на линията
Поставяне на легенда
Ленти на диаграмата за измерване
Покажи заглавие
заглавка
Показване на параметри на данните
Избор на изход

Прозорец с настройки за групиране


Настройките на схемата за съставяне на данни може да съдържат структура, която включва налични елементи на настройките.
Тези елементи са:
групиране;
маса;
диаграма;
вложен отчет.

налични за групиране следните настройки:
Флаг за използване на групиране - ако е зададено - групирането се използва по време на свързване;
Полета за групиране - набор от полета, по които се извършва групирането. Всяко поле за групиране на системата за съставяне на данни има следните свойства:
- Флаг за използване на поле - ако е зададен - полето се използва;
- Поле за групиране - пътят до данните на полето, използвани за групиране;
- Тип групиране – тип групиране (Йерархия, Само йерархия, Елементи);
- Тип добавка – необходимост от добавяне на дати в периода;
- Начална дата - началната дата на периода. Може да съдържа постоянна стойност или стойност - поле;
- Крайна дата - крайна дата на периода. Може да съдържа постоянна стойност или стойността е поле;

При групиране по поле за период, поле за родителски период, което не е допълнителен период, се добавя автоматично към групирането, ако групираните родители не са били групирани от това поле за родителски период.
Например, ако групирането се извършва от полето Registrar, тогава полето PeriodSecond автоматично ще бъде добавено към групирането.
В същото време е забранено създаването на групировки по детайлите на периодичните полета.

Функции за създаване на отчети в 1C v8 в режим на дебел клиент

Как да изберем опция?

  • В панела за отчети поставяме бутона "Избор на опция"
  • Във формуляра поставяме полето "На дата"

Примерен код: Формуляр Действие ProcedureOptionSelection(Button) layout = GetLayout("MainDataCompositionSchema"); spOptions = Нов списък със стойности; За всяка опция от Layout.OptionsSettings Loop spOptions.Add(Option.Settings, Option.View); EndCycle;

изберете = spOptions.SelectItem(); If select = Undefined Then Return; EndIf;

SettingsComposer.LoadSettings(selection.Value);

Форма(); EndProcedure

Процедура OnDateOnChange(Element) Generate(); EndProcedure

Процедура Form() Form Elements.Result.Clear(); SettingsComposer.Settings.DataParameters.SetParameterValue("Период", OnDate); ComposeResult(FormElements.Result); EndProcedure

Процедура OnOpening() OnDate = CurrentDate(); Форма(); EndProcedure

Характеристики на създаване на отчети чрез ACS

Създаване на отчет стъпка по стъпка

  1. Създайте отчет във възела Отчети
  2. Създайте оформление в отчет, чийто тип е Схема за съставяне на данни
  3. В свойствата на отчета задайте: Основна схема за съставяне на данни = Създаден макет
  4. В свойствата на отчета задайте подсистемата, към която принадлежи (отчетът в Enterprise ще се покаже в горния панел за навигация)
  5. Създайте заявка в оформлението (елемент: Добавяне на набор от данни - Заявка)
  6. В раздела Parameters на Layout трябва да премахнете отметките от всички редове в колоната Accessibility Restriction - т.е. всички параметри ще могат да се редактират от потребителя
  7. В раздела Настройки на оформлението, в прозореца, където се показва възелът за отчет, създайте ново групиране, без да посочвате полето за групиране - ще бъде създаден подробен ред
  8. В раздела Настройки на оформлението, в прозореца, където се показва допълнителен набор от отметки, изберете допълнителни. Раздел Параметри - маркирайте всички параметри с отметка и върху всеки параметър щракнете върху бутона Свойства на елемента на потребителските настройки, ще се отвори прозорецът за настройки на параметрите, където трябва да поставите отметка в квадратчето - Включете параметър в потребителските настройки
  9. В раздела Настройки на оформлението, в прозореца, където се показва допълнителен набор от отметки, изберете допълнителни. маркирайте SelectedFields - там трябва да добавите колони, които ще се показват в отчета
  10. Стартирайте Enterprise, отворете отчета, задайте стойностите на параметрите, Генерирайте (проверете дали е избрана опцията Basic за генериране на отчета)

Как да добавите параметър, който не може да се редактира от потребителя?

Например, трябва да зададем параметъра на заявката "Информационна база"

  • Във формуляра за оформление на оформлението, в раздела Параметри, премахнете отметката от флаговете „Включване в наличните полета“ и „Ограничаване на достъпността“ за необходимия параметър
  • Във формуляра за оформление на оформлението, в раздела Настройки, в подраздела Параметри (в долната част), премахнете отметката от желания параметър, отворете свойствата (бутон гаечен ключ), на този формуляр:
    • Премахнете отметката от „Включване в потребителските настройки“
    • Режимът на редактиране е зададен на „Недостъпно“


  • В модула на формуляра за отчет, в манипулатора на събития "On VariantLoadOnServer" (можете също OnOpen, но НЕ OnCreateOnServer, защото се изпълнява ПРЕДИ настройките на отчета да бъдат заредени и настройките ще бъдат презаписани) програмно задайте параметъра:

&Процедура на сървъра при зареждане на вариант на сървъра (Настройки)

//Задаване на параметъра Settings = Report.Settings Composer.Settings; Settings.DataParameters.SetParameterValue("InfoBase", Report.InfoBase); EndProcedure

Как да зададете опции за отчет?

  • Във формуляра за оформление на оформлението в раздела Настройки в полето отляво можете да създадете необходимите опции за отчет

Как да зададете групи?

  • Във формуляра за оформление на оформлението в раздела Настройки в полето горе вдясно можете да създадете необходимите групи

Как да изведете отчет програмно?

В модула за формуляри:

&На клиентската процедура GenerateReportExecute()

ThisForm.ComposeResult();

EndProcedure

Как да тествам отчет?

Трябва да направите:

  • Формирането на ситуация в клиентски тест е най-удобно чрез ситуационна таблица
  • получаване на формуляр за отчет - форма = GetForm("Report.ProcessMovement.Form.ReportForm");
  • заредете необходимия вариант на отчет - задайте параметъра за разширение на формуляра за отчет "VariantKey" (име на настройка в оформлението на състава на данни)
  • заредете необходимите настройки за отчет - ? попълването на параметъра за разширение на формуляра за отчет "UserSettings" (тип "DataCompositionUserSettings") не работи по този начин, всичко е сложно, вижте по-долу.
  • отворена форма - form.Open()
  • изпълни формиране - form.ComposeResult();
  • проверка на съдържанието документ с електронна таблица form.Result - би било хубаво да има функции за сравнение с референтния mxl
  • затваряне на форма - form.Close(); - или може би не можете да го отворите, трябва да проверите

Вижте също

  • описание: Меню Помощ/Асистент за синтаксис/Раздел Съдържание/Обекти на управляван интерфейс на приложението/Разширения управлявана форма/Разширение на управляваната форма за справка/Параметри на формата

Как да заредя необходимите настройки на отчета?

Документацията описва, че има такъв параметър на разширението на формуляра за отчет "UserSettings" от типа "UserDataCompositionSettings", но има много сложна обектна структура, не беше възможно да се използва.

Наистина работеща схема:

1. Създайте параметри в отчета

  • Тип период StandardPeriod
  • Избор на тип ValueList (по-добре е да има Structure, но не е в списъка с типове параметри, както и произволен тип)

2. Предайте необходимите параметри на процедурата GetForm:

период = Нов стандартен период; period.Variant = VariantStandardPeriod.CustomPeriod; period.StartDate = текуща дата; period.EndDate = tomorrowDate;

избор = Нов списък със стойности; selection.Add(Testing.GetObject(stSituation, "BP1"), "BusinessProcess");

stParameters = New Structure("OptionKey,Period,Filter", "Main", period, filter); // OpenFormModally("Report.ProcessMovement.Form.ReportForm", stParameters); форма = GetForm("Report.ProcessMovement.Form.ReportForm", stParameters);

3. Задайте параметрите в манипулаторите на събития във формата

Функция &AtServer cGet(cList, View) Експортиране за всеки елемент от цикъл ListList If item.View = view Then Return item.Value; EndIf; EndCycle; Връщане Недефинирано; Крайни функции

&OnServer процедура SetUserSettingValue(Настройки, Име, Стойност) За всеки елемент От Setting.Elements Loop If ValueType(element) = Type("DataCompositionSettingsParameterValue") Then If String(element.Parameter) = Name Then element.Value = Value; element.Use = true; EndIf; EndIf; EndCycle; EndProcedure

Процедура на &OnServer SetCustomFilterValue(Настройки, име, стойност) За всеки елемент от Settings.Elements Loop If ValueType(element) = Type("DataComposition Selection") Тогава за всеки Element.Elements избор от Elements Loop If String(selection.LeftValue) = Name След това селекция .RightValue = Value; selection.Use = true; EndIf; EndCycle; EndIf; EndCycle; EndProcedure

&Процедура на сървъра при зареждане на вариант на сървъра (Настройки)

CurrentVariantName = CurrentVariantRepresentation;

Настройки = Report.SettingsComposer.Settings; Settings.DataParameters.SetParameterValue("InfoBase", Report.InfoBase);

EndProcedure

&AtServer процедура при зареждане на персонализирани настройки на сървър (Настройки) Настройки = Report.SettingsComposer.UserSettings;

<>"00010101" След това Настройки = Report.SettingsComposer.UserSettings; SetUserSettingValue(Настройки, "Период", Параметри.Период); EndIf;

ssBusinessProcess = spGet(Parameters.Filter, "BusinessProcess"); Ако ssBusinessProcess<>Undefined Тогава SetCustomFilterValue(Настройки, "BusinessProcess", sBusinessProcess); EndIf;

EndProcedure

Бележки:

  • Има Data Parameters, тоест това, което е зададено в параметрите на заявката на ACS
  • Някои от тях са зададени в настройката на варианта в UserSettings (в свойствата на параметъра има флаг "Включване в потребителските настройки"
  • Дори ако при зареждане на сървъра необходимите стойности се зареждат в параметрите на данните, тогава се отваря формуляр, в който автоматично се зареждат настройките, запазени последния път. Тези настройки "заменят" настройките на данните при генериране на отчет
  • В манипулатора OnLoadingUserSettingsOnServer предаденият обект Settings е копиереални настройки, така че за да промените настройките, които ще се показват във формуляра, трябва да попълните обекта Report.SettingsComposer.UserSettings

Как да направя множество (списъчни) параметри на заявка в SKD?

Заявката трябва да използва израза „В (&име на параметър)“(вижте булеви изрази в езика за заявки 1Cv8)

В конфигурацията на оформлението на схемата на ACS в раздела "Параметри" за този параметър поставете отметка в квадратчето "Наличен списък със стойности". В този случай, когато избирате параметър, ACS показва форма за редактиране на списък, в която можете да добавите произволна стойност на параметъра.

Как да направя деактивирани параметри на заявка в SKD?

В SKD заявката трябва да използвате конструкции, оградени с фигурни скоби "{}" .

Ако квадратчето за отметка във формуляра за отчет (панел бърза настройка) се изчиства за съответния параметър, след което тази конструкция се премахва от заявката.

За повече подробности вж Разширение на езика за заявки за система за съставяне на данни (1Cv8)

Как се прави отчет с разпределение по колони?

За да направите това, в настройките на варианта на отчета (редактиране на оформлението на данните, раздел „Настройки“, горно дясно поле), трябва да добавите „Таблица“ като първо групиране.

След това клоновете "Редове" и "Колони" се появяват във възела "Таблица", където се добавят необходимите групировки.

Как да персонализирате изходния формат на полетата?

В редактора за оформление на състава на данни, в раздела Набори от данни в горната дясна област има списък с полета за отчет.

Има две възможности:

  1. Задайте стойността на колоната „Преглед на израза“
    • тук можете да въведете езиков израз, който произвежда желания низ
    • не работи с ресурсни полета
  2. Задайте стойността на колоната "Дизайн".
    • в дизайна има свойство "Формат" - тази стойност е подобна на параметъра на езиковата функция "Формат", можете да зададете желания вид
    • преобразуването на типа не се извършва тук

За ресурсни полета можете да задавате изчислителни изрази (раздела „Ресурси“) – например

Сума (време)/3600.0

за преобразуване от секунди в часове.

Необходимата точност може да бъде зададена чрез полето "Дизайн" в раздела "Набори от данни".

Характеристики на настройка на параметрите на системата за съставяне на данни

Съществуват най-малко ТРИ вида параметри, които изискват различна обработка:

ПараметриДанни

Параметрите на данните се дефинират в заявката (източник на данни) на ACS.

Параметрите на данните се предават на заявката за източник на данни и определят данните, които да бъдат извлечени.

Обектът SettingsComposer има специално свойство за работа с параметри на данни SettingsComposer.Settings.ParametersData

Може да се настрои чрез извикване на изгледа

Настройки = Report.SettingsComposer.Settings; Settings.DataParameters.SetParameterValue("InfoBase", Report.InfoBase);

Избор

Селекциите се наслагват върху получените данни следизвличане от източника на данни.

Обектът SettingsComposer има специално свойство за работа със селекции ComposerSettings.Settings.Selection.

Например: Настройки = Report.SettingsComposer.Settings; Settings.DataParameters.SetParameterValue("InfoBase", Report.InfoBase);

За всеки елемент От Parameters.Filter LoopFilterElement = Settings.Filter.Elements.Add(Type("DataCompositionFilterItem")); Selection Element.ComparisonType = DataCompositionComparisonType.Equal; SelectionItem.LeftValue = New DataCompositionField(element.View); FilterElement.RightValue = element.Value; EndCycle;

Персонализирани настройки

Потребителските предпочитания определят данните, които потребителят може да персонализира във формуляра.

Потребителските настройки могат да бъдат показани във формата в специална таблица и могат да бъдат извикани от бутона "Настройки" и от менюто "Всички действия".

Потребителски настройки свързанс параметри на данни и селекции по някакъв доста сложен начин, тази връзка може да бъде конфигурирана визуално, но работата с тях програмно е някак много неудобна.

Досега не е намерено нищо по-добро, как да зададете стойностите на съществуваща колекция по индекс, който сам по себе си може да се премести при промяна на оформлението на ACS във визуалния редактор.

Освен това, ако някой параметър на данните е обявен за дефиниран от потребителя, тогава програмната настройка на параметъра на данните (вижте по-горе) не е достатъчна, възстановената стойност на потребителската настройка отменя настройката на параметъра на данните. Следователно за такива параметри няма смисъл да се задава параметър даннитрябва да се инсталира незабавно персонализирана настройка.

Удобно място за монтаж желани стойности- манипулатор на събитие "OnLoadingUserSettingsOnServer" на разширението на формата за отчет.

&Процедура на сървър при зареждане на потребителски настройки на сървър (Настройки)

Ако Parameters.Period.EndDate<>"00010101" След това Настройки = Report.SettingsComposer.UserSettings; Settings.Items.Value = Parameters.Period; EndIf;

EndProcedure

Използване на източник на данни като обект

За да използвате набор от данни от тип обект, трябва да подадете външен източник на данни към метода Initialize на обекта Data Composition Processor.

DecryptData = недефиниран;

Layout Layout Builder = Ново оформление на данни Layout Layout Builder; LayoutLayout = LayoutComposer.Run(DataCompositionScheme, SettingsComposer.Settings, DecodeData);

CompositionProcessor = NewDataCompositionProcessor; Layout Processor.Initialize(LayoutLayout, New Structure("Data", GetExternalSourceData()), DecodeData);

Приложен е прост пример (за да работи примерът, трябва да присъстват справочниците „Контрагенти“ и „Споразумения на контрагентите“).

внимание! Ето пробна версия на урока, чиито материали може да не са пълни.

Влезте като студент

Влезте като ученик за достъп до училищно съдържание

1C 8.3 система за съставяне на данни за начинаещи: създаване на връзка между набори от данни

  • Напишете отчет, който показва клиентите и техните любими продукти. Всеки клиент има любим цвят, а всеки продукт има свой собствен цвят - именно на базата на тези цветове трябва да определите "фаворита" на продукта. Например, ако любимият цвят на Андрей е червен, то една от любимите му храни ще бъдат доматите (те са червени).
  • Приложете два набора от данни към отчета. Първият набор са данни от справочната таблица „Клиенти“. Вторият - данни от таблицата на справочника "Храна".
  • внедрите връзка на тези две групитака че в отчета да останат само любимите продукти за всеки от клиентите.

Създаване на нов отчет

Отворете базата данни "Gastronom" в конфигуратора и създайте нов отчет през главното меню:

Тип документ - "Външен отчет":

Във формата на нов отчет посочете името "Lesson6" и щракнете върху бутона "Отворена схема за съставяне на данни":

Оставете името на схемата по подразбиране:

Добавяне на първия набор от данни

В схемата, която се отваря, отидете в раздела "Набори от данни" и изберете "Добавяне на набор от данни - заявка" чрез зеления знак плюс:

Ние наричаме конструктора на заявката:

Посочете таблицата "Клиенти" и полетата, които искате да получите от заявката:

Добавяне на втори набор от данни

Добавяне на втори набор от данни:

Изберете го (DataSet2) и извикайте отново конструктора на заявката:

Посочете таблицата на справочника "Храна" и полетата, които искате да получите от заявката:

Това е текстът на искането:

Моля, обърнете внимание, че сега имаме два набора от данни в отчета: DataSet1 и DataSet2. Всеки има собствен текст и данни на заявката.

Направете имената по-описателни

За по-голяма яснота нека преименуваме Dataset1 на Clients и Dataset2 на Food.

Направете това, като кликнете два пъти върху всеки от комплектите:

Можем да използваме данните за всеки от наборите в нашия отчет. Ще имаме достъп до тези данни чрез полета.

В момента наборът "Клиенти" има следните полета: "Име" и "Любим цвят", а наборът "Храна": "Име" и "Цвят".

Виждаме, че имената се пресичат и лесно можем да се объркаме. Така че нека променим имената на полетата, за да бъдат по-описателни.

Изберете набора „Клиенти“ и променете имената на полетата по следния начин:

След това изберете набора „Храна“ и променете имената на полетата по следния начин:

Извикване на конструктора на настройките

Накрая отидете в раздела „Настройки“ и натиснете вълшебната пръчка, за да изведете конструктора на настройки:

Тип отчет - "Списък...":

Изберете полета за отчета от двата набора:

Вижте защо беше толкова важно да промените имената на полетата? На етапа на настройките за съставяне на данни не виждаме от кои набори са тези полета. Виждаме само имената им.

Проверка на отчета

Ние запазваме отчета и го генерираме в потребителски режим:

да Добре, но не наистина. Извършено е така нареченото кръстосано свързване на двата комплекта (трябва да сте запознати с това от съединенията в заявките, които изучавахме в предишните модули). Всеки запис от таблица "Клиенти" има съответен запис от таблица "Храна".

Но от всички тези записи трябва да оставим само тези, за които полето „FavoriteCustomerColor“ е равно на полето „FoodColor“:

Свързване на два набора от данни

За да направите това, нека свържем два набора от данни (Клиенти и Храни) чрез полетата Любим цвят на клиента и Хранителен цвят.

Отидете в раздела „Връзки към набор от данни“ и щракнете върху бутона плюс, за да добавите нова връзка:

Задайте параметрите, както е показано по-долу:

Ще направя обяснение.

Източник и приемник на комуникация.Е, тук всичко е ясно. Посочете първия набор (Клиенти) и втория набор (Храна) от данни. Искам да обърна специално внимание на факта, че комуникацията ще се осъществява на принципа външно ляво съединение(обхванахме го в темата за заявките в предишни модули). Въз основа на това трябва да изберете кой комплект ще бъде източник и кой приемник.

източник израз.Посочете тук израз или просто поле от изходния набор от данни (тук сме указали полето Любим цвят на клиента от набора Клиенти).

приемник израз.Тук посочваме израз или просто поле от набора от данни на приемника (тук посочихме полето за цвят на храната от набора за храна).

По този начин тази връзкаще остави от предишния списък само онези редове, за които полето FavoriteColor на клиента е равно на полето FoodColor.

Запазете отчета и го стартирайте в потребителски режим:

Страхотен!

Ще направя обяснение за полето " Комуникационно състояние“, за които начинаещите програмисти толкова често бият копията си.

Условието за връзка е спомагателно поле. Можете да пишете изрази там. включващи полета само от набора от данни, посочен в източника на връзката.

В този случай за всички редове от източника на връзката този израз (условие на връзката) ще бъде проверен преди свързването. И ако този израз е TRUE, тогава ще бъде направен опит за свързване на този низ към низове от приемника на връзката. Ако изразът е FALSE, няма да се правят такива опити.

В конструктора на заявки, когато се извика от формуляра за настройка на източника на данни, за схемата за съставяне на данни. Има раздел „характеристики“, чието използване не е ясно описано в документацията. В тази статия ще се опитам да обясня как и защо характеристиките се използват в ACS.

В конструктора на заявки, когато се извика от формуляра за настройка на източника на данни, за схемата за съставяне на данни. Има раздел „характеристики“, чието използване не е ясно описано в документацията. В тази статия ще се опитам да обясня как и защо характеристиките се използват в ACS. В типичните конфигурации се използва активно механизмът на свойствата и стойностите на свойствата, който е достъпен за почти всеки обект. Първоначално в справочниците този механизъм е реализиран в конфигурации 7.7. Сега този механизъм се прилага с помощта на план от типове характеристики и регистър на информацията, но идеята остава същата. Когато за първи път срещнах необходимостта да използвам този механизъм в схемата ACS, страдах много дълго време, организирах вложени заявки, прикрепени към основната селекция и се озадачих как да взема предвид възможността за нови типове свойства, които не съществуват към момента на разработване на доклада. Целият механизъм на свойствата, тъй като е прост и логичен от гледна точка на потребителя, не се поддаваше на нормална обработка, докато не разбрах раздела „Характеристики“. Таблицата в раздела е много капризна, или въвеждате целия ред правилно, или изобщо отказвате да въведете реда, системата няма да ви позволи да оставите „за по-късно“ ред, който не е напълно попълнен. И така, нека да преминем към конкретиката. Първа колона: Тип - тук избираме типа обект, към който ще бъдат обвързани характеристиките, например „DirectoryReference.Nomenclature“ Това означава, че сега ще бъде възможно да получите стойности на свойствата за всички обекти от посочения тип. След това в следващата колона Източник на изгледи трябва да зададем параметрите на източника на типове свойства. Възможни са опции за таблица и заявка, защо имам нужда от опцията за заявка, която ще кажа по-късно, сега ще изберем елемента от таблицата. В колоната Видове характеристики трябва да изберем таблица информационна база, който съхранява желани гледкихарактеристики, в нашия пример ще бъде "План на изгледи на характеристики. Свойства на обекти". Освен това стойностите, които са ни достъпни за избор в колоните Ключово поле, Поле за име и Поле за тип стойност, директно зависят от полетата на таблицата, която сме избрали. В полето Key избираме Link, в полето Name - View (потребителят ще го види като име на атрибут), а в полето Type съответно ValueType. Сега да преминем към източника на ценности. Източникът на стойности ще бъде информационният регистър „Стойности на ObjectsProperties“, затова избираме в колоната Източник на стойности - таблицата, а в колоната Стойности на характеристиките - „Регистър на информацията. Стойности на свойствата на обектите”. В колоните Обект, Свойство, Стойност изберете съответните полета на регистъра Обект, Свойство, Стойност. Изглежда, че това е всичко. Влизаме в настройките на схемата, добавяме групиране по продукти и добавяме групиране, подчинено на него, например по марки, имаме такова свойство. Разширяваме списъка с атрибути на групирането на номенклатурата и ... не виждаме никакви свойства там: Факт е, че сме в конфигуратора, откъдето няма достъп до данни. Как да направите желаната настройка? Най-удобният начин да направите това е да използвате конзолата за съставяне на данни, тази на ITS диска или тази, която е включена в подсистемата „Инструменти за разработчици“. Но можете също така просто да отворите настройката на отчета в корпоративния режим. И така, нека отворим същата настройка, но в корпоративния режим: Както можете да видите, добавихме нови „Детайли“, докато...