Навчальні статті. Урок - Службові типи даних в BAS

Ця стаття була оновлена 03 Червня 2022, Пт

Службові типи даних у BAS. Переліки та Регістри відомостей.

Вітаємо читачів сайту. На порядку денному нові об'єкти BAS для вивчення під одним загальним заголовком - "службові типи даних".

Розглянемо на прикладі конфігурації BAS Управління торгівлею

Переліки

Переліки є службовий тип даних, який не використовується самостійно, а застосовується, в основному, в сукупності з іншими типами даних. Змінювати значення таких даних з режиму Підприємство неможливо. Наприклад, перерахуванням є:

«Стать фізичної особи» зі значеннями:

  • Чоловік
  • Жінка

«Юр. Фіз. особа »зі значеннями:

  • Юр. Особа
  • Фіз. Особа

«Типи контактної інформації» зі значеннями:

  • Адреса
  • Телефон
  • E-Mail
  • Веб сторінка
  • інше

І багато інших. Тобто, перерахування це фіксований список якихось значень.

Перечисления

Перерахуванням можна додати форми, приналежність до підсистем, команди і навіть макети друкованих форм.

Регістр відомостей

Регістр відомостей - об'єкт конфігурації, призначений для зберігання інформації в розрізі декількох вимірювань. Інформація в регістрі відомостей зберігається у вигляді набору рядків (записів). Кожен рядок містить набір вимірювань і відповідні їм значення ресурсів. Комбінація вимірювань ідентифікує запис.

Найпоширенішим прикладом регістра відомостей є курси валют, де вимір це валюта, а ресурс це курс. Такий регістр називається «Періодичний». Це означає, що крім ваших вимірювань і ресурсів в регістрі буде створена ще одна колонка «Період». Регістру можна встановити «Періодичність запису». Наприклад, у курсів валют встановлена ​​періодичність - день. Це означає, що запис з однаковими значеннями вимірювань можна зробити тільки раз в день, система автоматично подбає про перевірку.

Регистры сведений

І він же в режимі підприємства. Додана колонка «Період».

Регистры сведений

В одному періоді одне ключове вимір (Або долар або євро) і ресурси курс і кратність.

Записи в регістр відомостей можна вносити двома способами: вручну або документами. Ці два варіанти впливають на спосіб внесення інформації, а не на основну логіку роботи регістра.

Документ, яким вноситься запис в регістр відомостей, називається реєстратором.

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

Наприклад, якщо призначити ведучим вимір "Конкурент", то вважається, що запис має сенс тільки як інформація з даного конкуренту. Відповідно, при видаленні конкурента записи по ньому будуть видалені автоматично.

Якщо регістр записується реєстратором, то це означає, що записи будуть жорстко підпорядковані реєстраторам - документам. Зазвичай це означає, що записи будуть породжуватися при проведенні документів. Відповідно, при видаленні документа записи будуть видалятися автоматично. На відміну від провідних вимірювань, реєстратор може бути тільки один.

Завдання 1. Новий регістр ставок водіїв:

Додамо новий регістр відомостей «фсСтавкиВодителей», незалежний, а періодичність в межах секунди. На закладці дані додамо Вимірювання «Водій» - посилання на наш довідник Водії і ресурс «Ставка» число, точність 3. Невід'ємне.

Регистры сведений

Тепер створимо форму елемента для довідника Водії, якщо її ще немає. Видалимо з форми реквізит Ставка. Помістимо елемент форми Табличное поле і назвемо його «Ставки», тип даних у цього поля буде наш новий регістр відомостей, приберемо так само видимість з колонки Водій. Має вийти ось так:

Регистры сведений

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

Почнемо з відбору. Нам потрібно подія форми  «ПередОткрытием» там додамо наступний код:

Регистры сведений

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

Відкриємо елемент довідника в режимі підприємства і наш новий регістр через меню Операції. Перевіримо, що відбір працює вірно.

Регистры сведений

Все так і є. Тепер додавання записів прямо в формі довідника водії. Для цього в конфігураторі відкриємо властивості регістра (правою клавішею мишки по регістру, пункт властивості).

Нас цікавить пункт Спосіб редагування. Зазначимо пункт в списку.

Регистры сведений

Все, тепер ми можемо, як додавати нові елементи, так і редагувати існуючі прямо в формі елемента. Але є підводний камінь. Якщо ми додамо запис в регістр з форми елемента, який ще не записаний, то в вимір Водій буде записано порожнє посилання на довідники водії, що вкрай не коректно.

Давайте поставимо заглушку. Для цього нам потрібно подія елемента форми Ставки«ПередНачаломДобавления». Додамо тут наступний код:

Лістинг 1. Перевірка на заповнення Посилання

Регистры сведений

Якщо в нашому об'єкті не заповнено посилання, а заповнена, вона може бути тільки коли елемент записаний, то встановимо змінну Відмова в значення Істина. Ця змінна відповідає за безпомилковість виконання.

Пошук в періодичному реквізиті можна робити декількома способами:

Лістинг 2. Пошук через функцію ПолучитьПоследнее

Регистры сведений

Лістинг 3. Пошук через функцію Выбрать

Регистры сведений

Лістинг 4. Пошук через функцію Найти

Регистры сведений

Так само можливо вибирати записи з реєстру звичайним запитом.

Також, наша компанія проводить навчання за курсами:

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

Якщо у вас залишилися питання, Ви завжди можете звернутися до наших аналітиків за телефонами:
(093) 090-70-20
(095) 090-70-20
(068) 090-70-20

( 13 )
Коментарі
Поки немає відгуків
Написати коментар

Зв'яжіться з нами

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

(073) 090-70-20 (095) 090-70-20 (068) 090-70-20 info@finsoft.ua