ЗАГАЛЬНІ ВЛАСТИВОСТІ АГРЕГАТНИХ ТИПІВ ДАНИХ 1С

В 1С крім числових, символьних даних і дат можна працювати з обєктами, які належать до даних агрегатного типу Всього в 1С визначено близько 30 агрегатних типів даних Більшість з них наведено в табл 31

Агрегатні типи даних 1С

Таблиця 31

Тип

Розділ, де розглядається або використовується

БухгалтерскіеІтогі

ВідРасчета, ГруппаРасчетов

73, 78,710, 711,712   715

ВідСубконто

ГрупповойКонтекст

113,52,54

Документ

58,76,79

Журнал документів

583,765,795

ЖурналРасчетов, РасчетнийПеріод, ЗапісьЖурналаРасчетов

71,72,74,713

Запит

5113,747,7174

Календар, Свята

75

Картинка

344

Константа

17

КорректниеПроводкі

Метадані

16,  17,41,7523,9312

Операція

Періодичний

Гол 6,9312

Перерахування

113, Гл 4, 733

ПланСчетов

Регістр

СпісокЗначеній, ТабліцаЗначеній

18,33,34,7172

Довідник

Гол 5,737, 852

Рахунок

Текст

110,7173

Таблиця

19,511,7172

Форма

18, 19, 334, 342, 5331, 5332, 57, 582,

583, 584, 5101-5103, 743, 76, 79

ФС

112,746

Xbase, Ключ

746,932

Зауваження  Мова 1С не надає можливості для створення інших, крім визначених у мові, агрегатних типів даних Також не можна змінити атрибути (крім реквізитів) і методи, використовувані з обєктами агрегатних типів

Агрегатні типи, введені 1С, дозволяють будувати моделі, що відображають процеси в різних підрозділах підприємства, наприклад на складі, у відділі постачання або збуту, бухгалтерії та ін

Агрегатні типи можна розділити на дві групи

У першу віднесемо типиспеціального призначення,наприклад Документ, ЖурналРасчетов, ПланСчетов та ін Обєкти таких типів визначені в конфігурації системи, тому, відкривши її, ви зможете переглянути повний перелік типів першого групи і їх різновидів

Створюючи в програмі той чи інший обєкт цієї групи, перш необхідно упевнитися, що він присутній в конфігурації Якщо це не так, то наступний код викличе, якщо прибрати конструкцію Спроба, помилку виконання, що приводить до остаI нову обчислень:

/ / Неможливо створити обєкт СправочнікСотруднікі_2,

/ / Оскільки його в конфігурації системи немає

/ / Для подолання помилки, щоб уникнути зупинки програми,

/ / Використовуємо конструкцію Спроба спроба

сСотр_2 = СоздатьОбект (СправочнікСотруднікі_2) виняток

/ / Невдала спроба створення обєкта СправочнікСотруднікі_2

Повідомити (ОпісаніеОшібкі ()) конецПопиткі

Після додавання в конфігурацію довідника Сотруднікі_2 наведений вище код має право на існування Однак всяка зміна конфігурації повязано з наростанням проблем по її оновленню, тому ми, маючи скромний досвід з облаштування 1С, відкладемо до кращих часів розгляд подібних обєктів

У другій групі агрегатних типів даних розмістимо типизагального призначення,такі, як Текст, СпісокЗначеній, ФС та ін Обєкти цих типів називаються зовнішніми обєктами(Оскільки вони не присутні в конфігурації) Вони створюються на час виконання програм для вирішення приватних, передбачених алгоритмом завдань Функція ТіпЗначенія, зауважимо, повертає для зовнішніх обєктів число 100 Наприклад:

тЗнач = СоздатьОбект (ТабліцаЗначеній) Повідомити (ТіпЗначенія (тЗнач)) / / Надрукував 100

До одного і того ж агрегатному типу даних в 1С можуть ставитися різні обєкти, що відрізняються в деяких випадках структурою Наприклад, змінніСКД іССОТР, що зявилися в програмі в результаті виконання коду

СКД = СоздатьОбект (СправочнікКадровиеДанние) ССОТР = СоздатьОбект (СправочникСотрудники)

мають один тип Довідник, але різну структуру, яка визначається наборомїх реквізитівкомпонентів агрегатного типу, значення яких зберігаються в полях DBF-

файлів бази даних системи Обєкти одного типу будемо надалі називати

різновидами типу

Різновиди наявних в конфігурації типів можна вивести, використавши приємним з метаданими методи (розд 173)

процедура Виконати ()

//

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

ОчістітьОкноСообщеній ()

//

Виводяться ідентифікатори довідників

для ін = 1 по МетаданниеСправочнік () цикл

Повідомити (МетаданниеСправочнік (ін) Ідентифікатор) конецЦікла / / Для

/ / Маємо у вікні повідомлень:

/ / Атестація

/ / БазаДополнительныхНачислений

/ / БазаНалогов

//..

КонецПроцедури / / Виконати

Зауваження  Обєкт, наприклад Довідник, можна створити без визначення його виду, тобто так:

спр = СоздатьОбект (Довідник) / /спр обєкт типу Довідник невизначеного виду Надалі різновид встановлюється і змінюється методом Вид, наприклад

/ / Тепер спр це обєкт з різновидом типу СправочникСотрудники

спрВід (Співробітники)

Агрегатні типи даних першої групи описуються в конфігурації своїми характеристиками,в якості яких, наприклад, для довідника Співробітники використовуються такі величини:

Ідентифікатор Співробітники Синонім

Коментар Список співробітників підприємства Власник

КолічествоУровней 3 ДлінаКода 8 ДлінаНаіменованія 40

СерііКодов ВесьСправочнік ТіпКода Числовий

ОсновноеПредставленіе ВВідеНаіменованія Контролем і унікальне 1

Автонумерація 2 ГруппиВпереді 1 СпособРедактірованія ВДіалоге ЕдінаяФормаЕлемента  &quot0&quot

ОсновнаяФорма &quotСправочникСотрудникиФормаСпискаАдминистративная&quot

ОсновнаяФормаДляВибора СправочникСотрудникиФормаСпискаДляВвода ОбластьРаспространенія ВсеІнформаціонниеБази

Автореєстрація 1

Ідентифікатор обєкта задає його імя, яке, зокрема, вживається при виклику функції СоздатьОбект

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

З кожним агрегатним типом повязаніметоди процедури і функції, що дозволяють обробляти обєкти агрегатного типу

Змінювати та / або додавати наявні в 1С для агрегатних типів даних методи можна теж дозволяється видаляти, редагувати назви або додавати характеристики агрегатних типів Значення характеристик константою не є

Агрегатний тип має атрибутизмінювані величини, що є компонентами різновидів типу Так, атрибутами обєктів агрегатного типу Довідник є зокремареквізитидовідника, які посилаються на поля DBFфайлов, що зберігають використовувані довідником дані Наприклад, довідник Співробітники відображає дані, записані у файл SC2DBF і повязані з ним файли Імена (ідентифікатори) реквізитів і відповідних їм полів DBF-файлів розрізняються Реквізити, на відміну від характеристик типу, можуть видалятися, додаватися і редагуватися

Перелік характеристик і атрибутів кожного різновиду типу першої групи можна вивантажити в текстовий файл, вибравши в конфігурації пункти меню Конфігурація Опис структури метаданих Зрозуміло, що різновиди одного і того ж агрегатного типу мають один і той же набір характеристик (з різними значеннями)

Список ідентифікаторів і уявлень (описів) реквізитів, наприклад довідника Співробітники, виведе у вікно повідомлень наступний, що аналізує метадані код:

процедура Виконати () ОчістітьОкноСообщеній ()

відСпр = Співробітники; / / Вид довідника Повідомити (Реквізити довідника + відСпр +

” (Їх ідентифікатори та подання) )

для ін = 1 по МетаданниеСправочнік (відСпр) Реквізит () цикл

іден = МетаданныеСправочник(видСпр)Реквизит(ин)Идентификатор предст = МетаданныеСправочник(видСпр)Реквизит(ин)Представление() Повідомити (іден + – + предст)

конецЦікла / / Результат наведено після коду процедури

КонецПроцедури / / Виконати

Результат:

Реквізити довідника Співробітники (їх ідентифікатори та подання)

Оклад Оклад Тариф Тариф Розряд Розряд

РазрядРабочіх Розряд робочих ПроцентЕжемесПреміі% ежемес премії Ставка Ставка

Категорія Категорія ГрафікРаботи Графік роботи МестоРаботи Місце роботи

Посада Посада Підрозділ Підрозділ формаТруда Форма оплати праці ТіпСотрудніка Тип співробітника профспілками Членство в профспілці Аванс Аванс

ОплачіватьПітаніе ОплачіватьПітаніе ОплачіватьПроезд ОплачіватьПроезд КолічествоАкцій Кількість акцій

ДатаСправкі ДатаСправкі СальдоПН Сальдо по под податку ВозвратПН ВозвратПН ДатьЛьготи ДатьЛьготи ДатаРожденія ДатаРожденія

СевернНадбавка% північній надбавки

ДатаСевернСтажа ДатаСевернСтажа ДатаСтажаДляВислугіЛет ДатаСтажаДляВислугіЛет ПріказОпріеме ПріказОпріеме

ПріказОбУвольненіі ПріказОбУвольненіі • СправкаНаНачРасч СправкаНаНачРасч СправкаСПрМестаР СправкаСПрМестаР

РК Районний коефіцієнт Військовослужбовець Військовослужбовець ХО-ХО

СальдоПН_Фед Сальдо по под податку в ФЕД бюдж

БезВзнСРаботод Стягувати з роботодавця внески до фондів БезВзнССотр Стягувати з співр внески до фондів КоефОплати Коеф-т оплати

БезВзносовВПФР БезВзносовВПФР БезВзносовВФСС БезВзносовВФСС БезВзносовВФОМС БезВзносовВФОМС строковиків строковиків

ПодоходнийПосчітан ПодоходнийПосчітан

Зауваження:

1 Найменування та Код є заданими за замовчуванням, не підлягають перейменуванню атрибутами (реквізитами) будь-якого довідника 1С Атрибут Найменування видаляється, якщо його довжина задається рівною нулю Атрибут Код видаленню не підлягає

2 Подання реквізиту несе ту ж навантаження, що і синонім константи (розд 171)

3 Значення обєктів типу Довідник, Документ та Перерахування можна отримати, викликавши вбудовану функцію ВвестіЗначеніе, розглянуту в розд 25

4 Ідентифікатор реквізиту, наприклад ідентифікатор Посада реквізиту довідника Співробітники, використовується для доступу до значення реквізиту Для цього може бути придатний наступний код (на прикладі різновиди типу СправочникСотрудники):

ССОТР = СоздатьОбект (Довідник Співробітники)

/ / Встановлюємо дату, на яку вибираються періодичні реквізити довідника сСотрІспользоватьДату (РабочаяДата ())

/ / Шукаємо співробітника, прізвище якого починається з підрядка стр

стр = Га;

/ / Значення другого параметра нуль, отже,

/ / Пошук здійснюємо у всьому довіднику прапор = сСотрНайтіПоНаіменованію (стр, 0)

якщо прапор = 1 тоді / / Сотрудник знайдений

/ / Найменування атрибут довідника Співробітники, Посада його реквізит

Повідомити (сСотрНаіменованіе) / / Висновок прізвища знайденого співробітника Повідомити (сСотрДолжность) / / Посада співробітника

інакше

Попередження (Співробітник, прізвище якого починається з букв + стр + »не знайдений”)

КонецЕсли

Вивчення агрегатних типів ми почнемо зі списку і таблиці значень, обєкти яких не фіксуються в конфігурації системи, але зате часто застосовуються в пользо вательскій програмах Однак перш знову повернемося до поняття порожнє значення, поширивши його на всі типи даних 1С

Мінлива після її оголошення оператором Перем не визначена, тобто має пусте значення, причому невизначеного типу Наприклад:

перем а

/ / Надрукував 0, що відповідає невизначеному типу даних Повідомити (ТіпЗначенія (а))

Однак невизначеною змінної, вживши вбудовану функцію ПолучітьПустоеЗначеніе, можна привласнити пусте значення деяких наявних в 1С типів даних, таких, як

Число Рядок Дата

Довідник

Документ Рахунок ВідСубконто ВідРасчета Календар Наприклад:

/ / Після оголошення а невизначена змінна невизначеного типу перем а

а = ПолучітьПустоеЗначеніе (Дата) Повідомити (ТіпЗначеніяСтр (а)) / / Надрукував Дата

а = ПолучітьПустоеЗначеніе (ВідСубконто) Повідомити (ТіпЗначеніяСтр (а)) / / Надрукував ВідСубконто

Інші типи даних порожніх значень не мають Наприклад: а = ПолучітьПустоеЗначеніе (КорректниеПроводкі)

/ / Надрукував 0, що відповідає невизначеному типу даних

Повідомити (ТіпЗначенія (а))

Також порожнє значення заданого типу можна отримати, передавши функції ПолучітьПустоеЗначеніе не імя типу, а імя різновиди типу, наприклад

а = ПолучитьПустоеЗначение(&quotВидРасчетаВыплатаЧерезБанк&quot) Повідомити (ТіпЗначеніяСтр (а)) / / Надрукував ВідРасчета

При цьому функція ПолучітьПустоеЗначеніе поверне вірне значення агрегатного типу, навіть якщо її аргумент задає неіснуючу різновид типу Наприклад:

а = ПолучитьПустоеЗначение(&quotСправочникНетТакогоСправочника&quot) Повідомити (ТіпЗначеніяСтр (а)) / / Надрукував Довідник

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

Повідомити (ПустоеЗначеніе (“)) / / Надрукував 1

Рівне нулю число порожнім не є, наприклад Повідомити (ПустоеЗначеніе (0)) / / Надрукував 0

Джерело: Бартеньев О В 1С: Підприємство: програмування для всіх Базові обєкти та розрахунки на одній дискеті М: Діалог-МІФІ, 2005 464 с

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*