Всем привет. Некоторое время назад пришлось разбираться в ФИАСе, хочу поделиться своими наработками. Эта статья расскажет о том как базу развернуть, как её обновлять и как ей пользоваться.
О внутреннем устройстве таблиц ФИАС, будет другая статья.
К счастью мне не пришлось во всём разбираться самому, потому что на Хабре есть хорошая серия статей о ФИАС (Адреса ФИАС в среде PostgreSQL), и у этих статей не менее ценные коменты. На их основе у меня получилось написать скрипты и написать Докер образ, всё опубликовано на ГитХабе.
Как работать с образом описано в README.md, здесь я распишу всё тоже самое но более подробно.
Требования
Для работы на базе Linux нужны:
Для работы на базе Windows нужны:
Не менее 200 гигабайт постоянной памяти: 8 + 90 Гигабайт для бэкапа базы ФИАС, и 80 гигабайт на собственно базу (без Земельных участков и без Документов).
200 Гигабайт это минимум, конечно надо иметь в запасе хотя бы 50 Гигабайт, потому что апдейты в разархивированном виде весят по 4 Гигабайта, и конечно надо следить за свободным местом.
Нет адреса в ФИАС. Что делать? Подача обращения на внесение в ФИАС. ГлавГеоСтрой
Как установить
Что бы развернуть базу надо иметь бэкап этой базы. Идём на сайт ФИАСа и выкачиваем полную базу в формате DBF (8 Гб).
Выбираем директорию для установки базы (в том числе набора скриптов для обслуживания базы), в этой директории разворачиваем гит репозиторий:
git clone https://github.com/SbWereWolf/fias.git
Теперь надо извлечь файлы из архива в директорию ./fias/fs/home/fias/base/ , где ./ — это директория в которой мы развернули репозиторий (родительская для fias):
# извлечь файлы из архива unzip /opt/fias_dbf.zip -d ./fias/fs/home/fias/base/ # удаляем «лишние» файлы find ./fias/fs/home/fias/base/ -type f -regextype posix-awk -regex «.*/(STEAD|NORDOC)([0-9]|[0-9]).DBF$» -exec rm <> ;
Для моего проекта нужны только Здания (HOUSE) и Помещения (ROOM), земельные участки (STEAD) и документы (NORDOC), мне не нужны, поэтому я их удаляю. Если вам в вашем проекте не нужны Помещения, то можно добавить их в маску поиска файлов для удаления: (STEAD|NORDOC|ROOM)
Переходим в директорию приложения
cd fias # Делаем скрипт install.sh исполняемым и выполняем установку chmod +x ./install.sh ./install.sh
Все скрипты будут сделаны исполняемыми, будет создан docker-compose.yml
Открываем docker-compose.yml , изменяем параметры контейнера на свой вкус (можно поменять порт, можно установить пароль для пользователя postgres, можно сделать мапинг скриптов на директорию хостовой машины, что бы менять эти скрипты по ходу дела на свой вкус и тому подобное)
Образ разработан на основе официального, поэтому доступные опции пожалуйста смотрите в документации по ссылке.
Теперь всё готово к сборке образа и запуска контейнера:
# Выполняем сборку и запуск контейнера bash ./run.sh # Разворачиваем базу bash ./deploy.sh
База установлена. Выполнение процесса журналируется в ./docker/run.log и ./docker/deploy.log
Видеоинструкция по работе в Федеральной информационной адресной системе (ФИАС)
Скрипты написаны с условием логина пользователя postgres без пароля, если вы установите пароль, то надо переписать все места запуска psql , убрать ключ -w добавить ключ с указанием пароля.
База развёрнута, можно пользоваться.
Для экономии места можно удалить резервную копию базы: rm -rf ./fs/home/fias/base/* + rm /opt/fias_dbf.zip , экономия от 90+ Гб.
Как пользоваться
Можно пользоваться прямо в контейнере, подключаемся к терминалу:
cd /home/fias/ docker-compose -f ./docker/docker-compose.yml exec fias psql -U postgres -d fias -w
Конечно можно подключиться любым клиентом (любой IDE, любым другим приложением):
Открываем на редактирование ./docker/docker-compose.yml , прописываем внешний порт и пароль пользователя postgres (переменная окружения контейнера POSTGRES_PASSWORD ).
В приложении прописываем указанные ранее порт и пароль, пользователь postgres , сервер или 0.0.0.0 или localhost .
Запускаем контейнер: bash ./run.sh
Пользуемся и получаем удовольствие.
Как обновить
Выкачиваем со странички обновлений, архив с обновлениями в формате DBF.
Перед извлечением файлов из архива, чистим директорию обновлений в приложении: rm -rf ./fs/home/fias/update/*
Переходим в директорию репозитория (допустим репозиторий мы развернули в директории /home/ ): cd /home/fias/
Разворачиваем обновления в директорию репозитория: unzip /opt/fias_delta_dbf.zip -d ./fs/home/fias/update/
Удаляем «лишние» обновления:
find ./fs/home/fias/update/ -type f -regextype posix-awk -regex «.*/(STEAD|NORDOC)([0-9]|[0-9]).DBF$» -exec rm <> ;
Запускаем контейнер: bash ./run.sh
Выполняем обновление: bash ./update.sh
Процесс обновления журналируется в файл ./docker/update.log
Производительность
На Pentium Gold + HDD под WSL база работает очень не спеша, разворачивание занимает до 4-х часов, большое обновление занимает до 8 часов.
Разрабатывать в таких условиях конечно не продуктивно, и я попросил у админов машинку пошустрее, мне выделили:
10cpu | 18ram | 400hdd | nfs 10 раид из 16 sas дисков
На такой конфигурации затраты времени терпимые.
Разворачивание базы 1 час, обновление на 40 мегабайт (в архиве) раскатывается за полчаса, обновление на 400 мегабайт (в архиве) раскатывается около часа.
Выполнение построения полного адреса по uuid Здания занимает до 4-х секунд, но надо иметь в виду, что я не строил индексы для ускорения этой задачи, добавлены индексы только для ускорения разворачивания.
Применение разработки на практике, пока отложено, поэтому с составлением полного адреса я конечно разобрался, но оптимизаций не делал.
Хранимые процедуры для работы с базой смотрите в скриптах:
- ./docker/cmd/deploy/get-address-object-group.sql
- ./docker/cmd/deploy/get-address-object-name.sql
- ./docker/cmd/deploy/get-address-object-tree.sql
- ./docker/cmd/deploy/get-house-name.sql
И конечно читайте первоисточник — Адреса ФИАС в среде PostgreSQ
Спасибо за чтение. Пишите комментарии, будем обсуждать и делиться опытом.
Дополнительно
Некоторые таблицы ФИАС в резервной копии разбиты на два файла, например HOUSE50.DBF и HOUSE5001.DBF , обработка дополнительного файла выполняется в ручную и является костылём, если какие то другие таблицы будут разбиты на два и более файлов, то вам самостоятельно придётся дописать код для импорта этих данных при разворачивании резервной копии.
Это тривиальный код, но кроме вас его ни кто не напишет, для примера:
insert into house50 select * from house5001;
В целом, весь код лишён гибкости, и при добавлении новых регионов, код для их обработки, придётся дописывать самостоятельно.
Для выполнения VACUUM в СУБД, написан скрипт ./refresh.sh (если вам кажется что скрипты выполняются не адекватно долго, то возможно надо пересчитать статистику таблиц, по которой работает планировщик выполнения запросов, для этого выполняется VACUUM).
Что бы открыть консоль PostgreSQL можно запустить ./terminal.sh
Для ещё большего экономии места, колонки ID и GUID при импорте из DBF подтянутые как varchar(36), можно изменить на uuid, экономия до 5% от размера базы. Я сам не проверял, но в коментах несколько человек это подтвердили.
Источник: habr.com
ФИАС: особенности, этапы перехода и обязательность применения
С момента создания Федеральной информационной адресной системы (ФИАС) прошло уже более 7 лет. Но за это время она так и не стала общеобязательной. Рассказываем, что собой представляет ФИАС, как она внедряется и почему до сих пор полностью не заменила собой КЛАДР.
ФИАС: что это такое
Федеральная информационная адресная система (ФИАС) была создана в соответствии с распоряжением Правительства РФ от 10.06.2011 № 1011-р и начала работать уже с 01.11.2011 года. До этого времени в целях систематизации информации об адресах использовался КЛАДР – классификатор адресов, разработанный ФНС России исключительно в налоговых целях.
В ФИАС вносятся сведения обо всех имеющихся на территории России адресах, а также о реквизитах документов о присвоении, изменении и аннулировании этих адресов (ст. 4 Федерального закона от 28.12.2013 № 443-ФЗ «О федеральной информационной адресной системе…»).
Сведения об адресах включают в себя следующую информацию:
- наименование субъектов РФ, городов, поселений;
- указание муниципальных районов, городских округов;
- сведения об элементах улично-дорожной сети населенных пунктов;
- указание автомобильных и железных дорог;
- номера земельных участков, гаражных боксов;
- номера домов, владений, корпусов, строений, сооружений, помещений (в том числе квартир, комнат и офисов).
Также в ФИАС представлены присвоенные объектам коды ОКТМО и коды ОКАТО.
Информация об адресах в ФИАС постоянно актуализируется и дополняется. В случае изменения или аннулирования адреса все ранее внесенные сведения об адресе сохраняются в ФИАС со статусом «архивная информация».
Оператором ФИАС является ФНС России, а сам адресный реестр располагается на официальном сайте налоговой службы . Данный реестр доступен для просмотра всем заинтересованным организациям и физлицам без подачи запросов и взимания платы.
Предоставление сведений об адресах в электронном виде осуществляется бесплатно. Для получения сведений на бумажном носителе потребуется заплатить пошлину (ч. 6 ст. 8 Федерального закона от 28.12.2013 № 443-ФЗ).
Чем ФИАС отличается от КЛАДР
Главное отличие между этими двумя системами заключается в том, что КЛАДР – это сугубо ведомственная база данных, а ФИАС – общая для всех министерств, организаций и физлиц адресная система.
В КЛАДР используются формализованные наименования элементов планировочной структуры и элементов улично-дорожной сети. В ФИАС же содержатся официальные наименования всех этих элементов.
ФИАС содержит больше информации об объектах адресации, адреса в ней стандартизированы, а предоставление сведений конечному пользователю осуществляется в более удобной и детализированной форме.
В отличие от КЛАДР, в ФИАС добавлены такие весьма важные компоненты, как:
- уникальный фиксированный ID для каждого дома. Данный ID выступает в роли постоянного ключа и позволяет найти объект в любой базе данных и учетной программе;
- садово-огороднические товарищества, строительно-гаражные кооперативы и промышленные зоны в ФИАС теперь располагаются на отдельных уровнях и не путаются с городами и поселениями;
- дата начала и окончания действия записи об адресе;
- состояние дома. Данная запись позволяет понять, в каком состоянии находится дом и требует ли он ремонта.
Для рядовых пользователей учетных программ (приложений) и их разработчиков основное различие между ФИАС и КЛАДР сводится к тому, что файлы первой адресной системы гораздо «тяжелее» файлов второй. Так, если файлы КЛАДР «весят» 300 Мб, то файлы ФИАС занимают уже 9 Гб файлового пространства.
Данное обстоятельство обуславливает следующие моменты:
- скачивание ФИАС занимает гораздо больше времени;
- ФИАС предъявляет повышенные требования к используемому программному обеспечению;
- ФИАС увеличивает нагрузку на учетные программы.
Этапы внедрения ФИАС
Федеральный закон от 28.12.2013 № 443-ФЗ «О федеральной информационной адресной системе…» вступил в силу с 1 июля 2014 года. С этого момента содержащиеся в ФИАС сведения об адресах стали обязательны для использования следующими субъектами:
- органами государственной власти при предоставлении государственных услуг;
- органами местного самоуправления при предоставлении муниципальных услуг;
- субъектами, оказывающими услуги почтовой связи.
Для организаций и ИП обязанности по использованию сведений, содержащихся в ФИАС, законом не установлено. Поэтому рядовые налогоплательщики по-прежнему могут пользоваться сведениями из КЛАДР (в случае их актуальности).
При этом ФНС России официально поддерживала и регулярно обновляла КЛАДР до 31.12.2017.
Но и сейчас ведомство по-прежнему регулярно выгружает ФИАС в формате КЛАДР и публикует его.
Организации и ИП могут использовать в отчетности не только коды по ФИАС, но и коды по КЛАДР. Форматы, передаваемые в ФНС, не требуют обязательного указания идентификатора адреса по ФИАС.
Единственным форматом, в котором требовался обязательный ввод идентификатора адреса по ФИАС, в январе 2018 года стал формат «Спецификации на обмен данными в электронном виде о нетрудоспособности и других сведениях…», используемый при оформлении документов на прямые выплаты пособий в пилотных регионах ФСС.
С 1 января 2018 года при заполнении данного формата нельзя было использовать коды из КЛАДР. Между тем, уже в ноябре 2018 года ФСС утвердил спецификацию версии 1.7.6, в которой изменилась обязательность полей. Вместо GUID из ФИАС появилась возможность передавать код того же адреса по КЛАДР.
Таким образом, в настоящее время среди форм отчетности, передаваемых в контролирующие органы, не осталось ни одной, где код по ФИАС был бы обязателен.
ФИАС в учетных решениях 1С
В программе «1С:Бухгалтерия 8» начиная с версии 3.0.37.25 в качестве источника адресной информации используется ФИАС. Вся линейка других современных программ 1С также поддерживает работу с ФИАС с 2014 года.
Проверка адреса по ФИАС доступна в разделе Администрирование – Общие настройки – Контактная информация.
ФИАС не поддерживается только в программах «старого поколения». К ним, в частности, относятся:
- «1С:Предприятие 7.7»;
- «1С:Бухгалтерия 8» (ред. 2.0);
- «1С:Зарплата и управление персоналом 8» (ред. 2.5);
- «1С:Управление производственным предприятием 8» (ред. 1.3).
Вместо автоматической загрузки кодов ФИАС во всех этих программах предусмотрен ручной ввод адресов, без подсказок, автозаполнения и проверки корректности адресов.
Проверить актуальность адреса в этом случае можно в ФИАС . Напоминаем, предоставление информации об адресах производится в ФИАС на бесплатной основе.
Источник: buh.ru
Адресный классификатор ФИАС
Перед тем как вводить в программу основные сведения об организации, контрагентах и сотрудниках, желательно загрузить в нее адресный классификатор и настроить проверку правильности заполнения адресов на соответствие ФИАС.
В данной статье мы рассмотрим:
- как загрузить в 1С адресный классификатор;
- как заполнить адрес с помощью классификатора.
- Что такое ФИАС
- Как загрузить ФИАС в 1С
- Как заполнить адрес по новому формату
Что такое ФИАС
Загрузка Адресного классификатора
С 1 июля 2014 года вступил в силу Федеральный закон от 28.12.2013 N 443-ФЗ, обязавший использовать Федеральную информационную адресную систему (ФИАС) в качестве единой базы адресов для всех государственных и муниципальных организаций.
В новой информационной адресной системе имеется уникальный идентификатор для каждого дома, что исключает дублирование и неправильную нумерацию домов. Кроме того, отпадает необходимость очищать адресный классификатор перед обновлением, как это было ранее с адресным классификатором КЛАДР.
Для работы с Адресным классификатором теперь необходимо его загружать в программу! Загрузка адресов онлайн через веб-сайт 1С на данный момент недоступна.
Если ранее у вас был загружен адресный классификатор, обновите его заново.
Загрузить адресный классификатор можно в разделе Администрирование – Настройки программы — Интернет-поддержка и сервисы – Адресный классификатор — ссылка Загрузить классификатор .
Классификатор можно загрузить:
- Самоучитель по 1С Бухгалтерии 8.3;
- Самоучитель по 1С ЗУП 8.3.
- с историей изменения адресных объектов;
- актуальные данные на текущий момент, без истории.
Если места на диске немного, то флажок Загружать историю изменений адресных объектов не устанавливайте.
Если флажок установлен, то, помимо актуальных данных адресных объектов, при загрузке будет подбираться информация о переименовании объектов, а также переподчинении или удалении адресных сведений.
С веб-сайта 1С
Для загрузки с веб-сайта 1С адресного классификатора необходимо иметь действующий договор ИТС (для версий ПРОФ), логин и пароль для подключения поддержки в программе.
Для загрузки адресного классификатора с веб-сайта установите переключатель С веб-сайта 1С и нажмите кнопку Загрузить адресные сведения .
Загрузка из файла
Файл нужно скачать с сайта ИТС, а потом загрузить его из папки на диске.
Из файла есть возможность скачать адреса с поддержкой:
- муниципального деления;
- административно-территориального деления.
Пошаговая инструкция скачивания файлов с сайта ИТС
Шаг 1. В браузере перейдите по ссылке https://its.1c.ru/download/fias2 и выберите нужный район.
Шаг 2. Щелкнув мышкой по полю с файлом или наименованию района, запустите скачивание файла.
Имя файла имеет номер региона и расширение zip, например, для Санкт-Петербурга — 78.zip.
Проделайте операцию скачивания для всех нужных регионов или скачайте файл Все регионы.
Шаг 6. Перейдите в форму загрузки данных.
Установите флажки напротив тех регионов, какие нужно загрузить.
Шаг 7. Для загрузки данных из файла в разделе Вариант загрузки установите переключатель в положение Из папки на диске . В поле выбора пути выставите место сохранения скаченных файлов.
Чтобы не тратить время на прокрутку списка регионов, которые нужно загружать, наберите на клавиатуре номер региона (или часть его названия) и нажмите ввод. Или же воспользуйтесь кнопкой Найти .
Шаг 8. Нажмите на кнопку Загрузить адресные сведения .
Шаг 9. После успешной загрузки данных появится следующее сообщение:
Ввод адреса
Ввод адреса осуществляется по:
- муниципальному делению;
- административно-территориальному делению.
Для того чтобы ввести адрес, в поле Город, населенный пункт начните писать адрес, в т. ч. улицу, — и программа автоматически отберет подходящие адреса. При этом черным будет подсвечиваться адрес, который установлен по умолчанию, а серым другой, не используемый формат. Но если мы его выберем тип адреса изменится автоматически.
Ранее введенные адреса в административно-территориальном формате так и остались в нем. При необходимости формат можно изменить, при этом недостающие поля заполнятся автоматически.
Муниципальное деление
Рассмотрим ввод адреса в формате муниципального деления на примере.
Организация приобрела земельный участок, который находится по адресу:
142718, Московская обл, Ленинский муниципальный район, Сельское поселение Булатниковское, Битца п, Варшавское шоссе тер., Варшавское шоссе 21 км, участок 25ю/1-8.
Для переключения ввода адреса по муниципальному делению по кнопке Еще выберите Муниципальное деление .
Чтобы указать адрес вручную, зайдите в форму Населенный пункт , где укажите:
- флажок Муниципальный ;
- данные адреса по муниципальному делению.
Остальные поля заполните в форме Адрес местонахождения .
Административно-территориальное деление
Рассмотрим ввод того же адреса только в формате административно-территориального деления.
Организация приобрела земельный участок, который находится по адресу:
142718, Московская обл., Ленинский р-н, Битца п, Варшавское шоссе тер., Варшавское шоссе 21 км, участок 25ю/1-8.
Для переключения ввода адреса по административно-территориальному делению по кнопке Еще выберите Административно-территориальное деление .
Чтобы указать адрес вручную, зайдите в форму Населенный пункт , где укажите:
- флажок Административно-территориальный ;
- данные адреса по административно-территориальному делению.
Остальные поля заполните в форме Адрес местонахождения .
- Помощник внесения изменений в ЕГРЮЛ, ЕГРИП
- Сервис 1С:Контрагент
- Нужно ли указывать в счетах-фактурах адрес, как указано в выписке ЕГРЮЛ?
- Порядок заполнения элемента справочника Контрагенты
- Интернет-поддержка
Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
- Адресный классификатор 1СЧтобы в справочники 1С добавлялись корректные адреса, программа предусматривает их.
- Расширения конфигурации Новый формат Классификатора адресов (Государственный адресный реестр) в 1СБухЭксперт8 подготовил для коммерческих подписчиков специальное расширение Новый формат Классификатора.
- ГАР – Государственный адресный реестр в 1С 8.3 Бухгалтерия (из записи эфира от 14 декабря 2021 г.)У вас нет доступа на просмотр Чтобы получить доступ: Оформите.
- Классификатор ОКОФ в 1С 8.3ОКОФ — общероссийский классификатор основных фондов. Он объединяет основные средства.
Оцените публикацию
(5 оценок, среднее: 5,00 из 5)
Публикацию можно обсудить в комментариях ниже.
Обратите внимание!
В комментариях наши эксперты не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно в Личном кабинете
Обсуждение (3)
Босых Татьяна Сотрудник БухЭксперт8 :
Добрый день.
Уточните про какой демодоступ вы говорите? Если вы говорите о демодоступе к нашему сайту, то мы не даем демодоступ к базам данных программы 1С. На нашем сайте вы можете найти объяснения и ответы, как работать с программой.
Источник: buhexpert8.ru