У програмі 1С можна створювати масиви і використовувати функції, пов'язані з ними. Завдяки цьому ви зможете впорядкувати елементи і будете звертатися до них за індексом. Щоб працювати з колекціями значень, треба розбиратися в програмуванні. Адже всі дані доведеться вводити вручну - без графічного інтерфейсу, кнопок або діалогових вікон. Наприклад, щоб перетворити в 1С масив в рядок і розділити її на групу подстрок, використовують оператори, які входять в синтаксис утиліти. Для цього потрібно хоча б загальне уявлення про алгоритми.
Застосування масивів в 1С допомагає впорядкувати використовувані в роботі елементи.
зміст
- 1 Про масивах
- 2 створення
- 3 функції
- 4 Пошук і сортування
- 5 Таблиці і списки
Про масивах
Це програмний набір елементів. Він служить для:
- Відбору значень.
- Сортування. Кожній позиції в масиві присвоюється індекс. Це полегшує пошук. І ви можете послатися на об'єкт, написавши його номер.
- Об'єднання і збереження записів.
- Поділу груп, створення подстрок.
- Масив - сам по собі об'єкт. До нього буде прив'язана змінна. Можна звернутися до окремих його частин або використовувати його цілком в процедурах.Наприклад, можна об'єднати групу значень "Співробітники відділу N" і внести туди імена і прізвища працівників.
Проведемо аналогію. Уявіть книжкову шафу. Книги в ньому розставлені по різним "осередкам". Якщо вести облік, ви будете знати, де знаходиться кожен об'єкт. І без праці його дістанете. Але якщо книги, журнали і газети хаотично розкидані на столі, пошук потрібної речі затягнеться. Хоча це не відображає всі можливості унікальних колекцій.
створення
Робота з масивами 1С починається з їх створення. Потрібно "місце дії" - поле, в якому ви будете вводити код.
- Відкрийте "Конфігуратор" ( "Конфігурація").
- Клацніть правою кнопкою миші по пункту "Обробка".
- Виберіть "Додати".
- З'явиться підменю "Обработка1". Виділіть її. Інформація про нього відобразиться в робочій області.
- На вкладці "Основні" введіть "Ім'я". Скажімо, "ТестовийМассів".
- Відкрийте розділ "Форми".
- Натисніть на значок у вигляді лупи.
- Відзначте опцію "Форма обробки".
- Клацніть на "Готово".
- Відкриється вікно з трьома фреймами. У правому верхньому перейдіть в закладку "Команди".
- Іконка в вигляді плюса, щоб додати позицію.
- З'явиться пункт "команда1". Виділіть її.
- В поле "Ім'я" введіть назву.Наприклад, "ТестовиеЗначенія". Скопіюйте його в "Тема".
- У рядку "Дія" натисніть на лупу.
- Пункт "Створити на клієнті" і "OK".
- Ось і модуль, в якому можна вводити код.
Щоб виводити проміжний результат, створіть "кнопку". Навіщо вона потрібна в масиві - ви зрозумієте трохи пізніше.
- Перейдіть на вкладку "Форми". Вона внизу.
- Клацніть правою кнопкою миші на "Командна панель".
- "Додати - Кнопка".
- Придумайте їй будь-яку назву. Або можете залишити те, яке видано за замовчуванням.
- В поле "Ім'я команди" натисніть на піктограму у вигляді трьох крапок.
- Виберіть "ТестовиеЗначенія". Якщо назвали команду по-іншому, там буде інший заголовок.
Тепер можна приступати до роботи з колекціями. Але не думайте, що в 1С відразу зможете розкласти рядок в масив. Краще почати з чогось легше. Хоча всі функції - це набір операторів, які треба просто запам'ятати.
- Відкрийте закладку "Модуль".
- Текст, який йде після двох косих рисок (два слеша - "//") можна видалити. Він виглядає приблизно так "// Вставити вміст обробника". Це пояснення. Їх пишуть програмісти, щоб не заплутатися в коді.
- Свій текст пишіть між операторами "Процедура" і "КонецПроцедури".
- Тепер створіть набір значень. Придумайте змінну, яка буде умовно його позначати. Припустимо, "ПервийМассів".
- Її треба пов'язати з об'єктом. Для цього введіть команду "ПервийМассів = Новий масив ()". Це колекція, в якій може бути необмежена кількість елементів. Якщо у вас фіксований розмір, вкажіть його після команди в дужках "Новий масив (5)". Відповідно, двовимірна колекція буде виглядати "Новий масив (7, 5)". Можна створювати багатовимірні набори.
- При введенні можуть з'явитися підказки, які пропонують відповідні оператори.
- Слова розрізняються за кольором. У змінних одна забарвлення, у функцій - інша.
- Після кожної команди ставте крапку з комою ";". І для зручності починайте з нового абзацу.
- З порожнім безліччю нічого зробити не можна. Ні впорядкувати, ні вивести, ні розкласти рядок в масив в 1С. Тому треба вставити в нього елементи.
- Введіть "ПервийМассів.Добавіть (значення1);". Потім "ПервийМассів.Добавіть (значення2);" і так далі.
- Об'єкти нумеруються з нуля. Тобто змінної "значення1" буде привласнений індекс "0". Можете самі заповнювати колекцію зі "Значеніе0", щоб не переплутати.
Для чого все це? І навіщо та загадкова "кнопка"? Спробуємо запустити простеньку функцію.
- Під колекцією напишіть команду "Повідомити (ПервийМассів [0]);" У квадратних дужках вказано індекс елемента. Тобто адресу нашого "Значеніе0".
- Відформатуйте модуль. Це перевірка на наявність помилок. У великих блоках можна щось недоробити через неуважність: чи не поставити крапку з комою, що не закрити дужку, неправильно написати змінну. Компілятор на це вкаже.
- Натисніть на кнопку у вигляді знака "Плей" (трикутник в колі), щоб запустити написану вами програму.
- Натисніть на "Сервіс" і виберіть вашу кнопку.
- Натисніть її.
- З'явиться напис "Значеніе0". Це і є результат виконання функції.
Показана найпростіша операція, щоб ви зрозуміли, як взагалі працюють масиви. З ними можна створювати складні і багаторівневі програми. Виводити об'єкти, сортувати, видаляти повтори, розбивати на набір подстрок, об'єднувати, розділяти, шукати відомості. Потрібно лише знати оператори.
функції
Всі доступні функції є в довіднику програми. Перерахуємо кілька, щоб показати принцип.
Як перетворити масив 1С в рядок:
ТестМассів = Новий Масив (4);
ТестМассів [0] = Це;
ТестМассів [1] = Робиться;
ТестМассів [2] = Так;
СтрокаТест = ЗначеніеВСтрокуВнутр (ТестМассів);
Повідомити (СтрокаТест);
Виводите на "Кнопку" і отримуєте фразу. Це може бути частиною великого модуля - в такому випадку оператор "Повідомити" не потрібен.
Щоб в 1С розкласти рядок в масив підрядків, потрібен роздільник. Умовна позначка, після якої текст буде ділитися. Припустимо, є слово "Протокол". І ми поставимо роздільник "О". Введіть команду "ТестМассів = РазложітьСтрокуВМассів (Протокол,« О »);" Вийде окремо "Пр", "Т", "К" і "Л". Роздільник стертий. А слово розділене на кілька подстрок.
Ось як це можна застосувати на практиці. У вас є масив з ПІБ співробітників. І вам потрібно, щоб при виборі позиції автоматично заповнювалися поля "Прізвище", "Ім'я" і "батькові". Для цього ПІБ треба розбити на три складових. Як роздільник використовуйте "пробіл".
Зазвичай для цього використовується складний модуль: цикл з великою кількістю операторів. Циклічні блоки з умовою будуються за принципом "Якщо (умова), тоді (действіе1), інакше (действіе2)". Спочатку програма перевіряє, чи виконується умова.Якщо так, то вона запускає першу функцію. Якщо немає - другу.
Цикл перевірить кожен символ в рядку. Якщо там немає роздільник, він продовжує далі. Якщо там є розділовий знак, який він додає значення в набір подстрок. Там можуть використовуватися і інші оператори: наприклад, "СокрЛП" - скорочення певних знаків праворуч і ліворуч від рядка.
Кожен модуль треба "закінчувати", щоб утиліта припинила виконання процедури. На циклі з "Якщо" цей оператор - "КонецЕсли". На циклі без умов - "КонецЦікла". Кожну функцію треба окремо завершувати.
Пошук і сортування
У колекціях може перебувати величезна кількість даних. Треба навчитися їх шукати і сортувати.
Щоб запустити пошук в масиві в 1С, використовуйте оператор "Знайти". Відшукати потрібне значення можна і візуально. Але якщо там сотні елементів, краще створити додатковий модуль і запустити підпрограму. Покажемо на прикладі простої функції. Але це підійде для будь-яких блоків.
МассівТест = Новий Масив (3);
МассівТест [0] = "Телефон»;
МассівТест [1] = "Ноутбук»;
МассівТест [2] = «Комп'ютер»;
Індекс = МассівТест.Найті ( «Телефон»);
Якщо Індекс <> Не визначено Тоді
Повідомити ( «Пошук завершений» + МассівТест [Індекс]);
І не забудьте поставити "завершальний оператор".
Колекція подана для прикладу. Ми створили набір з трьох значень. І зробили невеличкий цикл. Якщо утиліта не знайде відповідний елемент, вона видасть повідомлення "Не визначено". Якщо знайде, покаже результат.
Сортування масиву 1С просто незамінна при роботі з великим об'ємом даних. У них же треба якось орієнтуватися. Краще розставити їх в певному порядку. Припустимо, є у вас колекція "ВашМассів". Щоб привести її "в порядок"
ТестСпісок = Новий СпісокЗначеній;
ТестСпісок.ЗагрузітьЗначенія (ВашМассів);
ТестСпісок.СортіроватьПоЗначенію (НаправленіеСортіровкі.Возр);
ВашМассів = ТестСпісок.ВигрузітьЗначенія ();
Замість "Вік" можете поставити "спадання". Також результат можна вивантажити в таблицю значень:
ТестоваяТабліца = Новий ТабліцаЗначеній;
ТестоваяТабліца.Колонкі.Добавіть ( «Колонка»);
ТестоваяТабліца.ЗагрузітьКолонку (ВашМассів, «Колонка»);
ТестоваяТабліца.Сортіровать ( «Колонка спад»);
ВашМассів = ТестоваяТабліца.ВигрузітьКолонку ( «Колонка»)
Існують і складні методи сортування: "Бульбашкова", "Швидка", "Шейкер", "Рекурсія".У них багаторівневі і довгі алгоритми.
Таблиці і списки
Інформацію можна переправляти між різними видами колекцій. Щоб перенести в 1С масив в таблицю значень:
МассівТелеф = Новий Масив;
МассівТелеф.Добавіть ( «Смартфон»);
МассівТелеф.Добавіть ( «Планшет»);
МассівТелеф.Добавіть ( «Телефон»);
ТабліцаТест = Новий ТабліцаЗначеній;
ТабліцаТест.Колонкі.Добавіть ( «Мобільники»);
ТабліцаТест.Добавіть ();
ТабліцаТест.Добавіть ();
ТабліцаТест.Добавіть ();
ТабліцаТест.ЗагрузітьКолонку (МассівТелеф, «Мобільники»);
Для Кожного Рядок З ТабліцаТест Цикл
Повідомити (Строка.Мобільнікі);
Не забудьте поставити в кінці оператор завершення циклу.
Перетворити в 1С масив в список значень зовсім просто. Достатньо лише вивантажити дані з однієї колекції до іншої.
НовСпісок = Новий СпісокЗначеній ();
НовСпісок.ЗагрузітьЗначенія (ВашМассів);
У програмуванні одну проблему можна вирішити різними способами. І 1С - не виняток. Лінійні алгоритми, цикли, цикли з умовою, цикли з лічильником. Варіантів багато. Щоб орієнтуватися в масиві, потрібні деякі навички роботи в 1С.