Да вляза
Всички компютърни тайни за начинаещи и професионалисти
  • Java игри от поредицата Prince Of Persia за мобилни телефони Изтеглете играта Prince of Persia 5 на вашия телефон
  • Изтеглете екшъна Batman: Възходът на Android за Android Phone Games Batman
  • Автомобилен усилвател - икономични опции за създаване на звук в кабината Как да сглобите верига за усилвател на звука
  • Висококачествен усилвател без обратна връзка: Двустепенният транзисторен усилвател в края на хилядолетието
  • Потоци World Of Tanks Aces gg l първи танк
  • Най-добрите средни танкове в World of Tanks
  • Как да задам селекция във формата за списък с директории? Как да отворя списък със списък с някакъв избор? Отваряне на списък със селекция 1s 8.2

    Как да задам селекция във формата за списък с директории?  Как да отворя списък със списък с някакъв избор?  Отваряне на списък със селекция 1s 8.2

    Код 1C v 8.x DirectoryList.Selection.Reset();
    DirectoryList.Selection.status.ComparisonType=ComparisonType.Contains;
    DirectoryList.Selection.Status.Value="Прието";
    DirectoryList.Selection.Status.Set();

    За 1C 8.2:
    Има няколко начина за отваряне на формуляр със списък с предварително зададен избор. Нека ги разгледаме по ред:

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

    При отваряне на формуляра изборът ще бъде направен въз основа на посоченото поле.
    Код 1C v 8.2 UP // Например, в следващия пример се отваря списък с фактури с селекция от полето Номер, равно на 333.
    Стойност за избор = Нова структура ("Номер", "333");
    SelectionParameters = Нова структура ("Selection", SelectionValue);

    OpenForm("Документ. Разписка. Фактура. Формуляр за списък", Опции за избор);

    // Например, следният пример отваря списък с фактури
    // с избор от полето Изпълнител, равно на „OJSC Horns and Hooves“.
    Стойност на избора = Нова структура („Контрагент“, „OJSC Рога и Копита“);
    SelectionParameters = Нова структура ("Selection", SelectionValue);
    OpenForm("Документ. Разписка. Фактура. Формуляр за списък", Опции за избор);

    2. Можете да отворите списък без параметри:
    Код 1C v 8.2 UE OpenForm("Документ. Разписка. Фактура. Формуляр за списък");

    И след това в манипулатора на събития на формуляра за списъка с фактури When CreatedOnServer напишете код, който създава селекция в динамичния списък, който е основният атрибут на формуляра:
    Код 1C v 8.2 UP & OnServer

    Елемент за избор = List.Selection.Elements.Add(Type("DataComposition Selection Element"));
    SelectionElement.LeftValue = NewDataCompositionField("Число");


    SelectionElement.DisplayMode = ElementDisplayModeDataCompositionSettings.Inaccessible;
    SelectionElement.RightValue = "000000001";
    Край на процедурата

    &На сървъра
    Процедура при създаване на сървър (неуспех, стандартна обработка)
    Елемент за избор = List.Selection.Elements.Add(Type
    („Елемент за избор на композиция на данни“));
    SelectionElement.LeftValue = NewDataCompositionField("DocumentAmount");
    SelectionElement.ComparisonView = DataCompositionComparisonView.More;
    SelectionElement.Use = True;
    SelectionElement.RightValue = 150000;
    Край на процедурата

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

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

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

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

    Нека попълним манипулатора за изпълнение на тази команда, както следва:
    Код 1C v 8.2 UP & OnClient
    Процедура ReceiptsInvoices (команда)

    ListForm = GetForm("Document.Invoice.ListForm");
    ListForm.FilterByProduct = Items.List.CurrentRow;
    ListForm.Open();

    Край на процедурата

    В този манипулатор получаваме формуляра за списъка с фактури и предаваме връзката към текущия артикул в списъка с артикули към параметъра на формуляра FilterByProduct и отваряме формуляра с този параметър.

    След това ще създадем формуляр за списъка с документи: Разписка Фактура и ще създадем атрибут на формуляра FilterBy Product, който ще използваме като параметър на формуляра при отварянето му. Сега нека отворим палитрата със свойства на основния атрибут на формата List. Задайте флага ArbitraryRequestи щракнете върху реда за настройки на списъка Отворете.

    В полето Заявка въведете следния текст на заявката:
    Код 1C v 8.2 UP SELECT
    Номер на разписка за фактура,
    Фактура за получаване на документа.Дата
    ОТ
    Document.ReceiptInvoice КАТО DocumentReceiptInvoice
    КЪДЕТО
    Разписка за документ Invoice.Products.Product = &Продукт

    В заявката използваме параметъра Item, който ще получи връзка към текущия ред в списъка с артикули, съдържащ се в параметъра FilterBy Item invoice list form. За да направите това, в манипулатора на събитието на формуляра за списък OnOpen ще напишем код, за да зададем стойността на параметъра за заявка за продукт:
    Код 1C v 8.2 UP
    &На клиент
    Процедура на отваряне (неуспех)

    List.Parameters.SetParameterValue("Product", FilterByProduct);

    Край на процедурата

    Тук Списък.Опциие списък с параметри на искане за динамичен списък за атрибута List. Стойността на параметъра Product е зададена равна на стойността на параметъра на формуляра FilterByProduct.

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

    Код 1C v 8.x DirectoryList.Selection.Reset();
    DirectoryList.Selection.status.ComparisonType=ComparisonType.Contains;
    DirectoryList.Selection.Status.Value="Прието";
    DirectoryList.Selection.Status.Set();

    За 1C 8.2:
    Има няколко начина за отваряне на формуляр със списък с предварително зададен избор. Нека ги разгледаме по ред:

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

    При отваряне на формуляра изборът ще бъде направен въз основа на посоченото поле.
    Код 1C v 8.2 UP // Например, в следващия пример се отваря списък с фактури с селекция от полето Номер, равно на 333.
    Стойност за избор = Нова структура ("Номер", "333");
    SelectionParameters = Нова структура ("Selection", SelectionValue);

    OpenForm("Документ. Разписка. Фактура. Формуляр за списък", Опции за избор);

    // Например, следният пример отваря списък с фактури
    // с избор от полето Изпълнител, равно на „OJSC Horns and Hooves“.
    Стойност на избора = Нова структура („Контрагент“, „OJSC Рога и Копита“);
    SelectionParameters = Нова структура ("Selection", SelectionValue);
    OpenForm("Документ. Разписка. Фактура. Формуляр за списък", Опции за избор);

    2. Можете да отворите списък без параметри:
    Код 1C v 8.2 UE OpenForm("Документ. Разписка. Фактура. Формуляр за списък");

    И след това в манипулатора на събития на формуляра за списъка с фактури When CreatedOnServer напишете код, който създава селекция в динамичния списък, който е основният атрибут на формуляра:
    Код 1C v 8.2 UP & OnServer

    Елемент за избор = List.Selection.Elements.Add(Type("DataComposition Selection Element"));
    SelectionElement.LeftValue = NewDataCompositionField("Число");

    SelectionElement.DisplayMode = ElementDisplayModeDataCompositionSettings.Inaccessible;
    SelectionElement.RightValue = "000000001";
    Край на процедурата

    &На сървъра
    Процедура при създаване на сървър (неуспех, стандартна обработка)
    Елемент за избор = List.Selection.Elements.Add(Type
    („Елемент за избор на композиция на данни“));
    SelectionElement.LeftValue = NewDataCompositionField("DocumentAmount");
    SelectionElement.ComparisonView = DataCompositionComparisonView.More;
    SelectionElement.Use = True;
    SelectionElement.RightValue = 150000;
    Край на процедурата

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

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

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

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

    Нека попълним манипулатора за изпълнение на тази команда, както следва:
    Код 1C v 8.2 UP & OnClient
    Процедура ReceiptsInvoices (команда)

    ListForm = GetForm("Document.Invoice.ListForm");
    ListForm.FilterByProduct = Items.List.CurrentRow;
    ListForm.Open();

    Край на процедурата

    В този манипулатор получаваме формуляра за списъка с фактури и предаваме връзката към текущия артикул в списъка с артикули към параметъра на формуляра FilterByProduct и отваряме формуляра с този параметър.

    След това ще създадем формуляр за списъка с документи: Разписка Фактура и ще създадем атрибут на формуляра FilterBy Product, който ще използваме като параметър на формуляра при отварянето му. Сега нека отворим палитрата със свойства на основния атрибут на формата List. Задайте флага ArbitraryRequestи щракнете върху реда за настройки на списъка Отворете.

    В полето Заявка въведете следния текст на заявката:
    Код 1C v 8.2 UP SELECT
    Номер на разписка за фактура,
    Фактура за получаване на документа.Дата
    ОТ
    Document.ReceiptInvoice КАТО DocumentReceiptInvoice
    КЪДЕТО
    Разписка за документ Invoice.Products.Product = &Продукт

    В заявката използваме параметъра Item, който ще получи връзка към текущия ред в списъка с артикули, съдържащ се в параметъра FilterBy Item invoice list form. За да направите това, в манипулатора на събитието на формуляра за списък OnOpen ще напишем код, за да зададем стойността на параметъра за заявка за продукт:
    Код 1C v 8.2 UP
    &На клиент
    Процедура на отваряне (неуспех)

    List.Parameters.SetParameterValue("Product", FilterByProduct);

    Край на процедурата

    Тук Списък.Опциие списък с параметри на искане за динамичен списък за атрибута List. Стойността на параметъра Product е зададена равна на стойността на параметъра на формуляра FilterByProduct.

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

    Информация взета от сайта

    Този код ви позволява да отворите списък с документи с определен избор;

    Код 1C v 8.2 UP Form = OpenForm("Документ. Фактура.Форма.СписъкФорма"); //Отворете формата
    SelectionOwner =Form.List.Selection.Elements.Add(Type("DataCompositionSelectionElement")); //Добавяне на селекция
    SelectionOwner.ComparisonView = DataCompositionComparisonView.Equals; //Как ще сравним
    SelectOwner.Use = True; // Поставете отметка в квадратчето за използване на NewDataCompositionField("Номенклатура")
    SelectionOwner.LeftValue = NewDataCompositionField("Акаунт"); //Какви подробности ще използваме, за да направим избора?
    SelectionOwner.RightValue = Object.Account; // И самото значение на селекцията

    За да отворете списък със списък с предварително зададен изборизползвайте следните методи:

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

    Параметърът за избор представлява структурата. Имената на елементите съответстват на имената на полетата, чрез които се прави изборът, а стойностите съдържат стойностите за избор. Това е опция за разширение на формуляр, управляван от динамичен списък. Тоест съществува за формуляри, чийто основен атрибут е атрибут от типа DynamicList, например за списъчни форми и форми за избор.

    Например в следващия пример се отваря списък с фактури с избор от полето Номер, равен на 333.

    Код 1C v 8.2 Стойност за избор на UE = Нова структура ("Номер", "333");
    SelectionParameters = Нова структура ("Selection", SelectionValue);
    OpenForm("Документ. Разписка. Фактура. Формуляр за списък", Опции за избор);

    Втори начин

    Можете да отворите списък без параметри:

    Код 1C v 8.2 UE OpenForm("Документ. Разписка. Фактура. Формуляр за списък");

    И след това в манипулатора на събития на формуляра за списъка с фактури When CreatedOnServer напишете код, който създава селекция в динамичния списък, който е основният атрибут на формуляра:

    Код 1C v 8.2 UP & OnServer
    Процедура при създаване на сървър (неуспех, стандартна обработка)
    Елемент за избор = List.Selection.Elements.Add(Type("DataComposition Selection Element"));
    SelectionElement.LeftValue = NewDataCompositionField("Число");
    SelectionElement.ComparisonView = DataCompositionComparisonView.More;
    SelectionElement.Use = True;
    SelectionElement.DisplayMode = ElementDisplayModeDataCompositionSettings.Inaccessible;
    SelectionElement.RightValue = "000000001";
    Край на процедурата

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

    Но този метод има и много съществен недостатък: с този избор формулярът винаги ще се отваря. Откъдето и да я повикат. Следователно тази форма не трябва да се определя като основна. И ако все пак е основният, тогава преди да инсталирате селекцията е необходимо да предоставите някакъв вид анализ откъде се отваря тази форма. Например, анализиране на параметрите на формуляра.

    Трети начин

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

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

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

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

    Код 1C v 8.2 UP & OnClient
    Процедура ReceiptsInvoices (команда)
    SelectionParameters = Нова структура ("FilterByProduct", Elements.List.CurrentRow);
    OpenForm("Документ. Разписка. Фактура. Формуляр за списък", Опции за избор);
    Край на процедурата

    В този манипулатор отваряме формуляра за списъка с фактури, като предаваме връзка към текущия артикул в списъка с артикули към параметъра на формуляра FilterByProduct.

    След това ще създадем формуляр за списъка с документи: Приходна фактура и ще създадем параметър на формуляра FilterBy Product, който ще използваме, за да отворим формуляр с необходимия избор.

    Сега нека отворим палитрата със свойства на основния атрибут на формата List. Задайте флага Custom Query и в реда Настройки на списъка щракнете върху Отваряне.

    В полето Заявка въведете следния текст на заявката:

    Код 1C v 8.2 UP SELECT
    Номер на разписка за фактура,
    Фактура за получаване на документа.Дата
    ОТ
    Document.ReceiptInvoice КАТО DocumentReceiptInvoice
    КЪДЕТО
    Разписка за документ Invoice.Products.Product = &Продукт

    В заявката използваме параметъра Item, който ще получи връзка към текущия ред в списъка с артикули, съдържащ се в параметъра FilterBy Item invoice list form.

    За да направите това, в манипулатора на събития на формуляра за списък Когато CreatedOnServer ще напишем код, за да зададем стойността на параметъра на заявката за продукт:

    Код 1C v 8.2 UP & OnClient
    Процедура на отваряне (неуспех)
    List.Parameters.SetParameterValue("Product", Parameters.FilterByProduct);
    Край на процедурата

    Тук List.Parameters е списък с параметри на заявка за динамичен списък за атрибута List. Стойността на параметъра Product е зададена равна на стойността на параметъра на формуляра FilterByProduct.

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

    За да отворете формата за избор с избор в 1s 8.2(редовни форми), трябва да извършим някои действия. Ще го вземем първи. След това ще зададем селекцията и ще я отворим програмно, ето пример за код:

    Избор във формуляра в полето за въвеждане 1C 8.2 с няколко стойности

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

    Първо получаваме формуляра за избор, предаваме „Element“ (собственик) в параметрите, задаваме флага за режим на избор. След това създаваме списък със стойности и масив, отбелязваме, че като селекция, когато задаваме типа сравнение в списъка, обектът може да присъства само с типа ListValues. Добавяме елементи към масива, след което зареждаме този масив в списъка със стойности, който впоследствие задаваме в селекцията. Също така не забравяйте да активирате флага за използване на тази селекция и да зададете Тип сравнение.

    Задаване на избор в полето за въвеждане на формуляра в 1C 8.3, събитие Начало на избора

    Сега нека помислим избор в полето за въвеждане на управлявана форма в 1C 8.3. Нека намерим във формуляра елемента, който ни интересува, в който ще зададем селекцията, в нашия случай това е полето „Организация“. Намираме събитието „Начало на избора“, кликваме върху лупата и се озоваваме в процедурата. Виждаме параметъра Selection Data; този параметър е от тип ValueList. За да ограничим избора до необходимите елементи, трябва да попълним Списък със стойности. Можем да избираме елементи само на сървъра, така че създаваме процедура с директивата за компилиране &OnServer. При тази процедура попълнете данните за избор.

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

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

    При отваряне на формуляра изборът ще бъде направен въз основа на посоченото поле. Например в следващия пример се отваря списък с фактури с избор от полето Контрагент, равно на „OJSC Horns and Hooves“.

    Стойност на избора = Нова структура („Контрагент“ , "АД Рога и Копита");
    Опции за избор= Нова структура ("Selection", SelectionValue);
    OpenForm („Документ. Разписка. Фактура. Формуляр за списък“, Опции за избор);

    2. Можете да отворите списък без параметри:

    OpenForm („Документ. Разписка. Фактура. Формуляр за списък“);

    И след това в манипулатора на събития на формуляра за списък с фактури Когато е създаден на сървъра напишете код, който създава селекция в динамичен списък, който е основният атрибут на формата:

    &На сървъра
    Процедура Когато е създаден на сървъра(Отказ, Стандартна обработка)
    Елемент за избор = списък. Избор. Елементи. Добавяне (тип
    („Елемент за избор на композиция на данни“));
    Елемент за избор .LeftValue = Нов Поле за оформление на данни("Сума на документа");
    Елемент за избор. Сравнителен изглед = Comparison ViewData Layout. Повече ▼ ;
    Елемент за избор. използване = вярно;
    Елемент за избор. RightValue = 150000;
    Край на процедурата

    Предимствата на този метод са, че ViewComparisonизборът може да бъде зададен не само Равно на, както в първия случай, и | Повече ▼, По-малкои така нататък.

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

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

    За да направите това, под формата на списък с елементи създайте команда и съответния бутон Фактури за консумативи

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

    &На клиент
    Процедура Фактури за консумативи(Отбор)
    ListForm = GetForm("Document.Invoice.ListForm");
    ListForm. FilterByProduct = Артикули. списък . CurrentRow;
    ListForm. Отваряне();
    Край на процедурата

    В този манипулатор получаваме формата на списъка с фактури и го предаваме на параметъра на формуляра Филтриране по продуктвръзка към текущия елемент в списъка с елементи и отваряне на формуляра с този параметър.
    След това ще създадем формуляр за списък с документи Фактураи създайте атрибутите на формуляра Филтриране по продукт, който ще използваме като параметър на формуляра при отварянето му. Сега нека отворим палитрата със свойства на основните атрибути на формуляра списък. Да поставим знамето CustomRequestи в
    линия Настройка на списъкада натиснем Отворете.

    В полето ЗаявкаНека въведем следния текст на заявката:

    ИЗБИРАМ

    Номер на разписка за фактура,
    Фактура за получаване на документа.Дата
    ОТ
    Document.ReceiptInvoice КАТО DocumentReceiptInvoice
    КЪДЕТО
    Разписка за документ Invoice.Products.Product = &Продукт

    В заявката използваме параметъра Продукт, към който ще бъде изпратена връзка към текущия ред в списъка с артикули, съдържащ се в атрибута на формуляра за списък с фактури Филтриране по продукт. За да направите това, в манипулатора на събитието на формуляра за списък При отварянеНека напишем кода, за да зададем стойността на параметъра за заявка за продукт:

    &На клиент
    Процедура на отваряне (неуспех)
    списък . Настроики . SetParameterValue(„Продукт“, FilterByProduct);
    Край на процедурата

    Тук Списък.Опции— това е списък с параметри на искане за динамичен списък за атрибута List. Стойност на параметъра Продуктсе задава равно на стойността на параметъра на формуляра Филтриране по продукт. В резултат на това с едно натискане на бутон Фактурипод формата на списък с артикули ще получим списък само с тези фактури, които съдържат избрания в момента артикул в списъка с артикули.

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