Перенос данных из основной конфигурации в расширение
Разработка - Инструментарий разработчика
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Преамбула
В последних версиях платформы возможности расширения конфигурации предоставляют все больше возможностей, например использование регистров накопления в расширениях, что позволяет использовать расширения для все большего диапазона прикладных задач по доработке функционала типовых конфигураций.
Использование расширений позволяет снизить затраты времени на обновление, за счет наличия только конфигурации поставщика и отсутствия основной конфигурации.
Зачастую появляется необходимость переноса уже написанных доработок в расширение. И, в этом случае, возникает задача по переносу данных, так как фактически объекты доработок основной конфигурации и объекты расширения - это разные объекты. Можно в этом случае воспользоваться конвертацией данных, тем более, что сама конвертация не будет сложной, так как структура объектов основной конфигурации и расширения зачастую повторяется. Однако, такую конвертацию придется писать для каждого случая переноса доработок в расширение.
Предлагаемая обработка осуществляет перенос данных из объектов основной конфигурации в объекты расширения. Обработка универсальная и позволяет выгружать данные по объектам конфигурации, имеет интерфейс, отображающий объекты в виде дерева.
Как это работает
Обработка позволяет по выбранному расширению автоматически заполнить дерево метаданных.

Далее необходимо каждому объекту метаданных расширения указать соответствующий ему объект основной конфигурации, при этом соответствие реквизитов объектов заполнится автоматически по наименованию реквизита. В случае различия в наименовании можно сопоставить реквизиты вручную.


Перенос осуществляется путем создания объектов и записи наборов данных регистров в расширении. Причем, ссылочные данные переносятся с учетом конвертации данных ссылочного типа в объект расширения.
Резюме
Обработка позволяет без лишних затрат времени и написания правил конвертации перенести данных из объектов основной конфигурации в расширение.
Тестировалось на платформе 8.3.17.1549. Однако будет работать и на более меньших релизах. Основное требование: режим совместимости конфигурации, для которой может применяться обработка, должен быть не ниже 8.3.14.
Обновления
1.0.11 Добавлена возможность переноса данных в расширяемые реквизиты объектов конфигурации
1.0.8. Список изменений:
- Исправлена ошибка переноса реквизитов составного типа.
- Добавлена возможность сохранение и восстановления данных формы в/из файл(а).
1.0.7. Добавлена сортировка в список выбора объектов конфигурации.
1.0.6. Список исправлений:
- Добавлено поле "Тип (Объект расширения)" для отображения типов реквизитов объектов расширения. По двойному щелчку на эту ячейку можно перейти к строке объекта расширения.
- Добавлено диалоговое окно с подтверждением действия перед переносом данных.
- Добавлена возможность сопоставления объектов по произвольному алгоритму.
1.0.5. Исправлены возможные ошибки при подборе из списка в поле "ОбъектКонфигурации". Исправлены ошибки автоподбора. Добавлен поиск по дереву.
1.0.4. Список исправлений:
- Исправлена ошибка переноса данных подчиненных регистратору регистров.
- Добавлена возможность сохранения параметров табличной части сопоставления.
- Добавлена закладка с протоколом переноса данных.
- Добавлен контроль сопоставления объектов метаданных помеченных для переноса данных непосредственно перед самим переносом.
- В табличной части соответствия объектов метаданных добавлено поле для пометки определенных объектов расширения для переноса данных.
- В табличной части соответствия объектов метаданных добавлено поле "Сопоставлено" для отображения состояния сопоставления объектов метаданных.
- В табличной части соответствия объектов метаданных устранена возможность ручного редактирования текста поля "Объект расширения".
- В табличной части соответствия объектов метаданных из списка автоподбора в поле "Объект конфигурации" исключены объекты расширения, для которого выполняется сопоставление.
1.0.3. Добавлен прогресс бар. Исправлены ошибки переноса перечислений.
1.0.2. Добавлено сопоставление перечислений. Исправлены ошибки переноса справочников, регистров сведений, табличных частей.
1.0.1. Удалены отладочные комментарии при записи объектов расширения
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.160.16
- Управление торговлей, редакция 11, релизы 11.5.19.55
- 1С:Комплексная автоматизация 2, релизы 2.5.19.55
- Зарплата и управление персоналом, редакция 3.1, релизы 3.1.30.57
- Управление нашей фирмой, редакция 3.0, релизы 3.0.9.150
- 1С:ERP Управление предприятием 2, релизы 2.5.19.55
Вступайте в нашу телеграмм-группу Инфостарт
См. также
Разработка Инструментарий разработчика Групповая разработка (Git, хранилище) Разработчик Платные (руб)
Практический курс по работе с AI-агентами для разработчиков 1С уровня middle и senior, а также тимлидов команд: от постановки задач и передачи контекста до создания расширений, интеграций, MCP-инструментов, тестов и проверки готового решения.
50000 руб.
10.09.2026 14318 123 0
Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Разработчик Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)
Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.
24900 руб.
20.08.2024 83745 432 171
Инструментарий разработчика Роли и права Запросы СКД Разработчик Руководитель проекта 1С:Предприятие 8 Платные (руб)
Инструменты для разработчиков 1С 8.3 и 8.5: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.
16500 руб.
02.09.2020 286384 1611 423
Пакетная печать Печатные формы Инструментарий разработчика Разработчик 1С:Предприятие 8 Платные (руб)
Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26
22570 руб.
06.10.2023 44448 123 54
Инструментарий разработчика Нейросети Платные (руб)
Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.
15250 руб.
25.08.2025 77465 147 41
Инструменты администратора БД Инструментарий разработчика Роли и права Разработчик 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)
Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.
17000 руб.
10.11.2023 28865 104 46
Инструментарий разработчика Инструменты администратора БД Системный администратор Разработчик Аналитик 1С:Предприятие 8 1С 8.3 1С 8.5 1C:ERP 1С:УТ 1С:ДО 1С:Бухгалтерия 3.0 1С:ERP. Управление холдингом 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Россия Платные (руб)
Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.
5000 руб.
14.01.2013 217534 1256 0
Задачи пользователя Инструментарий разработчика Корректировка данных Закрытие периода Разработчик Аналитик Бухгалтер Пользователь Руководитель проекта Стажер 1С 8.3 1С:ERP Управление предприятием 2 1С:Управление нашей фирмой 3.0 Управленческий учет Платные (руб)
Обработка предназначена для поиска, анализа и исправления отрицательных остатков во всех регистрах накопления информационной базы 1С.
6100 руб.
27.02.2026 3298 19 3
Так функционал переносит или данные? Из описания следует, что данные.
Данная же обработка сделана была для внутреннего применения для наших нужд. Расширение разрабатывалось в той же базе, что и основная конфигурация, объекты расширения не полностью идентичны, так как вносились усовершенствования с структуру метаданных.
КД в этом случае тоже подошла бы как одноразовый вариант, но, если есть достаточно большое количество разработок, требующих перевода на расширение, то на каждый такой случай писать правила КД, мне лично кажется не оптимально.
Переносим изменения из конфигурации в расширение копи-пастой, у вас получатся полностью идентичные конфигурации. Да, должно быть два открытых конфигуратора - один с измененной конфигурацией, другой с исходной+расширение. Переносим данные и дальше меняем объекты как душе угодно.
Это гораздо проще и быстрее обработок и КД.
У меня вопрос: а есть ли у Вас методика по переносу функционала из конфигурации в расширение? Тоже столкнулись с такой необходимостью. Речь идет о переносе всех добавленных объектов (какие возможно перенести в расширение) - справочники, документы, регистры и т.д. Всё это имеет свои формы и т.д.
Именно методики переноса функционала на настоящий момент нет. Однако что приходилось делать, так это менять тексты модулей по определенному алгоритму скриптом на питоне. В принципе cfe - это zip-архив с файлами xml, и, теоретически можно сделать выгрузку конфигурации в файлы, распаковать cfe в отдельный каталог и как-то перенести туда все добавленные объекты.
Или же нужно смотреть в сторону EDT и написание плагинов, но как-то EDT пока-что мне кажется сыроват, может быть я и ошибаюсь.
Спасибо за идею, возможно и поработаем в этом направлении.
Не, такой фокус не пройдет. По крайней мере пока соответствующие объекты в Конфигурации не удалить. Потому что все идентификаторы типов будут дублироваться и в Расширении и в Конфе. Если бы работал, можно было бы просто выгрузить конфу в файлы и нужные файлы загрузить в расширение, пакетным режимом с ключем /LoadConfigFromFiles.
Насчет кода в обработке еще ошибки:
Вот в таких конструкциях далеко не всегда метод Метаданные() срабатывает, например если реквизит имеет примитивный тип (скажем "булево")
СправочникРасш[РеквизитИЛИТЧ.ОбъектРасширения].Метаданные().ИмяИ запись объектов, думаю стоит раскомментировать, пока не посыпались отзывы что не работает.
//СправочникРасш.Записать();
//ДокументРасш.Записать();
и т.д.А из удобств не помешало бы сохранение настроек формы и выбор какие объекты переносить, а какие - нет, крыжиками.
Запись тоже раскомментируем, это в целях отладки видимо осталось.
Тут можно попробовать перед загрузкой сгенерировать идентификаторы
Здесь мне пришлось исправлять именно потому что применялось.
(14)
Мне такая мысль первым делом тоже пришла в голову. Но дело в том, что эти идентификаторы ведь не в одном месте фигурируют. Им нужно искать соответствия в других файлах и там такие же подставлять. И ведь речь идет не только об идентификаторе самого объекта. Их там целая куча - идентификаторы типов, форм, каждого реквизита.
Catalogs\Номенклатура.xml
Вот, что внутри:
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.10">
<Catalog uuid="fc59acc3-f1f7-4e3f-96da-e580f2c5a88f">
<InternalInfo>
Нас интересует элемент
<Catalog uuid="fc59acc3-f1f7-4e3f-96da-e580f2c5a88f">Конечно придется писать скрипт для этого уже вне средств 1С
Сейчас вот как раз встала задача вытащить всё в расширение. Слишком трудно стало поддерживать несколько разных конфигураций с внедренным своим блоком.
По сути расширение - это обычные таблицы реляционной БД, файловой, MS SQL, Postgres, в зависимости от того файловая или серверная база. Если сказать упрощенно, то при отключении расширения платформа просто не использует эти таблицы в работе, и, как только работа расширения будет восстановлена, таблицы снова будут использоваться со всеми данными, которые были в них до отключения.
Можно самому в этом убедиться, создав расширение, добавив туда справочник. Запустить пользовательский режим, добавить в этот справочник несколько элементов и отключить расширение (сняв флаг "Активность"). Перезапустить 1С, этот справочник "пропадет". Затем включить расширение снова (установив флаг "Активность"), перезапустить 1С. Этот справочник снова появится с теми элементами, которые в нем были до отключения расширения.
А вот есть удалить в конфигураторе и сохранить конфигурацию БД, то таблицы будут удалены и данные потеряны. Но это ведь осознанное действие, а не форс-мажор и отключение расширения по каким-либо причинам (например изменился режим совместимости основной конфигурации)
Могу привести 2 примера:
1. Обновление типовой КА 2.4 не смогло примениться при наличии расширения. Пришлось физически удалять (отключение не помогало), чтобы нормально отработали типовые обработчики (первый раз подобная проблема произошла 1.5 года назад.
2. При выгрузке из тестовой базы - объединение в рабочей отрабатывает не корректно, помогает только перезаливка расширения.
Я веду к тому, что если данные хранятся в расширении, и возникнет необходимость удалить расширение и перезалить, то данные потеряются т.е. для себя сделал вывод не хранить данные в расширениях. В любом случае хранение данных в боевой базе предополагает добавление новых объектов в конфигуратор, что не является критичным при обновлении базы.
2. Зачем делать объединение из тестовой базы, если можно просто загрузить расширение из файла *.cfe просто в пользовательском режиме, при этом потери данных не будет.
Использование расширений вместо изменения конфигурации дает возможность не использовать основную конфигурацию вообще, при доработке функционала типовых конфигураций. Это как минимум увеличивает скорость обновления раза в 1,5 или даже больше, так как пропускается этап сравнения и объединения. Конечно может понадобится последующая адаптация расширений, но это уже другой вопрос, тут все зависит от того как сделано расширение, сколько и как было заимствовано объектов конфигурации и т.д.
Нет возможности переносить данные частями, по конкретным объектам метаданных, добавил галочку "выгружатьобъект". Полезно, когда объемы данных большие и выгружаешь не все сразу, что бы можно было контролить. Например нужно выгрузить только регистр сведений, для этого нужно заполнить соответствие документам регистраторам, а документы регистраторы уже были ранее выгружены, но они все равно прогружаются еще раз, потмоу что соответствие выбрано. В таком случае галочка "выгружатьобъект" избаляет от повторной выгрузки тех объектов, которые были выгружены ранее.
И проблема есть, с регистрами сведений(подчиненными регистраторам) точно(регистры накоплений не переносил, но там возможно то же самое). Выборка документов в запросе происходит без группировки по регитсратору. В итоге вместо того, что бы перенести документ 1 раз, он переносится столько раз, сколько записей в регистре по этому регистратору
Благодарим Вас за комментарий. Возможность переноса данных определенных объектов уже включена в разработку и будет обеспечена в ближайших релизах.
Указанная Вами проблема с регистрами, которые подчинены регистраторам, уже учтена и будет исправлена в следующем релизе.
В целом все отлично, сэкономил свое время и уже сутки сижу и дописываю обработку под свои нужды.
Из косяков:
1. не переносит и не обновляет стандартные реквизиты.
2. не переносит группу и владельца
3. не создает элемент справочника группа.
4. ломается при попытках обработать табличные части справочников и документов.
В остальном, все вопросы ключевые решила.
Если автору будет интрересно, то могу прислать доработанну обработку, для улучшения своего кода.
В целом все норм! Спасибо.
Метод объекта не обнаружен (Метаданные)
{ВнешняяОбработка.УниверсальнаяОбработкаПереносаДанных.Форма.Форма.Форма(689)}: Если ОбъектРасш.Метаданные().Реквизиты[Реквизит.ОбъектРасширения].Тип.СодержитТип(ТипЗнч(ОбъектКонф[Реквизит.ОбъектКонфигурации])) Тогда
{ВнешняяОбработка.УниверсальнаяОбработкаПереносаДанных.Форма.Форма.Форма(665)}: ПеренестиОтдельныйРеквизит(ЗаписьРегистрРасш, ВыборкаРегистрКонф, ДанныеРегистра);
{ВнешняяОбработка.УниверсальнаяОбработкаПереносаДанных.Форма.Форма.Форма(634)}: ЗаполнитьИЗаписатьЗаписиРегистраРасширения(ТекущийОбъект, РодительОбъектаМетаданныхМенеджер, ВыборкаРегистрКонф)
{ВнешняяОбработка.УниверсальнаяОбработкаПереносаДанных.Форма.Форма.Форма(462)}: ПеренестиДанныеНезависимогоРегистраКонфигурации(ТекущийОбъект, РодительОбъектаМетаданныхМенеджер);
{ВнешняяОбработка.УниверсальнаяОбработкаПереносаДанных.Форма.Форма.Форма(1402)}: ПеренестиДанныеОбъектовКонфигурации(ИдентификаторКорневогоЭлементаДерева, ИдентификаторТекущегоОбъекта);
{mngcore/MessageBox.clf(4)}: Close(-100);
Создаю в расширении такой же регистр с чуть измененным названием. Реквизиты все одинаковые. Справочники и документы добавлены в расширение. При попытке переноса ошибки:
Ошибка записи в регистр ДопРасходыНаРеализацию_новый по причине: для документа РасходнаяНакладная не указано соответствие документу расширения!
т.е. ссылка на документ основной конфигурации
23.08.2021 21:41:58: Ошибка записи в регистр ДопРасходыНаРеализацию_новый по причине: для документа РасходнаяНакладная не указано соответствие документу расширения!
23.08.2021 21:41:58: Ошибка записи в регистр ДопРасходыНаРеализацию_новый по причине: для документа ТранспортныеРасходы не указано соответствие документу расширения!
Я создаю в расширении точную копию регистра (за исключением названия, потому как платформа не разрешит дубли). И мне необходимо все записи из старого регистра перенести в новый.
Далее, я просто удалю старый регистр и подправлю в коде процесс записи жвижений
последний регистр остался, все никак не могу перенести(
ИначеЕсли ОбъектМетаданных <> Неопределено Тогда
УИДСсылкиРеквизитаОбъектаКонфигурации = ОбъектКонф[Реквизит.ОбъектКонфигурации].Ссылка.УникальныйИдентификатор();
СсылкаРеквизитаНаОбъектРасширенияСУИДОбъектаКонфигурации =
ОбъектМетаданных[НайденныйОбъект.ОбъектРасширения].ПолучитьСсылку(УИДСсылкиРеквизитаОбъектаКонфигурации);
ОбъектРасш[Реквизит.ОбъектРасширения] = СсылкаРеквизитаНаОбъектРасширенияСУИДОбъектаКонфигурации;
КонецЕсли; ПоказатьРеквизит.ОбъектКонфигурации = "Документ". Хотя никаких документов нет в расширении.
1. процедура ПеренестиОтдельныйРеквизит
// {{Потапов 20.09.2022 тут для составных типов происходит просто в ЛОЖЬ:
//ТипыСовпадают = ТипЗнч(ОбъектРасш[Реквизит.ОбъектРасширения]) = ТипЗнч(ОбъектКонф[Реквизит.ОбъектКонфигурации]);
ТипыСовпадают = Метаданные.НайтиПоТипу(ТипЗнч(ОбъектРасш)).Реквизиты[Реквизит.ОбъектРасширения].Тип = Метаданные.НайтиПоТипу(ТипЗнч(ОбъектКонф)).Реквизиты[Реквизит.ОбъектКонфигурации].Тип
// Потапов 20.09.2022 тут для составных типов происходит просто в ЛОЖЬ}}2. Процедура ЗаполнитьИЗаписатьЗаписиРегистраРасширения
// {{Потапов 20.09.2022 : Для ригистров накопления только оборотных вылетает программная ошибка
//Если РодительОбъектаМетаданныхМенеджер = РегистрыНакопления Тогда
Если РодительОбъектаМетаданныхМенеджер = РегистрыНакопления и Метаданные.РегистрыНакопления[ТекущийОбъект.ОбъектКонфигурации].ВидРегистра <> Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Обороты Тогда
// Потапов 20.09.2022 }}
ЗаписьРегистрРасш.ВидДвижения = ВыборкаРегистрКонф.ВидДвижения;
КонецЕсли;
Уточните, пожалуйста, что в расширение не добавляется?
Обработка работает в рамках одной базы? Если у меня есть база1 со справочниками из основной конфигурации и база2 с такими же справочниками, но в расширении, эта обработка поможет перенести данные?
У меня есть реквизит в основной. Я добавляю его в расширение, Ctrl+C Ctrl+V, обработка не видит ничего. Видит только добавленные справочники в расширение. Как вообще это работает?
Обработка изначально задумывалась для переноса данных из доработок конфигурации, реализация которых перенесена из дерева конфигурации в расширение. Расширяемые реквизиты типовых объектов не поддерживаются.
Управление торговлей, редакция 11 (11.5.19.74)
Расширение есть документы типовые и доработанные есть , ничего не выбирает ,даже не предлагает выбирать ,файл прикрепила .Объясните как работает ,Спасибо.
Я так понимаю обработка перезаписывает вообще все документы, не важно заполнен в них реквизит или нет?
Например в документе добавлен один реквизит и он заполнен только в одном документе из 1000 документов.
Подскжите, обработка проверяет заполенеие реквизита, что бы принять решение переносить его или нет?
При переносе реквизита табличной части, реквизит перенесся, но затерлись все другие реквизиты ТЧ, при чем во всех созданных документах с этой табличной частью. Подскажите, я что-то делаю не так или данная обработка не предназначена к переносу реквизитов табличных частей?
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 1304175
Создание 05.10.20 16:30
Обновление 19.03.25 15:05
Просмотры 36372
Загрузки 251
Рейтинг
70
Комментарии 123
Код открыт Да
Рубрики Инструментарий разработчика
Кому Разработчик
Тип файла Внешняя обработка (ert,epf)
Платформа 1С 8.3
Конфигурация Универсальные
Операционная система Не имеет значения
Страна Россия
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)