1C Как да получите текущия низ от табличната част. Как да получите текущата линия на табличната част

Части за маса съществуват в много обекти в 1C:

  • Директории
  • Документация
  • Доклади и преработка
  • Планове за сметка
  • Характеристики на характеристиките
  • Планове за изчисляване на видовете
  • Бизнес процеси и задачи

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

Помислете за някои работни техники с таблични части.

Как да заобиколим таблицата

Можете да използвате цикъл, за да се изкачите в таблична част. За всеки

За всеки ред от цикъла на стойността на веригата

Доклад (ред. Необходимост);

Endcycle;

На всяка итерация в променливата Линияследващата линия на таблична част се пропуска. Стойностите на стойностите на реда могат да бъдат получени чрез изразяване Низ. Заетост.

Как да получите и заобикаляте избрани линии на таблична част

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

За да получите списък с избрани редове, се използва следният код:

За да се заобикалят разпределените цикъла на структурите За всеки:

Разпределени тестове \u003d елементни форми. Nametablichnogopol. Разпределени;

За всеки ред от маркиран цикъл

// Съдържателен цикъл

Endcycle;

Как да програмирате редиците на табличната част (таблично поле) и да извадите избора

За да премахнете програмата за осветяване на полето на таблицата:

Елементите. Nametablichnogopol. Отделен. Ясно ();

За да програмирате всички редове на полето за маса:

За всеки ток извън цикъла на веригата
Елементите. Nametablichnogopol. Разпределени. Добавяне (ток);
Endcycle;

Как да почистите таблицата

Тебешир. Ясно ();

Как да получите текущата линия на табличната част

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

За конвенционалните форми кодът ще изглежда така:

Елементите. Nametablichnogopol. Течност;

За управлявани форми:

Елементи. Nametablichnogopol. Течност;

Как да добавите нов низ към таблицата част

Добавяне на нов низ до края на таблицата:

NewStock \u003d предизвикателство. Добавяне ();

Добавяне на нова линия към всяко място на таблична част (следващите линии ще бъдат изместени):

NewStock \u003d предизвикателство. Вмъкване (индекс)
// Индекс - броят на добавения ред. Номерирането на реда започва от нулата.

Нова линия. Requisite1 \u003d "стойност";

Как да програмирате подробностите за детайлите на таблицата

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

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

  • Елемент - съдържа контроли Таблица.
  • Нова линия- Boolevo. Съдържа стойност ВярноАко се добави нова линия на таблична част, и Фалшив,ако потребителят започна да редактира съществуващ низ.
  • копие - Boolevo. Съдържа стойност ВярноАко потребителят копира низ и Фалшив в други случаи.

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

Процедура за обработка на търговията (елемент, нововъзникване, копиране)

// ако потребителят редактира съществуващ низ, не правете нищо
Ако не и НОВО
Връщане;
Приключи;

// Ако низът е нов, задайте сметката на сметката
Текст \u003d елемент. Течност; // получи текущата линия на табличната част
Trektroke. Счетоводство \u003d планове. Хошорти. Необходими;
Екструктор

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

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

Помислете за това на примера:

Формата има напрежение от типа tz (таблици) - в скоби, защото действителният тип е избирателната колекция

Под формата на таблица се показва необходимост.

Дефиниция на стойностите на таблицата на линията в текущия ред на таблицата

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

Идентификатори \u003d елементи .tz.tecchatsky; // получаваме идентификатора в таблицата на диралото \u003d tz.natipoider (идентифицираме);

Настройка на текущата линия в таблицата

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

Стронций \u003d политически квалификация; // Например, вземете линията 1 идентификатори \u003d стронций. Peresalifentifier (); Елементи .tz.tecchativka \u003d идентифицира;

За по-удобно разбиране може да изтеглите

Как да зададете низ в 8.2 (управлявани формуляри) .

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

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

1. Намерете низ, от който се нуждаете в обекта на данни, който показва полето за таблици
Подчертавам, че той е предмет на обекта на данните. Например, ние имаме документ за прилагане на услугата, която има таблица "стоки" и ние решихме да направим текущата втора линия под формата на документа. След това под формата на модула на документа ще напишем:


// Индексът на втория ред е равен на един
Както и \u003d стоки;

Или знаем, че във втория ред в диапазона на номенклатурата в елемента, кодът е "001", след което използваме дизайна:


// първо да намерите елемента на номенклатурата на директорията по код
// и след това го потърси в таблицата "Стоки"
Офертата \u003d стоките. Инициирайте (референтни книги. Namerenclature. Inticsper ("001"));

2. Задайте стойността на текущия ред, намерен низ
Сега трябва да зададем стойността на променливата на желаната дестинация на текущото поле на тока:


// ако полето на масата също има и стоките
Елементи. Данъци. Затягане \u003d необходимо;

// Ако полето за таблица се нарича таблица.

В резултат на това редовете на кода могат да изглеждат така:

Офертата \u003d стоките. Инициирайте (референтни книги. Namerenclature. Inticsper ("001"));
Elementalforms .texturpole1.teccurity \u003d желания;

Дял