Примери за програмиране с маса от ценности в системата 1С Предприятие 8, всичко за начинаещи и

Примери за програмиране с маса от ценности в системата 1С Предприятие 8, всичко за начинаещи и

Добър ден, скъпи читатели! На този сайт примери за работа с таблицата със стойностите са описани. Така например, е писано как да се присъединят двете плочи на ценности. Днес аз ще споделя още няколко примера за таблицата за програмиране на ценности в 1С: Enterprise 8.


Примери за програмиране с маса от ценности в системата 1С Предприятие 8, всичко за начинаещи и

Избор на стойностите за типовете в таблицата стойност

// Създаване желания колоната.
TablitsaZnacheny. Колона. Добави ( "NomerStroki");
TablitsaZnacheny. Колона. Добави ( "subkonto");

// линия номер 1.
Нов ред = TablitsaZnacheny. Добави ();
Нов ред. NomerStroki = "1";
Нов ред. Subkonto = директории. Номенклатура. NaytiPoKodu ( "1");

// линия номер 2.
Нов ред = TablitsaZnacheny. Добави ();
Нов ред [ "NomerStroki"] = 2;
Нов ред [ "subkonto"] = Позоваването. OsnovnyeSredstva. NaytiPoKodu ( "1");

// линия номер 3.
Нов ред = TablitsaZnacheny. Добави ();
Нов ред [ "NomerStroki"] = 3;
Нов ред [ "subkonto"] = Позоваването. OsnovnyeSredstva. NaytiPoKodu ( "2");

// След създаване на стойност в таблицата за избор на масива
TablitsaOS = TablitsaZnacheny. Copy (MassivStrok "NomerStroki, subkonto.");

// показване на резултатите в офис кутия съобщение
За всеки цикъл StrokaTZ НА TablitsaOS
Доклад ( "NomerStroki -" + + StrokaTZ NomerStroki.
"; Subkonto - "+ StrokaTZ. Subkonto);

Резултатът е ред на таблица на стойностите с тип стойност "OsnovnyeSredstva" "subkonto" колона:

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

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

// Начало на кода ...

Ако SpisokNomenklatury. NaytiPoZnacheniyu (String. Номенклатура) =
След неопределено
// Ако няма такава номенклатура добавите списък с ценности и
// продължи да работи по ...
SpisokNomenklatury. Добави (String номенклатура.);
в противен случай
// Ако не се намери такъв обхват, след това отиваме в началото на цикъла
продължи;
ENDIF;

// Продължаване на всеки код ...

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

Най-лесният вариант да го направят - да се използват за строеж "Опитвайки изключение", например, за да се опита да получи стойността в ред в тази графа, а ако възникне изключение, това означава, че високоговорителите не са. Можете да напишете следната функция:

Въпреки това, използването на дизайн "Опитвайки Изключение" не е добър тон в програмирането 1C
(Това води до трудности при отстраняване на грешки и разпадането на сделката). Затова предлагам друг начин:

В нашия пример, "StrokaTZ" променлива е обект от тип "StrokaTablitsyZnacheny", който е метод на "Ръководство ()". Собственик низ е "TablitsaZnacheny", която има "Колона" имот от типа "KollektsiyaKolonokTablitsyZnacheny". По този начин ние се обект от тип "KollektsiyaKolonokTablitsyZnacheny", който съдържа метод "Намери ()". С този метод, можем да намерим стойностите на колоната от името на таблицата. Ако посочената колона е, той се връща колона от тип "KolonkaTablitsyZnacheny", но ако няма, тя се връща в "Неопределен". Ето защо, в нашия случай, ще се появи следното съобщение:

Търси в таблицата със стойностите в две или повече области

Помислете за най-добрият начин - чрез предмети 1C вграден език система: Enterprise:

// Не забравяйте да посочите вида на колона,
// за да се избегне грешка "тип не може да бъде избран в заявката"
// когато заявката за таблица на стойностите
New KvalifikatoryStroki COP = (100);
CN = New KvalifikatoryChisla (3);
OpisanieTipovS = New OpisanieTipov ( "низ" на Конференцията на страните.);
OpisanieTipovCh = New OpisanieTipov ( "номер" CN.);
// Създаване желания колоната.
TablitsaZnacheny. Колона. Добави ( "Фамилия" OpisanieTipovS.);
TablitsaZnacheny. Колона. Добави ( "Възраст" OpisanieTipovCh.);

// брой на служителите 1.
Нов ред = TablitsaZnacheny. Добави ();
Нов ред. Фамилия = "Смит";
Нов ред. Възраст = 27;

// брой на служителите 2.
Нов ред = TablitsaZnacheny. Добави ();
Нов ред [ 'Име'] = "Сидоров";
Нов ред [ "Възраст"] = 64;

// за да търсите обекти в цялата таблица
Избор = нова структура;
Избор. Paste ( "Фамилия", "Иванов.");
Избор. Paste ( "Възраст". 27);
String = TablitsaZnacheny. FindRows (подбор);
// Връща масив
Ако низа. Брой ()> 0 След
Доклад ( "*** Първият начин - чрез предмети вградени език ***");
Доклад ( "Фамилия:" + струни [0] + Фамилия "Възраст:" + струни [0] Възраст ..);
ENDIF;

В резултат на това в първия метод, чрез предмети вградени език, получаваме:

Нека разгледаме втория начин - чрез 1C заявки: Enterprise. Тук използваме таблица на ценности, които са създали по-рано, в първия метод:

Заявка. UstanovitParametr ( "TablitsaZnacheny" TablitsaZnacheny.);
Заявка. UstanovitParametr ( "Фамилия", "Сидоров.");
Заявка. UstanovitParametr ( "Възраст". 64);

Резултат = Заявка. Run (). Оставете ();
// Връща таблицата стойност
Ако резултатът. Брой ()> 0 След
Доклад ( "*** Вторият начин - чрез заявки ***");
Доклад ( "Name:". + Рейтинг [0] + Наименование
"Възраст:" + доведе [0]. Възраст);
ENDIF;

В резултат на това вторият метод, чрез заявки се получи

И двата метода ще ни помогнат да намерите редове в таблица две полета стойност.
Но както може би се досещате, можете да добавите търсенето на три, четири или повече полета.

Защо грешка "тип не може да бъде избран в заявката" при изпълнение на заявка за таблица на ценностите?

Ако не се посочват видът на стойностите на колони кога е създаден, както е описано в търсенето на субтитрите в таблицата от ценности в две или повече области. и пише:

Тогава грешката ще се появи, когато изпълните заявката:

Ето защо, за да се избегне тази грешка трябва да бъде написано, както следва:

Как да получите стойностите на номера на реда в таблицата?

Необходимо е да се използва "Индекс" Методът маса стойност (IndexOf), който получава индекса на ред в линии за събиране на таблицата със стойностите на:

Как да премахнете линия от TablitsyZnacheny в 1S8?

Да предположим, че искате да изтриете всички редове от таблицата от ценности, които съдържат буквата "G" във втората колона.

Подобна процедура за правилното отстраняване на реда от текстовия файл е описано тук.

Този блог се чете от повече от 3000 души
- Прочетох и ВАС!

Споделяне на този пост
Също така, може би искате

Примери за програмиране с маса от ценности в системата 1С Предприятие 8, всичко за начинаещи и
Примери 1С програмиране 8

Примери за програмиране с маса от ценности в системата 1С Предприятие 8, всичко за начинаещи и
Пример софтуерни трансфер направляващите елементи на една група в друга в 1С система: Enterprise 7.7

Примери за програмиране с маса от ценности в системата 1С Предприятие 8, всичко за начинаещи и
Пример асоциация искане на доклада на разпоредби в 1С система: Предприятие 8

Примери за програмиране с маса от ценности в системата 1С Предприятие 8, всичко за начинаещи и
Изпращане на поща от 1C 8

Примери за програмиране с маса от ценности в системата 1С Предприятие 8, всичко за начинаещи и
Пример на функциите ACS масив (Array) и SoedinitStroki (JoinStrings) в доклада 1С 8

Примери за програмиране с маса от ценности в системата 1С Предприятие 8, всичко за начинаещи и
Примери 1С програмиране 7.7

Примери за програмиране с маса от ценности в системата 1С Предприятие 8, всичко за начинаещи и
Пример 1С запазване настройки маса обработка поле

Примери за програмиране с маса от ценности в системата 1С Предприятие 8, всичко за начинаещи и
Примери за работа с полеви маса в 1C 8