Індексована таблиця 1С 7.7. Клас "постачальник даних". Настроювання індексів штатними засобами платформи

або

Навіщо розробнику 1С «індексувати» виміри регістрів та реквізити?

— Ну, у вас і запити! - сказала база даних і повисла.

Коротка відповідь на запитання заголовка полягає в тому, що це дозволить виконувати запити швидко та зменшувати негативний вплив блокувань на .

Що таке індекс?

Оптимізація розміщення індексів

При обсязі таблиць, що не дозволяє їм «розміститися» в оперативної пам'ятісервера, перше місце виходить швидкість дискової підсистеми (I/O). І тут можна звернути увагу на можливість розміщувати індекси в окремих файлах розташованих на різних жорстких дисках.

Докладний описдій http://technet.microsoft.com/ru-ru/library/ms175905.aspx
Використання індексу з іншої файлової групи підвищує продуктивність некластерних індексів у зв'язку з паралельністю виконання процесів введення/виводу та роботи з самим індексом.
Для визначення розмірів можна використовувати вищезгадану обробку.

Вплив індексів на блокування

Відсутність необхідного індексу для запиту означає перебір всіх записів таблиці, що призводить до надлишкових блокувань, тобто. блокуються зайві записи. Крім того, чим довше виконується запит через відсутні індекси, тим більше час утримання блокувань.
Інша причина блокувань - мала кількість записів у таблицях. У зв'язку з цим SQL ServerПри виборі плану виконання запиту не використовує індекси, а обходить всю таблицю (Table Scan), блокуючи повністю. Щоб уникнути подібних блокувань, необхідно збільшити кількість записів у таблицях до 1500-2000. У цьому випадку сканування таблиці стає дорожчою операцією і SQL Server починає використовувати індекси. Звичайно, це можна зробити не завжди, ряд довідників як «Організації», «Склади», «Підрозділи» тощо. зазвичай мають мало записів. У цих випадках індексування не покращуватиме роботу.

Ефективність індексів

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

  • Запити, які вказують на «вузькі» критерії пошуку.Такі запити повинні зчитувати лише невелику кількість рядків, які відповідають певним критеріям.
  • Запити, що вказують діапазон значень.Ці запити також мають зчитувати невелику кількість рядків.
  • Пошук, який використовується у операціях зв'язування.Колонки, які часто використовуються як ключі зв'язування, чудово підходять для індексів.
  • Пошук, у якому дані зчитуються у порядку.Якщо результуючий набір даних має бути відсортований у порядку кластеризованого індексу, сортування не потрібне, оскільки результуючий набір даних вже заздалегідь відсортований. Наприклад, якщо кластеризований індекс створено за колонками lastname (прізвище), firstname (ім'я), а для програми потрібне сортування на прізвище і потім на ім'я, то тут немає необхідності додавати інструкцію ORDER BY.

Щоправда, при всій корисності індексів, є одне дуже важливе ПЗ – індекс має бути «ефективно використовується» і повинен дозволяти знаходити дані з використанням меншої кількості операцій введення-виведення та обсягу системних ресурсів. І навпаки, індекси, що не використовуються (рідко використовуються), швидше погіршують швидкість запису даних (оскільки кожна операція, що змінює дані, повинна також оновлювати сторінки індексів) і створюють надмірний обсяг бази.

Покривають(для даного запиту), називається індекс, в якому є всі необхідні поля для цього запиту. Наприклад, якщо індекс створений по колонках a, b і c, а оператор SELECT запитує дані лише з цих колонок, потрібно доступ тільки до індексу.

Для того, щоб визначити ефективність індексу, ми можемо приблизно оцінити за допомогою безкоштовного онлайн-сервісу "план виконання запиту", що показує, і використовувані індекси.

Питання: Індексована Таблиця значень


Питання таке, чи можна зробити Таблицю Значень на формі діалогу індексованою і далі працювати з нею як з індексованою таблицею?
Чи краще працювати окремо з ІТЗ, а потім підсумки вивантажувати у видиму на формі Таблицю значень?
І друге питання, як зробити так, щоб при розвантаженні ІТЗ до Таблиці значень, не злітало формат колонок?
ПиСи-компонента 1с++ стоїть, якщо чо.

Відповідь:() після кулдауна натахауза пряника ніде не дістати, якщо це звичайно не просто сабж з анекдоту

Питання: Робота з таблицею значень


Доброго Вам дня, шановні програмісти. Прошу допомоги у вирішенні задачі в 1С, сама, вибачте, в цьому бум-бум
Намагалася зробити сама, але навіть не вистачило розуму скомпілювати приклад

1. У форму діалогу помістіть таблицю значень.
2. У модулі форми опишіть колонки таблиці: Товар, Кількість, Ціна, Сума.
3. Помістіть на форму діалогу реквізити діалогу "Товар", "Ціна", "Кількість" та кнопку Додати рядок, який додає новий рядоктаблицю значень і заповнює її значеннями відповідних реквізитів. Сума має обчислюватися як добуток ціни на кількість.
4. Додайте кнопку Видалити рядок, який видаляє поточний рядок таблиці значень. Передбачте ситуацію порожньої таблиці значень.
5. Додайте кнопку Згорнути, яка повинна сумувати за товарами суму та кількість, у колонці Ціна має обчислюватися середня ціна товару.
6. Додайте кнопку Розгорнути, яка відновлює стан таблиці значень до згортки.
7. Додайте кнопку Сортування для впорядкування рядків товарів.

Заздалегідь дякую!

Відповідь:платформа? Керований чи звичайний режим?
У синт.помі "Таблиця значень"

Питання: 8.2 - Отримати дані з поля таблиці значень, що обчислюється


Не знаю як до ладу пояснити.
На формі є табличне поле. У процедурі ПриОтриманніДаних(Елемент, ОформленняСторок) в окрему
колонку обчислюю значення:

Для кожного ОформленняРядки З ОформленняРядок Цикл.

Так ось як мені пройти рядками в таблиці значень і отримати дані з цього осередку?

Відповідь:

ти плутаєш поняття. Табличне поле і є Табличне поле -ТЗ тут не пахне. так само як і розраховуєш та ж і обходи

Питання: СКД: Ієрархію з таблиці значень


Доброго дня!
Підкажіть як створити ієрархію з таблиці значень типу такої

ПолеРядок | ПолеРядокБатько
________________________________
Основний каталог Основний каталог
Васильєв І.А. | Основний каталог
Оренда майна Васильєв
Різні документи Васильєв
Іванов | Основний каталог
Оренда майна Іванов
Різні документи Іванов

Потрібно якось отримати дерево із цього. Поки що працює програмно, але думаю, що таке дерево можна цілком у СКД побудувати.

Відповідь:Ну програмно ти створюєш об'єкт ДеревоЗначень і тулиш туди ручками власника (вузли) та підлеглі елементи (рядки).

А ці дані лише у вигляді таблиці значень, а чи є елементи ієрархічного довідника? Якщо це ієрархічний довідник, це простіше простого.

А якщо треба саме з таблиці значень, створюючи її як завгодно, то робити так:

Визначаєш у запиті тимчасову таблицю, куди вміщуєш свою ТЗ.
Потім робиш вибірку по ній зі з'єднанням рядка з батьком.

Питання: Винос Таблиці значень у загальний модуль


Добридень!
Новачок в 1С. Вивчаю версію 3.0 Тонкий покупець. Існує зовнішня керована форма. Хочу винести таблицю значень у спільні модулі. Застопорилася, допоможіть будь ласка:
1C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 & НаСервере Процедура Виконати ЗапитНаСервере() З= Новий запит; З. Текст = "ВИБРАТИ | Витратний Касовий Ордер Розшифровка Платежу. Договір Контрагента, | Витратний Касовий Ордер Розшифровка Платежу. Сума Платежу| Документ.Витратний Касовий Ордер.; Тз = З. Виконати (). Вивантажити(); //Виведення результату запиту до таблиці формиТФ(Тз); КінецьПроцедури & НаСервері Процедура ТФ(Тз) ЗагальніФункції. ЗаповнитиТаблицюФорми(Тз) КінецьПроцедури

Загальний модуль:

Помилка:(Форма.Форма.Форма(23)): Помилка під час виклику методу контексту (Заповнити ТаблицюФорми)
ЗагальніФункції.ЗаповнитиТаблицюФорми(Тз)
по причині:
Невідповідність типів (параметр номер "1") (Неправильний тип параметра. Допустимі лише примітивні типи, посилання, Структура)
Як передати ТЗ для подальшої обробки?

Відповідь:

Повідомлення від Prsvet

Чому тип число передає, а при передачі ТЗ потрібно ставити повторне використання значень, що повертаються, не використовувати?

Тому що,

Повідомлення від Prsvet

повторне використання значень, що повертаються

Кешується на клієнті, а таблиця значень не серіалізується на клієнті

Додано через 32 секунди
із цим параметром потрібно працювати акуратно!

Додано через 35 секунд
Prsvetякщо ти не знаєш як працює цей параметр, то краще не використовуй його!

Питання: Таблиця значень із циклічним заповненням колонок


Усім доброго.
Завдання - вивести таблицю приходу/витрати товарів за вибраний період із понеділковою розбивкою. Вирішив реалізувати як ТаблицюЗначень (спочатку думав зробити звітом, але не знайшов, як). Оскільки кількість стовпців наперед невідома, таблиця генерується програмно:

//*** Опис ТЗ як реквізиту форми масивТипуВибору = новий масив; масивТипуВибору.Додати(тип("таблицяЗначень")); описТипуВибору = новий описТипів(масивТипуВибору); масивРеквізитів = новий масив; масивРеквізитів.Додати(новий реквізитФорми("ТЗФорма", описТипуВибору, "", "ТЗформа")); //*** Опис типів КЧ = новий КваліфікаториЧисла (10,2); КС = новий Кваліфікатор Рядки(100); мас = новий масив; мас.Додати(тип("Рядок")); ТипРядок = новий ОписТипів(мас, КС); мас.Очистити(); мас = новий масив; мас.Додати(тип("Число")); Тип Число = новий Опис Типів (мас, КЧ); мас.Очистити(); // *** //Створюємо тимчасову таблицю значень ТЗ = новий ТаблицяЗначень; ТЗ.Колонки.Додати ("товар", ТипРядку, "товар"); для н = 1 по Колво Тижня цикл ТЗ. ТЗ.Колонки.Додати("витрата" + н, ТипЧисло, "витрата" + н); КінецьЦикл; для кожного колонка з тз.Колонки цикл масивРеквізитів.Додати(новий РеквізитФорми(колонка.Ім'я, колонка.ТипЗначення, "ТЗФорма")); КінецьЦикл; змінитиРеквізити(масивРеквізитів); таблицяПолейВибору = Елементи.Додати("ТЗФорма", тип("ТаблицяФорми")); таблицяПолейВибору.ПутьКДанним = "ТЗФорма"; таблицяПолейВибору.Відображення = відображенняТаблиці.Список; для кожного колонка з ТЗ. колонки цикл новий Елемент = елементи. новийЕлемент.Вид = ВидПоляФорми.ПолеВвода; новийЕлемент.ПутьКДанним = "ТЗФорма." + Колонка.Ім'я; новийЕлемент.Шіріна = 10; КінецьЦикл;

Потім заповнюється стовпчик найменувань:

ЗапрНом = новий запит; запрНом.Текст = "вибрати ТовариНаСкладахОбороти.Номенклатура ЯК номенклатура | з РеєстрНакопичення.ТовариНаСкладах.Обороти() ЯК ТовариНаСкладахОбороти"; ТЗНом = запрНом.Выполнить().Выгрузить(); для кожного стрНом із ТЗНом цикл стрНом = стрНом.номенклатура; //додати цю номенклатуру в тимчасову ТЗ СтрТЗ = ТЗ.Додати(); СтрТЗ.товар = стрНом; КінецьЦикл;

Нарешті, вивантажуємо товар з тимчасової ТЗ до ТЗ форми:

ЗначенняВРеквізитФорми(ТЗ, "ТЗФорма");

Проблема - циклічне заповнення приходів та видатків. Якщо я правильно розумію, кожен рядок цих даних заповнюється циклом, вкладеним у цикл заповнення колонки товарів. Тобто на кожній ітерації із заповнення рядка з товаром робимо запит на прихід та витрату, до якої передаємо найменування товару, дати початку та кінця періоду. Результат запиту вивантажуємо в таблицю значень, яка має один рядок. Це працює коли показуються дані за весь період, тобто коли є три колонки: товар, прихід, витрата.

Але в даному випадкупотрібно по дві колонки щотижня. Нехай імена цих колонок відрізнятимуться номером тижня, тобто приход1, расход1, приход2, расход2 тощо. Зрозуміло, що при цьому організується цикл, в якому в запиті на прихід і витрати замість кінця періоду передається дата, що була на початок ітерації + тиждень.

Питання виникає при передачі сум приходу та витрати з таблиці значень за результатами запиту до тимчасової таблиці. Як описати, що в кожній ітерації при вивантаженні даних з таблиці результату запиту в тимчасову ТЗ цифра імені колонок приходу і витрати збільшується на 1? Адже загалом процес вивантаження виглядає так:

ТЗПріхРасхОбор = ЗапрПріхРасхОбор.Виконати().вивантажити(); для кожного стрПрихРасхОбор із ТЗПрихРасхОбор цикл стрТЗ.приход = стрПрихоРасхОбор.приход; стрТЗ.расход = стрПрихоРасхОбор.расход; стрТЗ.оборот = стрПрихоРасхОбор.оборот; КінецьЦикл;

Відповідь:

нарешті дістався коду. дякую, допомогло. вийшло так:

ТЗ = Запит Номенклатури (); для н = 1 по колво Тиждень цикл ТЗ. колонки. ТЗ.колонки.додати("витрата" + н, типЧисло, "витрата" + н); КінецьЦикл; для н = 1 по колво Тиждень цикл КолонкаПріх = ТЗ.колонки.найти("прихід" + н); КолонкаРозх = ТЗ.колонки.найти("витрата" + н); КінецьПеріоду = початокПеріоду + тиждень; ТЗПР = Запит Оборотів (Початок Періоду, Кінець Періоду); МПріх = ТЗПР.вивантажитиКолонку(0); МРасх = ТЗПР. Вивантажити Колонку (1); ТЗ.завантажитиКолонку(МПріх, КолонкаПріх); ТЗ.завантажитиКолонку(Мрасх, КолонкаРозх); ПочатокПеріоду = КінецьПеріоду; КінецьЦикл;

оптимізувати не став (наприклад, щодо запиту в циклі), оскільки підсумковий вид таблиці спочатку не влаштовував у плані наочності, хотілося іншого рішення. згадав про макет та табличний документ, пробую через нього

Питання: Як не знаючи структури таблиці значень обробити її у Запиті


Добрий день. Є таблиця значень. Точні імена стовпчиків не відомі. Необхідно обробити таблицю значень та додати до неї одну колонку та заповнити її. Заповнення здійснюється на підставі однієї колонки, у якої відоме ім'я.
Найпростіший варіант - додати колонку та обробити таблицю в циклі. Але це зовсім добре.
Чи можливо це зробити у запиті?
Спасибі.

Відповідь:

В першому приближенні:

Вибрати * ПОМІСТИТИ ВТ_ЗовнішніДані З &Таблиця ЯК ЗовнішніДані

Вибрати ЗовнішніДані.*, Таблиця.ПОЛЕ1 З ВТ_ЗовнішніДані ЯК ЗовнішніДані ЛІВОЕ З'ЄДНАННЯ<Таблица>ЯК Таблиця ПО ЗовнішніДані.Поле1 = Таблиця.Поле1

Питання: Як при виборі значення комірки таблиці значень на УФ робити відбір за власником?


Шановні колеги! Нещодавно життя змусило мене зіткнутися з керованими формами, тому я в них ще не дуже розумію. Не вважайте питання безглуздим і допоможіть хто чим може:) Питання наступне. Формую свою таблицю значень та виводжу її на форму. Перша колонка – посилання на довідник номенклатури, решта колонок – посилання на довідник для якого Номенклатура є Власником. Як мені зробити так, щоб на початку вибору значення в такій колонці в списку значень вже стояв відбір за власником. Поки зробив через подію Початок Вибору, там відкриваю список із потрібним відбором. Але проблема не розумію, куди отримане значення пхати в обробці підбору? І є підозра, що відбір за власником можна встановити через властивість колонки Параметри Вибору. Як бути? Підкажіть!

Відповідь:і ось у мене є

&На Клієнті
Процедура ОбробкаВибору(ВибранеЗначення, ДжерелоВибору) Якщо ДжерелоВибору.Ім'яФорми = "Довідник.ЗначенняВластивостейОб'єктів.Форма.ФормаСписку" Тоді І ось ту я не зайняти що написати
, щоб помістити ВибранеЗначення в редаговану комірку таблиці!!!

КінецьЯкщо;
КінецьПроцедури

Питання: Угруповання та Згорнути() за таблицею значень


уважно, це 7 .7 :)
Отже, сабж: вивантажую ТЧ документа в таблицю значень.
ТЧ документа має вигляд
розх.накл. | Клієнт | адреса доставки.

Обробляю таблицю значень:
вибратиРядки();
поки получитьСтроку() = 1 Цикл тбл.НоваРядок(); тбл.Клієнт = Клієнт; тбл.АдресДоставки = АдресаДоставки; тбл.НомерДок = Накладна.НомерДок; КінецьЦикл;
Суть у наступному. У макеті при друк має в одному осередку виходити Клієнт, АдресаДоставки та номери всіх витратних накладних по клієнту, а також може бути один клієнт, але різні адреси доставки. Тобто, у разі збігу Клієнта та Адреси виводити список накладних за цими параметрами.

Відповідь:() Використовуй чорний запит щодо документів. Групування: Клієнт, Адреса доставки, Реалізація (Упорядкування за номером). Цикли використовуєш з урахуванням угруповань. У вихідну таблицю виводь рядки у другому угрупованні (Адреса доставки), але після циклу по третьому угрупованню (Реалізація), тому що у другому угрупованні формуватимеш рядок з номерами накладних.
НомериНакладних = "";
Поки Запит.Угруповання(3 ) = 1 Цикл НомериНакладних = НомериНакладних + ?(ПорожнійРядок (НомериНакладних) = 1 , "", ", ") + Запит. );КінецьЕслі;КінецьЦикл;

Грамотне використання індексів може прискорити запити не просто в рази, а в сотні, іноді навіть у тисячі разів.

Такого прискорення просто неможливо досягти апаратними засобами.Тому цій темі необхідно приділити пильну увагу.

Найчастіше, щоб прискорити запит, необхідно створити свій власний індекс, і зробити це можна декількома різними способами.

У відеоуроках ми розглянемо кілька способів створення індексу. Також розглянемо ситуацію, коли індекс необхідного складу неможливо створити штатними засобамиплатформи і його доведеться створювати у СУБД.

Настроювання індексів штатними засобами платформи

В уроці показано, які індекси реально створюються для об'єктів лише на рівні СУБД.
У цій темі не все так очевидно, як може здатися на перший погляд. Адже для низки об'єктів є особливості створення індексів.
Всі нюанси розглянемо у цьому відео.

Індексація з додатковим упорядкуванням

У відео показано відмінність варіанта побудови індексу Індексувативід Індексувати з дод. упорядкуванням.
На прикладі показано, який буде побудований індекс платформи при використанні додаткового впорядкування.

Створення індексу для вимірів регістрів

Індексація першого виміру регістрів має кілька аспектів.
У відео показано, які індекси створюються для вимірювання регістрів. Також розглянуто ситуацію індексації першого виміру регістру.

НоваКолонка / NewColumn

Синтаксис:НоваКолонка(стрім'яКолонки)

Параметри:
  • стримКолонки- Тип: Рядок. Ідентифікатор створюваної колонки. В ідентифікаторі колонки можна використовувати будь-які символи, але слід пам'ятати, що символи "-", "*", "#", "^" та "&" використовуються як модифікатори при побудові індексних виразів, і по колонках з такими символами побудувати індекс буде неможливо.

Повертає:тип: Число. Номер створеної колонки.

Опис:Створює стовпчик у таблиці.

ПерейменуватиКолонку / RenameColumn

Синтаксис:ПерейменуватиКолонку(Колонка, стрНовеІм'яКолонки)

Параметри:
  • Колонка
  • стрНовеІм'яКолонки- Тип: Рядок. Новий ідентифікатор стовпчика.

Опис:Перейменовує стовпчик таблиці.

КількістьКолонок / ColumnCount

Синтаксис:КількістьКолонок()

Повертає:тип: Число. Кількість колонок у таблиці.

Опис:Повертає кількість колонок у таблиці.

Ім'яКолонки / ColumnName

Синтаксис:Ім'яКолонки(Колонка)

Параметри:
  • Колонка- Тип: Рядок, Число. Ідентифікатор чи номер колонки.

Повертає:тип: Рядок. Ідентифікатор стовпчика. Якщо такої колонки немає, виникає виняток.

Опис:Повертає ідентифікатор вказаної колонки, як він був заданий методом НоваКолонка().

НомерКолонки / ColumnNumber

Синтаксис:НомерКолонки(Колонка)

Параметри:
  • Колонка- Тип: Рядок, Число. Ідентифікатор чи номер колонки.

Повертає:тип: Число. Номер стовпчика.

Опис:Повертає номер вказаної колонки.

Новий Рядок / NewRow

Синтаксис:НоваРядок()

Повертає:тип: Число. Номер створеного рядка.

Опис:Створює новий рядок у кінці таблиці.

ВидалитиРядки / RemoveRows

Синтаксис:Видалити Рядки([Індекс])

Параметри:
  • ІндексЯкщо параметр вказано, і за даним індексом встановлено фільтр, то видаляться рядки, що відповідають умовам фільтра.

Опис:Видаляє рядки з таблиці. Якщо вказано індекс, то при видаленні враховується накладений фільтр.

КількістьРядок / RowCount

Синтаксис:КількістьСторок([Індекс = ""], [флТількиУнікальні = 0])

Параметри:
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу. Якщо параметр вказано, і за даним індексом встановлено фільтр, то вважаються лише рядки, які відповідають умовам фільтра.
  • флТількиУнікальні- Тип: Число. Прапор обліку лише унікальних значень індексу.

Повертає:тип: Число. кількість рядків у таблиці.

Опис:Повертає кількість рядків у таблиці.

НомерРядки / RowNumber

Синтаксис:НомерРядки(Індекс)

Параметри:
  • Індекс- Тип: Рядок, Число. ідентифікатор чи номер індексу.

Повертає:тип: Число. Номер поточного рядка у вказаному індексі. Якщо рядок не вибрано, 0.

Опис:Повертає поточний номер рядка у вибірці для зазначеного індексу.

Очистити / Cleanup

Синтаксис:Очистити()

Опис:Повне очищення таблиці. Видаляються всі індекси, рядки та колонки.

ДодатиІндекс / AddIndex

Синтаксис:ДодатиІндекс(стрІдентифікатор, стрВираз, [чТількиУнікальніЗначення = 0])

Параметри:
  • стрІдентифікатор- Тип: Рядок. Ідентифікатор створюваного індексу;
  • стрВираз- Тип: Рядок. Індексне вираження. Індексне вираз складається зі списку ідентифікаторів колонок, розділеного комами. Якщо перед ім'ям колонки стоїть символ "-", сортування здійснюється у зворотному порядку. Якщо перед ім'ям колонки стоїть символ "*", сортування здійснюється за внутрішнім уявленням об'єкта. Якщо перед ім'ям колонки стоїть символ "#", перед порівнянням рядків обрізаються пробіли зліва і справа. Якщо перед ім'ям колонки стоїть символ "^", рядки порівнюються без урахування регістру. Модифікатори сортування ("-", "*", "#", "^") можна використовувати у будь-яких поєднаннях. Індексне вираз може бути порожнім рядком - це еквівалентно сортуванню за номером рядка, або відсутністю сортування (фільтр на такий індекс не можна встановити).
  • чТількиУнікальніЗначення- Тип: Число. Якщо 1, то індекс потраплять лише рядки, що містять унікальні значення індексу. Рядки з індексами, що повторюються, будуть проігноровані, і в операції перебору рядків, підсумовування, згортки, вивантаження, завантаження не потраплять.

Повертає:тип: Число. Номер створеного індексу.

Опис:Додає індекс до таблиці.

КількістьІндексів / IndexCount

Синтаксис:КількістьІндексів()

Повертає:тип: Число. Кількість індексів у таблиці.

Опис:Повертає кількість індексів у таблиці.

Ім'яІндексу / IndexName

Синтаксис:Ім'яІндексу(Індекс)

Параметри:
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу.
Повертає:тип: Рядок. Назва індексу. Якщо індекс відсутній таблиці, генерується виняток.

Опис:Повертає назву індексу.

Вираз Індекса / IndexExpr

Синтаксис:Вираз Індексу (Індекс)

Параметри:
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу.
Повертає:тип: Рядок. Індексне вираження. Якщо індекс відсутній таблиці, генерується виняток.

Опис:Повертає індексний вираз для заданого індексу.

НомерІндексу / IndexNumber

Синтаксис:НомерІндексу(Індекс)

Параметри:
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу.
Повертає:тип: Число. Номер індексу. Якщо індекс відсутній таблиці, функція повертає 0.

Опис:Повертає номер індексу.

Сортувати/Сортувати

Синтаксис:Сортувати(вираз)

Параметри:
  • стрВираз- Тип: Рядок. Індексне вираження. Індексне вираз складається зі списку ідентифікаторів колонок, розділеного комами. Якщо перед ім'ям колонки стоїть символ "-", сортування здійснюється у зворотному порядку. Якщо перед ім'ям колонки стоїть символ "*", сортування здійснюється за внутрішнім уявленням об'єкта. Якщо індексний вираз - порожній рядок, сортування вимикається (фільтр на такий індекс встановити не можна).

Опис:Зміна сортування в основному індексі.

ІндексУнікальний / IndexIsUnique

Синтаксис:ІндексУнікальний([Індекс = ""])

Параметри:
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу.

Повертає:тип: Число. 1 - у таблиці немає рядків, з значеннями ключа, що повторюються; 0 – таблиця містить рядки з однаковими значеннями ключа.

Опис:перевіряє, чи унікальний індекс.

КількістьУнікальнихКлючів / UniqueKeyCount

Синтаксис:КількістьУнікальнихКлючів([Індекс = ""])

Параметри:
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу.

Повертає:тип: Число. Кількість унікальних ключів.

Опис:повертає кількість унікальних ключів за вказаним індексом.

КількістьЗначеньКлюча / KeyValueCount

Синтаксис:КількістьЗначеньКлюча([Індекс = ""], Ключ)

Параметри:
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу.
  • Ключ

Повертає:тип: Число. Кількість рядків із зазначеним ключем.

Опис:повертає кількість рядків, для яких значення ключа дорівнює параметру Ключ.

Знайти Рядок / FindRow

Синтаксис:Знайти Рядок(Індекс, Ключ, [чНайтиОстанню = 0], [чСпозиціонуватися = 0])

Параметри:
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу.
  • Ключ- Тип: будь-який. Якщо індекс побудований по одній колонці – то значення пошуку. Якщо ж індекс за декількома колонками, то це має бути СписокЗначень, що містить значення ключових колонок, заданих у методі ДодатиІндекс().
  • чЗнайти останню- Тип: Число. Якщо 1, то буде знайдено останній рядок з відповідним значенням ключа.
  • чСпозиціонуватися

Повертає:

Опис:Знайти рядок, який точно відповідає ключу.

НайтиНайближчуБільше / FindNearestGE

Синтаксис:ЗнайтиНайближчуБільше(Ключ, [Індекс = ""], [чСпозиціонуватися = 0])

Параметри:
  • Ключ- Тип: будь-який. Якщо індекс побудований по одній колонці – то значення пошуку. Якщо ж індекс за декількома колонками, то це має бути СписокЗначень, що містить значення ключових колонок, заданих у методі ДодатиІндекс().
  • Індекс
  • чСпозиціонуватися- Тип: Число. Якщо 1, то при успішному пошуку індекс буде позиціонований на знайденому рядку. Якщо перед виконанням методу була відкрита вибірка (методом Вибрати Рядки), вона перепозиціонується на знайдене значення. Якщо вибірка не була відкрита, то вона відкривається, і після успішного пошуку можуть бути використані методи ОтриматиРядок(), НаступнийРядок() і ПопереднійРядок(). Основний індекс також перепозиціонується.

Повертає:тип: Число. Номер знайденого рядка. Якщо нічого не знайдено, 0.

Опис:Знайти рядок, який дорівнює або більше ключа.

НайтиНайближчуМенше / FindNearestLE

Синтаксис:Знайти НайближчуМенше(Ключ, [Індекс = ""], [чСпозиціонуватися = 0])

Параметри:
  • Ключ- Тип: будь-який. Якщо індекс побудований по одній колонці – то значення пошуку. Якщо ж індекс за декількома колонками, то це має бути СписокЗначень, що містить значення ключових колонок, заданих у методі ДодатиІндекс().
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу. За промовчанням використовується основний індекс.
  • чСпозиціонуватися- Тип: Число. Якщо 1, то при успішному пошуку індекс буде позиціонований на знайденому рядку. Якщо перед виконанням методу була відкрита вибірка (метод ВибратиРядки), вона перепозиціонується на знайдене значення. Якщо вибірка не була відкрита, то вона відкривається, і після успішного пошуку можуть бути використані методи ОтриматиРядок(), НаступнийРядок() і ПопереднійРядок(). Основний індекс також перепозиціонується.

Повертає:тип: Число. Номер знайденого рядка. Якщо нічого не знайдено, 0.

Опис:Знайти рядок, який дорівнює або менше ключа.

ВстановитиФільтр / SetFilter

Синтаксис:Встановити Фільтр(КлючМін, КлючМакс, [Індекс = ""], [чТільки Унікальні = 0], [чІнверсія = 0])

Параметри:
  • КлючМін- Тип: будь-який. Нижня межа фільтру. Задається як і, як у методі НайтиСтроку().
  • КлючМакс- Тип: будь-який. Верхня межа фільтра. Задається як і, як у методі НайтиСтроку().
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу. За промовчанням використовується основний індекс.
  • чТількиУнікальні- Тип: Число. Якщо 1 - у вибірку потраплять лише рядки з унікальним значенням ключа.
  • чІнверсія- Тип: Число. 0 – звичайний фільтр, 1 – інверсний фільтр.

Якщо індекс побудований по одній колонці, то як ключі можна використовувати значення колонки. Якщо індекс по кількох колонках, то ключ має бути СписокЗначень, що містить значення ключових колонок, заданих у методі ДодатиІндекс().

Один із ключів може бути опущений - при цьому як опущене значення буде автоматично задіяно мінімально/максимально можливе значення. Тобто. фільтр буде із відкритим кордоном.

Опис:встановлює динамічний фільтр на таблицю за вказаним індексом. Фільтр впливає на роботу методів: В Початок (), Вибрати Рядки (), В Кінець (), Отримати Рядок (), Наступний Рядок (), Попередня Рядок (), Згорнути (), Підсумок (), Заповнити Колонку (), Вивантажити (), Завантажити (), Об'єднати().

Підмножина / Subset

Синтаксис:Підмножина(сзКлюч, чКількістьФіксКолонок, [Індекс = ""])

Параметри:
  • зКлюч- Тип: СписокЗначень. Список містить значення фіксованих колонок індексу.
  • чКількістьФіксКолонок- Тип: Число. Кількість фіксованих колонок індексу
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу. За промовчанням використовується основний індекс.

Опис:встановлює фільтр, фіксуючи значення перших колонок індексу.

ТЗ.ДодатиІндекс("і1", "к1, к2"); сзКлюч = Створити Об'єкт("СписокЗначень"); зЗКлюч.ДодатиЗначення(5); ТЗ.Підмножина (сзКлюч, 1, "і1");

в результаті у вибірці будуть ті рядки, у яких колонка к1 = 5.

Вимкнути Фільтр / DropFilter

Синтаксис:Вимкнути Фільтр([Індекс = ""])

Параметри:
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу.

Опис:вимикає фільтр у зазначеного індексу.

Початок / FirstRow

Синтаксис:ВПочаток([Індекс = ""], [флТількиУнікальні = 0])

Параметри:
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу. За промовчанням використовується основний індекс.
  • чТількиУнікальні

Повертає

Опис:позиціонується перед першим рядком зазначеного індексу, так що метод Наступний Рядок() спозиціонується на першому рядку.

ВибратиРядки / SelectRows

Синтаксис:ВибратиРядки([Індекс = ""], [флТолькоУнікальні = 0])

Параметри:
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу. За промовчанням використовується основний індекс.
  • чТількиУнікальні- Тип: Число. Прапор вибірки за унікальними значеннями. Прапор впливає на результат всіх наступних викликів методів ОтриматиРядок(), НаступнийРядок(), ПопереднійРядок() по даній вибірці.

Повертаєтип: Число. 1 – операція завершилася успішно, 0 – вибірка порожня.

Опис:позиціонується перед першим рядком зазначеного індексу, так що метод ОтриматиРядок() спозиціонується на першому рядку.

Врешті-решт / LastRow

Синтаксис:Вкінець([Індекс = ""], [флТількиУнікальні = 0])

Параметри:
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу. За промовчанням використовується основний індекс.
  • чТількиУнікальні- Тип: Число. Прапор вибірки за унікальними значеннями. Прапор впливає на результат всіх наступних викликів методів ОтриматиРядок(), НаступнийРядок(), ПопереднійРядок() по даній вибірці.

Повертаєтип: Число. 1 – операція завершилася успішно, 0 – вибірка порожня.

Опис:позиціонується після останнього рядка зазначеного індексу, тому метод ПопередняРядок() спозиціонується на останньому рядку.

НаступнийРядок / Next

Синтаксис:НаступнийРядок([Індекс = ""], [чТількиУнікальні = 0])

Параметри:
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу. За промовчанням використовується основний індекс.
  • чТількиУнікальні

Повертає

Опис:

Примітка:прапор унікальної вибірки, встановлений в 1 методах Початок() і Вкінець() має пріоритет над прапором даного методу.

ОтриматиСтроку / GetRow

Синтаксис:ОтриматиРядок([Індекс = ""], [чТількиУнікальні = 0])

Параметри:
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу. За промовчанням використовується основний індекс.
  • чТількиУнікальні- Тип: Число. 1 - буде отримано наступний рядок з різним значенням ключа, всі рядки, що повторюються, будуть пропущені.

Повертаєтип: Число. 1 – операція завершилася успішно, 0 – більше немає рядків.

Опис:перехід до наступного рядка індексу.

Примітка:

ПопереднійРядок / Previous

Синтаксис:ПопередняРядок([Індекс = ""], [чТількиУнікальні = 0])

Параметри:
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу. За промовчанням використовується основний індекс.
  • чТількиУнікальні- Тип: Число. 1 - буде отримано наступний рядок з різним значенням ключа, всі рядки, що повторюються, будуть пропущені.

Повертаєтип: Число. 1 – операція завершилася успішно, 0 – більше немає рядків.

Опис:перехід до попереднього рядка індексу.

Примітка:прапор унікальної вибірки, встановлений в 1 методах Початок() і Вкінець(), має пріоритет над прапором даного методу.

ОтриматиЗначення / GetValue

Синтаксис:ОтриматиЗначення([чСтрока = ПорожнійЗначення], Колонка)

Параметри:
  • чРядок- Тип: Число. Номер рядка. Якщо номер рядка не вказано, береться поточний рядок.
  • Колонка- Тип: Рядок, Число. Ідентифікатор чи номер колонки.

Повертаєтип: будь-який. Значення осередку таблиці.

Опис:повертає значення у зазначеному осередку таблиці.

ВстановитиЗначення / SetValue

Синтаксис:ВстановитиЗначення([чСтрока = ПорожнійЗначення], Колонка, Значення)

Параметри:
  • чРядок- Тип: Число. Номер рядка. Якщо номер рядка не вказано, то встановлюється значення у поточному рядку.
  • Колонка- Тип: Рядок, Число. Ідентифікатор чи номер колонки.
  • Значення- Тип: будь-який. Нове значення осередку.

Опис:встановлює значення зазначеного осередку.

Встановити / Set

Синтаксис:Встановити(чРядок, Колонка, Значення)

Опис:синонім методу ВстановитиЗначення().

Згорнути / GroupBy

Синтаксис:Згорнути(стрКолонкиЗгортки, стрКолонкиСумм ​​[, Ім'яІснуючогоІндексу = ""])

Параметри:
  • стрКолонкиЗгортки- Тип: Рядок. Список колонок, якими буде здійснюватися згортка. Цей рядок повністю аналогічний індексному виразу в методі ДодатиІндекс(). Для згортки таблиця спочатку індексується за цим виразом, а потім рядки з однаковим індексом підсумовуються. Результат завжди поміщається в перший рядок за номером, всі інші рядки видаляються.
  • стрКолонкиСум- Тип: Рядок. Список колонок, які потрібно підсумувати. Розділювач – символ ",". Прогалини ігноруються.
  • Ім'я ІснуючогоІндексу- Тип: Рядок, Число. Якщо вказано ім'я індексу, то КолонкиЗгортки ігноруються, а згортка здійснюється за вказаним індексом. У згортці беруть участь ті рядки, які входять у фільтр.

Опис:згортає таблицю по колонках<КолонкиСвёртки>, підсумовуючи значення у колонках<КолонкиСумм>. Колонки, що не увійшли до<КолонкиСвёртки>і<КолонкиСумм>з таблиці не видаляються. Згортка можлива і за існуючим індексом - при цьому не втрачається час на побудову тимчасового індексу, і можлива вибіркова згортка за фільтром поточного індексу.

Підсумок / Sum

Синтаксис:Підсумок(КолонкаСуми, [Індекс = ""])

Параметри:
  • КолонкаСуми
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу. За промовчанням використовується основний індекс.

Повертає

Опис:вважає суму за вказаною колонкою, при цьому враховується фільтр індексу.

ПідсумокПоДіапазону / SumByRange

Синтаксис:ПідсумокДіапазону(КолонкаСуми, [Індекс = ""], КлючМін, КлючМакс)

Параметри:
  • КолонкаСуми- Тип: Рядок, Число. Колонка, за якою потрібно отримати суму.
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу. За промовчанням використовується основний індекс.
  • КлючМін- Тип: будь-який. Нижня межа діапазону. Задається як і, як у методі НайтиСтроку().
  • КлючМакс- Тип: будь-який. Верхня межа діапазону. Задається як і, як у методі НайтиСтроку().

Повертаєтип: Число. Сума за вказаною колонкою.

Опис:вважає суму за вказаною колонкою, із завданням діапазону підсумовування. Функція не враховує встановлені фільтри та сама перманентних фільтрів не встановлює.

ПідсумокПоУзлу / NodeSum

Синтаксис:ПідсумокПоУзлу(КолонкаСуми [, Індекс])

Параметри:
  • КолонкаСуми- Тип: Рядок, Число. Колонка, за якою потрібно отримати суму.
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу. За промовчанням використовується основний індекс.

Повертає:тип: Число. Сума за вказаною колонкою. Якщо вибірка не активна (немає поточного вузла), повертає 0.

Опис:рахує суму за вказаною колонкою для поточного вузла індексного дерева. Має сенс, коли індекс не є унікальним, і потрібно порахувати результат за поточним ключем.

ТЗ.ДодатиІндекс("Прізвище", "Прізвище", 0); ТЗ.НайтиСтроку ("Прізвище", "Іванов", 0, 1); // позиціонуємося на вузол, в якому зібрані всі рядки з прізвищем Іванов Сум = ТЗ. //поверне 420 (100 + 120 + 200) ТЗ.НайтиСтроку ("Прізвище", "Петрів", 0, 1); //позиціонуємося на вузол, у якому зібрані всі рядки з прізвищем Петров Сум = ТЗ.ИтогПоУзлу("Сума", "Прізвище"); //Верне 1100 (500 + 600)

Групувати / Group

Синтаксис:Групувати(стрГрупування, стрКолонкиСумм, [чРасшифровкаОстанньогоРівня = 0])

Параметри:
  • стрГрупування- Тип: Рядок. Рядок, що описує необхідну структуру угруповання. Задається у вигляді<ИмяИндекса1>: <ИндексноеВыражение1> [; <ИмяИндекса2>: <ИндексноеВыражение2>...]. ІндекснеВираз - рядок у тому ж форматі, що і для методу ДодатиІндекс(), з одним доповненням: якщо у списку модифікаторів колонки присутній символ "&", то по цій колонці будуть пораховані підсумки за групами довідника. Колонка з таким модифікатором може бути лише одна кожному рівні угруповання.
  • стрКолонкиСум- Тип: Рядок. Рядок з колонками, за якими потрібно рахувати суми.
  • чРозшифровкаОстанньогорівня- Тип: Число. 1 - у кожному рядку останнього рівня групування буде таблиця з розшифровкою, що містить рядки вихідної таблиці в незайманому вигляді. 0 – останній рівень буде згорнутий.

Опис:формує таблицю з деревоподібною структуроювідповідно до угруповань. На кожному рівні угруповання залишаються лише унікальні значення за відповідним індексом. У колонки сум записуються суми по всіх рядках з відповідним значенням ключа. Рядки з відповідними значеннями ключа записуються в таблицю, яка поміщається в колонку тНащадки - ця колонка створюється в процесі угруповання.

Приклад: на вході маємо таблицю

групуємо її:

ТЗ.Групувати("Прізвище: Прізвище; Ім'я: Ім'я", "Сума");

і отримуємо таблицю такого виду (у колонці тЗНащадки показано вміст таблиці тзНащадки):

При групуванні можна також підраховувати суми за групами довідників - для цього у списку модифікаторів індексу потрібно вказати "&". Якщо таблиці є колонка з ім'ям "<ИмяКолонкиСправочника>_Батько", то батько для елемента буде братися з цієї колонки - це зменшує кількість звернень до бази, і помітно збільшує продуктивність. Підсумкова таблиця буде організована у вигляді дерева, точно повторює структуру довідника. е. у рядках, що не є групами) Для зручності роботи з отриманим деревом до таблиці додається колонка "__ЦеГрупа__", в яку записується 1 для всіх груп, і ПустеЗначення для елементів. Також додається колонка "__Рівень__", яка заповнюється значенням рівня груп довідника (нумерація починається з 1.) Для елементів у колонку "__Рівень__" записується ПустеЗначення.

Заповнити Рядок / FillRow

Синтаксис:ЗаповнитиРядок([чНомерРядки = 0], Джерело, [чНомерРядкиДжерела = 0], [чПоІменамКолонок = 0])

Параметри:
  • чНомерРядки- Тип: Число. Номер рядка, який потрібно заповнити. Якщо<= 0, то заполняется текущая строка.
  • Джерело- Тип: ІндексованаТаблиця, ТаблицяЗначень, Список значень. Джерело даних заповнення рядка.
  • чНомерРядкиДжерела- Тип: Число. Номер рядка у таблиці-джерелі. За промовчанням береться поточний рядок у визначеному індексі. Якщо Джерело - СписокЗначень, цей параметр ігнорується.
  • чПоІменамКолонок- Тип: Число. 0 - значення джерела копіюються за номерами колонок; 1 - значення копіюються за іменами колонок. Якщо в приймачі немає колонки з таким ім'ям, значення не копіюється. Якщо Джерело - СписокЗначень, то іменами колонок вважаються символьні уявлення значень.

Опис:заповнює рядок таблиці з рядка іншої таблиці або зі списку значень.

ЗаповнитиКолонку / FillColumn (варіант 1)

Синтаксис:ЗаповнитиКолонку([Індекс = ""], Колонка, Джерело, [ІндексДжерела = ""], [КолонкаДжерела = ""])

Параметри:
  • Індекс
  • Колонка
  • Джерело- Тип: ІндексованаТаблиця. Джерело даних заповнення колонки.
  • Індексджерела- Тип: Рядок, Число. Ідентифікатор або номер індексу, за яким упорядковуються та фільтруються рядки таблиці-джерела. За промовчанням використовується основний індекс.
  • Колонкаджерела- Тип: Рядок, Число. Ідентифікатор або номер колонки, з якої будуть братися значення. Якщо параметр не вказано, то колонка-джерело визначається параметром Колонка.

Опис:заповнює колонку таблиці із колонки іншої індексованої таблиці.

ЗаповнитиКолонку / FillColumn (варіант 2)

Синтаксис:ЗаповнитиКолонку([Індекс = ""], Колонка, Джерело, [КолонкаДжерела = ""])

Параметри:
  • Індекс- Тип: Рядок, Число. Ідентифікатор або номер індексу, за яким упорядковуються та фільтруються рядки таблиці, що заповнюється. За промовчанням використовується основний індекс.
  • Колонка- Тип: Рядок, Число. Ідентифікатор або номер колонки, що заповнюється.
  • Джерело- Тип: ТаблицяЗначень, СписокЗначень. Джерело даних заповнення колонки.
  • Колонкаджерела- номер або ідентифікатор стовпчика, з якого будуть братися значення. Якщо параметр не вказано, то колонка-джерело визначається параметром Колонка. Параметр ігнорується для списку значень.

Опис:заповнює колонку таблиці із колонки іншої таблиці (ТаблицяЗначень) або списку значень.

ЗаповнитиКолонку / FillColumn (варіант 3)

Синтаксис:ЗаповнитиКолонку([Індекс = ""], Колонка, Значення)

Параметри:
  • Індекс- Тип: Рядок, Число. Ідентифікатор або номер індексу, за яким упорядковуються та фільтруються рядки таблиці, що заповнюється. За промовчанням використовується основний індекс.
  • Колонка- Тип: Рядок, Число. Ідентифікатор або номер колонки, що заповнюється.
  • Значення- тип: будь-який, крім ІндексованаТаблиця, ТаблицяЗначень, СписокЗначень. Значення, яким буде заповнено стовпчик.

Опис:заповнює колонку таблиці одним і тим самим значенням.

Вивантажити / Unload

Синтаксис:Вивантажити(Приймач [, Індекс = ""] [, Колонки = ""] [, чТількиУнікальні = 0])

Параметри:
  • Приймач- Тип: ІндексованаТаблиця, ТаблицяЗначень, Документ, СписокЗначень, Невизначений. Змінна, у якій буде вивантажено таблицю. Якщо це документ, то заповнюється його таблична частина. Якщо тип невизначений, то створюється таблиця типу Індексована таблиця.
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу. За промовчанням використовується основний індекс.
  • Колонки- Тип: Рядок, Число. Список колонок через кому або номер колонки для розвантаження. Якщо значення не встановлено або порожній рядок, параметр ігнорується.
  • чТількиУнікальні- Тип: Число. Прапор вивантаження лише унікальних значень.

Опис:вивантажує поточну таблицю до іншої таблиці, або до нової. Якщо таблиця-приймач існує, вона повністю очищається. Індекси при розвантаженні не копіюються. Вивантаження здійснюється з урахуванням індексу та фільтра.

Завантажити / Load

Синтаксис:Завантажити(Джерело, [Індекс = ""], [Колонки = ""])

Параметри:
  • Джерело- Тип: ІндексованаТаблиця, ТаблицяЗначень, Документ. Таблиця, з якої буде завантажено дані. Якщо тип - документ, то буде завантажена таблична частина документа.
  • Індекс- Тип: Рядок, Число. Ідентифікатор або номер індексу таблиці - джерелі. За промовчанням використовується основний індекс. Якщо параметр Джерело має тип Документ, Індекс інтерпретується як рядок, що містить список полів табличної частини документа. Якщо Джерело має тип ТаблицяЗначень, цей параметр ігнорується.
  • Колонки- Тип: Рядок, Число. Список колонок через ком або номер колонки для завантаження в таблиці - джерелі. Визначає список колонок, які будуть завантажені до таблиці. Якщо значення не встановлено або порожній рядок, параметр ігнорується. Якщо джерело має тип документа, цей параметр ігнорується (використовуйте Індекс).

Опис:завантажує дані із зазначеної таблиці, відповідно до індексу. Перед завантаженням поточна таблиця повністю чиститься. Індекси не копіюються.

ЗавантажитиЗапит / LoadQuery

Синтаксис:ЗавантажитиЗапит(Запит, [чПрапор = 0], [чПідсумки = 1])

Параметри:
  • Запит- Тип: Запит. Запит, з якого буде завантажено дані.
  • чПрапор- Тип: Число, Рядок. 0 - значення груп та функцій (за замовчуванням); 1 - значення груп та функцій, додаткових змінних; 2 - значення впорядкування груп та функцій; 3 - значення впорядкування груп та функцій, додаткових змінних; Рядок - "Товар(1), Товар(2), Товар, Склад, Прихід, Витрата", де Товар(1) - значення першого впорядкування угруповання "Товар".
  • чІтоги- Тип: Число. 0 - підсумки з угруповань не виводити; 1 - підсумки по угрупованням виводити зверху (за умовчанням); 2 - підсумки з угруповань виводити знизу; 3 - підсумки з угруповань виводити зверху та знизу.

Опис:завантажує дані із зазначеного запиту. Перед завантаженням поточна таблиця повністю чиститься.

ВнутрішнєЗ'єднання / InnerJoin

Синтаксис:ВнутрішнєЗ'єднання(стрКолонкиЛевийІТ, ПраваІТ, ІндексПравийІТ, стрКолонкиПравийІТ)

Параметри:
  • стрКолонкиЛівийІТ
  • ПраваІТ
  • ІндексПравийІТ стрКолонкиЛівийІТ).
  • стрКолонкиПравийІТ <ИмяКолИст>|<ИмяКолИст:ИмяКолНазн> [,...]". <ИмяКолИст> <ИмяКолНазн> <ИмяКолИст> <ИмяКолНазн>.

Опис: Inner Join стрКолонкиЛівийІТ стрКолонкиПравийІТ. Якщо рядок лівої таблиці не знайдено у правій, рядок у лівій таблиці видаляється.

Ліве З'єднання / LeftJoin

Синтаксис:ЛівеЗ'єднання(стрКолонкиЛевийІТ, ПраваІТ, ІндексПравийІТ, стрКолонкиПравийІТ)

Параметри:
  • стрКолонкиЛівийІТ- Тип: Рядок. Колонки, значення яких будуть використані для пошуку рядка у правій таблиці.
  • ПраваІТ- Тип: ІндексованаТаблиця. Таблиця, що приєднується.
  • ІндексПравийІТ- Тип: Рядок, Число. Ім'я або номер індексу, за яким шукатимуться рядки у правій таблиці. Кількість колонок індексу має дорівнювати кількості колонок пошуку (див. параметр стрКолонкиЛівийІТ).
  • стрКолонкиПравийІТ- Тип: Рядок. Список колонок, які копіюватимуться з правої таблиці в ліву. Список задається у форматі "<ИмяКолИст>|<ИмяКолИст:ИмяКолНазн> [,...]". <ИмяКолИст>- ім'я колонки у правій таблиці; якщо такої колонки немає в лівій таблиці, вона буде створена.<ИмяКолНазн>- якщо вказано, значення з колонки правої таблиці з назвою<ИмяКолИст>буде скопійовано в колонку лівої таблиці<ИмяКолНазн>.

Опис:Виконує операцію, аналогічну команді SQL Left Join. Для кожного рядка з лівої таблиці (лівою таблицею є поточний об'єкт) додаються всі рядки з правої таблиці, що відповідають ключовому виразу. Ключовий вираз визначається параметром стрКолонкиЛівийІТ. З правої таблиці до лівої переносяться значення колонок, зазначених у параметрі стрКолонкиПравийІТ залишаються незмінними.

Права З'єднання / RightJoin

Синтаксис:ПравеСполука

Параметри:
  • стрКолонкиЛівийІТ- Тип: Рядок. Колонки, значення яких будуть використані для пошуку рядка у правій таблиці.
  • ПраваІТ- Тип: ІндексованаТаблиця. Таблиця, що приєднується.
  • ІндексПравийІТ- Тип: Рядок, Число. Ім'я або номер індексу, за яким шукатимуться рядки у правій таблиці. Кількість колонок індексу має дорівнювати кількості колонок пошуку (див. параметр стрКолонкиЛівийІТ).
  • стрКолонкиПравийІТ- Тип: Рядок. Список колонок, які копіюватимуться з правої таблиці в ліву. Список задається у форматі "<ИмяКолИст>|<ИмяКолИст:ИмяКолНазн> [,...]". <ИмяКолИст>- ім'я колонки у правій таблиці; якщо такої колонки немає в лівій таблиці, вона буде створена.<ИмяКолНазн>- якщо вказано, значення з колонки правої таблиці з назвою<ИмяКолИст>буде скопійовано в колонку лівої таблиці<ИмяКолНазн>.

Опис:Виконує операцію, аналогічну команді SQL Right Join. Для кожного рядка з лівої таблиці (лівою таблицею є поточний об'єкт) додаються всі рядки з правої таблиці, що відповідають ключовому виразу. Ключовий вираз визначається параметром стрКолонкиЛівийІТ. З правої таблиці до лівої переносяться значення колонок, зазначених у параметрі стрКолонкиПравийІТ. Якщо рядок лівої таблиці не знайдено у правій, вона видаляється. Якщо рядок правої таблиці відсутній у лівій, то вона додається, при цьому всі колонки крім зазначених у параметрі стрКолонкиПравийІТ

ПовнеЗ'єднання / FullJoin

Синтаксис:Повне з'єднання

Параметри:
  • стрКолонкиЛівийІТ- Тип: Рядок. Колонки, значення яких будуть використані для пошуку рядка у правій таблиці.
  • ПраваІТ- Тип: ІндексованаТаблиця. Таблиця, що приєднується.
  • ІндексПравийІТ- Тип: Рядок, Число. Ім'я або номер індексу, за яким шукатимуться рядки у правій таблиці. Кількість колонок індексу має дорівнювати кількості колонок пошуку (див. параметр стрКолонкиЛівийІТ).
  • стрКолонкиПравийІТ- Тип: Рядок. Список колонок, які копіюватимуться з правої таблиці в ліву. Список задається у форматі "<ИмяКолИст>|<ИмяКолИст:ИмяКолНазн> [,...]". <ИмяКолИст>- ім'я колонки у правій таблиці; якщо такої колонки немає в лівій таблиці, вона буде створена.<ИмяКолНазн>- якщо вказано, значення з колонки правої таблиці з назвою<ИмяКолИст>буде скопійовано в колонку лівої таблиці<ИмяКолНазн>.

Опис:Виконує операцію, аналогічну команді SQL Full Join. Для кожного рядка з лівої таблиці (лівою таблицею є поточний об'єкт) додаються всі рядки з правої таблиці, що відповідають ключовому виразу. Ключовий вираз визначається параметром стрКолонкиЛівийІТ. З правої таблиці до лівої переносяться значення колонок, зазначених у параметрі стрКолонкиПравийІТ. Якщо рядок лівої таблиці не знайдено у правій, то значення колонок лівої таблиці залишаються незмінними. Якщо рядок правої таблиці відсутній у лівій, то вона додається, при цьому всі колонки крім зазначених у параметрі стрКолонкиПравийІТзаповнюються порожніми значеннями.

Об'єднати / Merge

Синтаксис:Об'єднати(ТЗ [, Індекс = ""] [, Колонки = ""])

Параметри:
  • ТЗ- Тип: ІндексованаТаблиця, ТаблицяЗначень. Таблиця, з якої буде завантажено дані.
  • Індекс- Тип: Рядок, Число. Ідентифікатор або номер індексу таблиці - джерелі. За промовчанням використовується основний індекс. Якщо ТЗ має тип ТаблицяЗначень, цей параметр ігнорується.
  • Колонки- Тип: Рядок, Число. Список колонок через ком або номер колонки в таблиці - джерелі. Визначає список колонок, які братимуть участь у процесі об'єднання. Якщо значення не встановлено або порожній рядок, параметр ігнорується.

Опис:додає рядки з таблиці - джерела до поточної таблиці. Якщо таблиці - джерелі є колонки, яких немає у поточної, всі вони створюються. Об'єднання здійснюється з урахуванням індексу та фільтра таблиці - джерела.

Перетин / Conjunction

Параметри:
  • ТЗ2- Тип: ІндексованаТаблиця. Таблиця, з якою будується перетин.
  • ІндексПоточноїТЗ
  • ІндексДругийТЗ
  • флДодаватиСтрокиТЗ2

Опис:перетин двох таблиць за ключовими полями. Результатом перетину є таблиця, в якій присутні рядки поточної ТЗ, що є в ТЗ2, та рядки ТЗ2, які є в поточній ТЗ (з урахуванням флДобавлятиРядкиТЗ2). Збіг рядків визначається за індексами ІндексТекущоїТЗ та ІндексТЗ2. Кількість колонок в індексах має бути однаковою.

Різниця / Difference

Параметри:
  • ТЗ2- Тип: ІндексованаТаблиця. Таблиця, з якою будується різницю.
  • ІндексПоточноїТЗ- Тип: Рядок, Число. Ім'я або номер індексу у поточній таблиці.
  • ІндексДругийТЗ- Тип: Рядок, Число. Ім'я або номер індексу у ТЗ2.
  • флДодаватиСтрокиТЗ2- Тип: Число. Прапор додавання рядків ТЗ2 до результату.

Опис:різницю двох таблиць за ключовими полями. Результатом є таблиця, в якій присутні рядки поточної ТЗ, яких немає в ТЗ2, і рядки ТЗ2, яких немає в поточній ТЗ (з урахуванням флДобавлятиРядкиТЗ2). Збіг рядків визначається за індексами ІндексТекущоїТЗ та ІндексТЗ2. Кількість колонок в індексах має бути однаковою.

Копія / Copy

Синтаксис:Копія([чКопіюватиІндекси = 0], [чКопіюватиДані = 1])

Параметри:
  • чКопіюватиІндекси- Тип: Число. Якщо 1, то індекси та фільтри теж будуть скопійовані.
  • чКопіюватиДані- Тип: Число. Якщо 1, дані будуть скопійовані; якщо 0 - то копіюється лише структура.

Повертає:тип: ІндексованаТаблиця. Змінна копія об'єкта.

Опис:створює копію таблиці.

ВФайл / SaveToFile

Синтаксис:ВФайл(стрім'яФайлу, [чФормат = 1], [Індекс = ""], [чСІменамиКолонок = 1])

Параметри:
  • стримФайлу- Тип: Рядок. Ім'я файлу, який потрібно записати таблицю. Якщо файл вже існує, він перезаписується.
  • чФормат
  • Індекс
  • чСІменамиКолонок- Тип: Число. 1 – у першому рядку файлу будуть записані імена колонок. Має сенс лише для CSV-файлів.

Опис:записує таблицю у файл.

ІзФайлу / LoadFromFile

Синтаксис:ІзФайла(стрім'яФайлу, [чФормат = 1], [чСІменамиКолонок = 1])

Параметри:
  • стримФайлу- Тип: Рядок. Ім'я файлу, з якого слід рахувати таблицю.
  • чФормат- Тип: Число. Формат файлу. Може приймати такі значення: 1 – запис значень у внутрішньому форматі; 2 – запис значень у зовнішньому форматі; 3 - csv файл зі значеннями у внутрішньому форматі; 4 - csv файл зі значеннями у зовнішньому форматі.
  • чСІменамиКолонок- Тип: Число. 1 - у першому рядку файлу зберігаються імена стовпчиків. Має сенс лише для CSV-файлів. Якщо параметр = 0, то імена колонок утворюються як __col__<НомерКолонки>.

Повертає:тип: Число. 1 - таблиця зчитана успішно; 0 – помилка при читанні.

Опис:зчитує таблицю із файлу.

Зряду / SaveToString

Синтаксис:Зряду([чФормат = 1], [Індекс = ""])

Параметри:
  • чФормат- Тип: Число. 1 – запис значень у внутрішньому форматі; 0 – запис значень у зовнішньому форматі.
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу. За промовчанням використовується основний індекс. Вивантаження у файл проводиться з урахуванням сортування та фільтра (якщо є) за вказаним індексом.

Повертає:тип: Рядок. Строкове представлення таблиці.

Опис:Перетворює таблицю в рядкову виставу для серіалізації. Отриманий рядок згодом може використовуватися в методі Строки().

З Рядків / LoadFromString

Синтаксис:ЗРядки(стрПодання)

Параметри:
  • стрПодання- Тип: Рядок. Строкове представлення таблиці.

Опис:завантажує таблицю з рядкового представлення.

ВибратиРядок / ChooseLine

Синтаксис:Вибрати Рядок([Рядок = 0], [сторЗаголовокВікна = ""], [чТаймаут = 0], [Індекс = ""])

Параметри:
  • Рядок- Тип: будь-який. Змінна, куди міститься значення - номер вибраного рядка. При виклику методу можна передавати значення початкового номера рядка.
  • стрЗаголовокВікна- Тип: Рядок. Заголовок вікна вибору.
  • чТаймаут- Тип: Число. Час очікування системи (у секундах) на відгук користувача. Якщо не поставлено, то час очікування нескінченний.
  • Індекс

Повертає:

Опис:

Показати / Show

Синтаксис:Показати([Індекс = ""])

Параметри:
  • Індекс- Тип: Рядок, Число. Ідентифікатор чи номер індексу. За промовчанням використовується основний індекс. У вікні вибору рядки з'являться з урахуванням сортування та фільтра (якщо є) за вказаним індексом.

Повертає:тип: Число. 1 - якщо вибір зроблено (натиснута кнопка "ОК"); 0 - якщо вибір не зроблено (натиснуто кнопку "Скасування").

Опис:Відкриває вікно для інтерактивного вибору рядка у таблиці значень. Метод призначений переважно налагодження.