Довідковий матеріал

Особливості поведінки системи під час запису об'єкта Вид розрахунку

У цьому розділі розглядаються особливості поведінки системи під час запису виду розрахунку, тобто під час виконання методу Записать() об'єкта ПланВидовРасчетаОбъект або запису з форми цього об'єкта. Будуть розглянуті перевірки, які при цьому виконує система, і повідомлення про помилки, які внаслідок таких перевірок можна зустріти.Загальні перевірки виду розрахунку. Перевірки визначених табличних частин. Особливості запису визначених видів розрахунку під час реструктуризації конфігурації

Особливості поведінки системи під час запису об'єкта Вид розрахунку

Загальні перевірки виду розрахунку

Перевірки визначених табличних частин

Особливості запису визначених видів розрахунку під час реструктуризації конфігурації

 

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

Загальні перевірки виду розрахунку

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

Під час запису визначеного виду розрахунку перевіряється значення властивостей ПометкаУдаления та ПериодДействияБазовый. Установити ці властивості для визначеного об'єкта можна лише з мови. Інтерактивно, під час роботи з формою об'єкта, ці властивості не змінюються. Якщо для визначеного об'єкта встановлено властивість ПометкаУдаления, видається повідомлення про помилку "Пометка на удаление предопределенного вида расчета". Якщо для властивості ПериодДействияБазовый змінено значення, установлене під час конфігурування, видається повідомлення "Изменены свойства предопределенного вида расчета".

Перевірки визначених табличних частин

Під час запису об'єкта виконуються перевірки всіх визначених табличних частин (списки витіснювальних, базових і провідних видів розрахунку). Для всіх визначених табличних частин перевіряється унікальність рядків і модифікованість визначених рядків.

1) У визначених табличних частинах не повинні бути наявні рядки з повторюваним значенням у колонці ВидРасчета (видається, наприклад, повідомлення "Дублирование базовых видов расчета").

2) У визначених табличних частинах не допускається модифікація тих рядків, які задані під час конфігурування (див. рисунок)

При цьому не допускається видалення визначених рядків і введення нових рядків з ознакою Предопределенный. Таку модифікацію табличних частин можна виконати, наприклад, з мови. Цю обставину важливо пам'ятати під час роботи з такими методами табличних частин, як Вставить(), Удалить(), Очистить(), Сдвинуть(), Загрузить(), ЗагрузитьКолонку() тощо. У разі будь-якої модифікації визначених рядків табличних частин під час запису об'єкта видається повідомлення "Недопустимая модификация объекта".

Перевірки табличної частини витіснювальних видів розрахунку

Результатом перевірки витіснювальних видів розрахунку може бути повідомлення "Вытесняющий вид расчета вытесняется текущим!". Таке повідомлення виникає в результаті перевірки табличних частин із провідними видами розрахунку для всієї сукупності видів розрахунку одного плану видів розрахунку. Сенс перевірки полягає в тому, щоб не допустити такого налаштування, коли у списку витіснювальних видів розрахунку присутній такий, який своєю чергою витісняється поточним (записуваним) видом розрахунку. Ця перевірка виконується "рекурсивно", тобто перевіряється ланцюжок витіснень довільної довжини. Не допускається, наприклад, ситуація, зображена на схемі.

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

Під час запису також виконується перевірка повноти списку витіснювальних видів розрахунку (повідомлення про помилку "Неполный список вытесняющих видов расчета"). Система контролює, що якщо для записуваного об'єкта до списку витіснювальних видів розрахунку включено вид розрахунку А і він своєю чергою витісняється видом розрахунку Б, то вид розрахунку Б також має бути присутній у списку витіснення записуваного об'єкта. Наприклад, не допускається наведена нижче ситуація.

Система в наведеному випадку "вимагає" включити види розрахунку Б1 і Б2 до списку витіснення для виду розрахунку А, оскільки до цього списку включено вид розрахунку А2.

Перевірки табличної частини провідних видів розрахунку

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

Особливості запису визначених видів розрахунку під час реструктуризації конфігурації

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

У разі отримання повідомлень про такі помилки реструктуризації збереження конфігурації інформаційної бази не виконується. Складність ситуації також у тому, що аналіз лише визначених об'єктів не дає повної картини. Під час редагування планів видів розрахунку в режимі 1С:Підприємства можуть бути внесені такі зміни, які суперечать змінам, внесеним під час конфігурування. До цього може призвести, наприклад, розширення списку провідних видів розрахунку, за якого до списку провідних вводиться посилання на визначений вид розрахунку, якого там раніше не було. Цю ситуацію проілюстровано нижче.

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

У тому разі, якщо внесені до конфігурації зміни необхідно безумовно зберегти (наприклад, під час оновлення конфігурації, що перебуває на підтримці), потрібно буде перейти в режим 1С:Підприємство і виконати необхідну модифікацію складу рядків визначених табличних частин. Крайнім випадком є видалення всіх "користувацьких" рядків табличних частин витіснювальних і провідних видів розрахунку у визначених об'єктах.


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

Текст повідомлення Опис
Пометка на удаление предопределенного вида расчета Виникає під час спроби запису визначеного об'єкта, для якого встановлено властивість ПометкаУдаления. Установити цю властивість для визначеного об'єкта можна лише з мови. Інтерактивно, під час роботи з формою об'єкта, цю властивість змінити не можна.
Изменены свойства предопределенного вида расчета Виникає в тому разі, якщо для визначеного об'єкта з мови змінено властивість ПериодДействияБазовый. Змінити цю властивість для визначеного об'єкта можна лише з мови.
Недопустимая модификация объекта Виникає в тому разі, якщо у визначеного об'єкта тим чи іншим чином модифіковано визначені рядки табличних частин.
Дублирование базовых видов расчета У табличній частині базових видів розрахунку виявлено рядки з повторюваним значенням у колонці ВидРасчета.
Дублирование вытесняющих видов расчета У табличній частині витіснювальних видів розрахунку виявлено рядки з повторюваним значенням у колонці ВидРасчета.
Дублирование ведущих видов расчета У табличній частині провідних видів розрахунку виявлено рядки з повторюваним значенням у колонці ВидРасчета.
Вытесняющий вид расчета вытесняется текущим! У табличних частинах видів розрахунку "зациклено" витіснювальні види розрахунку.
Неполный список вытесняющих видов расчета Потрібно доповнити табличну частину видами розрахунку, які своєю чергою є витіснювальними для витіснювальних видів розрахунку записуваного об'єкта.
Неполный список ведущих видов расчета Потрібно доповнити табличну частину видами розрахунку, які своєю чергою є провідними для провідних видів розрахунку записуваного об'єкта.
Записатися телефоном