Свертка базы

Свертка информационной базы 1С – это обработка документов и регистров, при которой происходит формирование документов ввода остатков на определенную дату (дату свертки) и удаление документов, которые не используются, и движений по регистрам (сведений, накопления, бухгалтерии) до даты свертки включительно. Свертка информационной базы выполняется, чтобы сократить объем данных в рабочей базе и увеличить скорость работы системы.

Перед сверткой обязательно создайте резервную копию базы данных (этап входит в процедуру свертки) на случай, если процедура свертки закончится неудачно и потребуется восстановить данные. Также в будущем может потребоваться сформировать отчеты по прошлым «отрезанным» периодам. В этом случае для восстановления архива (копии) создайте новую базу. Как это сделать, см. в ответе на вопрос «Как в «1С:Бухгалтерии 8″ (ред. 3.0) восстановить копию информационной базы до свертки?»

Процесс свертки информационной базы включает следующие этапы: создание резервной копии, настройку свертки, формирование документов ввода остатков, просмотр операций, проверку и удаление старых документов.

Свертку может выполнить только пользователь с правами «Администратор». Если с программой одновременно работают несколько пользователей, им необходимо завершить работу и выйти из программы.

Перед выполнением свертки информационной базы рекомендуется:

  • создать архив базы, в случае неудачи его можно будет восстановить (архив можно создать в режиме «Конфигуратор», в режиме «1С:Предприятия» и в процессе свертки информационной базы);
  • произвести тестовую свертку на копии рабочей базы;
  • решение о возможности использования свертки для рабочей базы принимать по результатам успешного тестирования.

Для проведения свертки информационной базы выполните следующее (рис. 1):

  1. Раздел: Администрирование – Свертка информационной базы.
  2. Введите пароль (если у пользователя установлен пароль для входа в программу).
  3. В поле «Каталог резервной копии ИБ» выберите диск и каталог (папку), куда будет записана копия базы (файл с расширением cd).
  4. Кнопка «Далее». Появится обращение к администратору о создании резервной копии (также резервную копию можно создать предварительно – до свертки базы). Нажмите «Да» и дождитесь формирования файла с копией базы. Проверьте, что файл с копией базы сформировался и находится в указанной папке.

    Рис. 1

  5. На втором этапе «Настройка свертки» укажите период (год), на начало которого планируется свернуть информационную базу. Рекомендуется не снимать флажок «Установить дату запрета изменения данных» (рис. 2). Можно выполнить свертку по всем организациям в базе или выборочно. Для выборочной свертки установите переключатель «По отмеченным организациям» и флажки у нужных организаций.

    Рис. 2

  6. На третьем этапе «Формирование остатков» предлагается выбрать регистры для формирования остатков. Предложенные программой настройки рекомендуется оставить по умолчанию и продолжить процесс по кнопке «Далее».

    Рис. 3

  7. На этапе «Просмотр операций» выводятся созданные документы ввода остатков (рис. 4). Их можно проверить и при необходимости отредактировать, а также создать новые документы ввода остатков. Если все верно, нажмите кнопку «Далее» и переходите к следующему этапу.

    Рис. 4

  8. На следующем этапе «Проверка» будет сформирован отчет с остатками по счетам до свертки и после (рис. 5). По кнопке «Показать настройки» можно настроить формирование отчета по показателям НУ, ПР и ВР или по субсчетам. Также можно проанализировать информацию по регистрам сведений и накопления, установив соответствующий переключатель по типу данных. Если все верно, нажмите кнопку «Далее» и переходите к следующему этапу.

    Рис. 5

  9. На этапе «Удаление старых документов» помечаются на удаление документы прошлых периодов до даты свертки (рис. 6). У важных документов для учета ОС и для учета НДС пометка на удаление не устанавливается. Процесс может занять длительное время (в зависимости от объема информации). После установки пометок на удаление выводится сообщение «Свертка прошла успешно».
  10. Кнопка «Закрыть».

Рис. 6

Откройте журнал операций, все документы прошлых периодов (до свертки) в нем помечены на удаление, кроме документов по учету ОС и НДС. Чтобы проверить, у каких документов не установлены пометки на удаление, нажмите кнопку «Реестр документов», установите период, за который выполнялась свертка базы. Нажмите кнопку «Показать настройки», затем кнопку «Добавить», выберите «Пометка на удаление», вид – сравнение «равно» и значение «нет». Сформируется реестр с объектами, которые не помечены на удаление.

Для окончательного удаления из базы объектов, помеченных на удаление, отройте раздел «Администрирование» и перейдите по ссылке «Удаление помеченных объектов».

Обработка свертки базы находится на диске ИТС Проф. И не работает. Но я же диск ИТС покупаю за деньги. Раз это некачественный товар (пусть программа) я могу заявить свои претензии как покупатель на основе закона о правах потребителя? Могу? Могу. Если экстраполировать этот процесс на любое программное обеспечение, то любая ошибка в софте, должна обеспечить возврат денег, независимо от того, что написано в лицензиях. Есть же закон о правах потребителя. Почему же тогда это все живет?
Потому что, обнаружив ошибки, мы обращаемся к специалистам, которые и живут на таком некачественном товаре? Или потому, что разработка отрабатывает только основной use case, а все остальное очень сложно дописать в силу бесконечного числа вариантов?

1С программисты и около1Сные мэнеджеры проводят политику специального недописывания программ. То есть нужно, например, свернуть базу данных 1С8 УПП, лезешь на диск ИТС Проф, находишь нужную обработку СверткаИнформационнойБазы.epf, запускаешь, а она просто не работает. Вроде и деньги заплачены за ИТС, а товар не качественный.

Что делать? Звонишь в компанию франчайзи и излагаешь проблему. Мне франчайзи прислали обработку, но она полуработающей версии. Процесс свертки вроде начинает идти, но быстро заканчивается по ряду ошибок типа: Неуникальный номер кадрового документа!, есть движения по регистрам, удаление отменено, Невозможно записать документ: и т.д. Причин таких ошибок масса: и в самом коде обработки и в настройке регистров накопления и сведений конфигурации. И в том, что все операции настолько длинные, что могут затянуться на день и более.

В общем пришлось заниматься модификацией и написанием инструкции по применению.

Инструкция
Свертка информационной базы

1. Исключить из обработки все регистры сведений, начинающиеся с «учетные…»
2. Убрать вывод об удалении из конфигурации
УстановкаПометкиНаудалениеСчетаФактуры
СинхронизацияПометкиНаУдалениеСчетаФактуры
Общиймодуль.учетндс (поиск по «помечен на удаление.»)

3. Регистры подчинить регистратору и добавить в регистратор: КорректировкаЗаписейРегистров

ПериодыСостоянияРаботниковОрганизации
ГТДНоменклатуры
ДокументыТребующиеДопроведения
ТекущаяРаботаПоЗаявкамКандидатов
_наценкипобрэндам1
наценкипобрендам
_номенклатура1
РФ_Госконтракты
ПериодыРаботыРаботниковОрганизацииПоСовместительству
ПериодыРаботыРаботниковОрганизацииПоОсновномуМестуРаботы
СостояниеРаботниковНаИспытательномСроке

PS: В связи с чем возник 3 пункт. Регистратор записей некоторого регистра подменяется регистратором корректировки этого регистра для того, чтобы исключить из регистратора все документы, подлежащие удалению то есть созданные до даты свертки.
То есть регистр обязан быть подчинен регистратору и в нем должна быть отмечена корректировка записей регистров. В противном случае регистр не может быть скорректирован.

4. Задокументировать исключения в документ.удалитьимуществодляцелейдекларирования
и документ.удалитьтранспортдляцелейдекларирования. поиск по «запись с такими ключевыми полями существует».

5. Исправить ошибки в части указания договора

6. Удалить итоги по всей базе и сжать базу средствами sql.
7. сам процесс. Дата свертки: 01.01.2011 и свернуть базу
8. Удалить все документы, помеченные на удаление
9. Сжать базу средствами SQL.

Файл можно скачать по ссылке

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

Что такое свертка информационной базы 1С?

Чем же является все-таки свертка информационной базы данных 1С? Свертка — это распределение остатков. Те остатки, которые нам нужны она вводит на определенное время, а лишние и старые стирает, чтобы они не занимали лишнего места. Дальше будет показано как сделать свертку на типовом решении 1С.

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

Для начала советуем осуществить полную копию базы. Чтобы в случае неполадок можно было вернуть начальный вариант.

Чтобы свернуть базу без проблем и ошибок обязательно надо попросить выйти всех сотрудников из программы.

Инструкция по свертке базы 1С Бухгалтерия

Открываем приложение 1С используя режим «Предприятие». Нажимаем на пункт в левом меню «Администрирование» и кликаем на «Свертка информационной базы».

Когда откроется окно вам будет предложено произвести резервное копирование, советуем вам это сделать для защиты ваших данных.

Если возникает ошибка при резервном копировании, то вам нужно сделать копию своими руками. Приступаем к новому шагу и кликаем на клавишу далее. Программа спросит, что нам нужно свернуть, мы выбиваем весь список.

Далее программа даст указать нужные регистры для того чтобы сформировать остатки. Лучше ничего не менять и продолжить как есть.

Шаг «Просмотр операций”, программа создаст файл для переноса остатков, к которым есть доступ.

Также дальше можно будет проверить правильность обработок, сделать это можно запустив автоматическую проверку базы 1С.

Проверка свертки базы 1С

Когда возникают какие-либо ошибки и что-то вам непонятно вы всегда сможете вернуть все назад.

Когда вы сами лично проверили все данные можно переходить к следующему шагу — стереть старые данные. Он может потратить много вашего времени, так как зависит от количество данных, которые нужно удалить.

На этом все, наша база свернута и все операции выполнены. Теперь нам стоит сравнить информацию все ли прошло правильно и корректно, и вся ли нужная информация сохранилась. Если нет, то мы всегда можем запустить старую копию базы 1С Бухгалтерия из резервной копии.

Также как все прошло успешно стоит запустить «Удаление помеченных объектов”, эта обработка удалит все ненужные нам файлы из базы 1С.

Работы проводились на платформе 1С:Предприятие 8.3 (8.3.13.1644), в программе «Управление торговлей», редакция 10.3 (10.3.49.3).

Комментарии Техподдержки к данной публикации являются неотъемлемой частью публикации — все, что не описано в публикации, описано в комментариях к данной публикации.

Цель свертки — свернуть остатки по товарам и по взаиморасчетам с контрагентами.

По товарным остаткам нужно, чтобы остатки в товарном и в партионном учете совпадали (соот-но в разрезе Номенклатуры, Характеристики, Серии и/или Качества). За товарный учет отвечает регистр накопления ТоварыНаСкладах, за партионный учет (в котором отражается себестоимость товара) — регистр накопления ПартииТоваровНаСкладах. Все регистры вы можете открыть через меню Операции — Регистры накопления — далее наложить отборы, чтобы увидеть разрезы учета.

Если у вас задействованы в учете регистры накопления ПартииТоваровПереданные, ТоварыПереданные, ТоварыВРознице, ТоварыВНТТ, то вам не подойдет обработка СоздатьОприходование.

1. Типовая свертка (с диска ИТС или ИТС-онлайн — обработка «Свертка информационной базы» https://its.1c.ru/db/metod8dev#content:3685:hdoc) сворачивает регистры «ТоварыОрганизаций», «ТоварыНаСкладах», «ПартииТоваровНаСкладах». Если в базе начались расхождения по этим регистрам, то в результате проведения типовой свертки вы получите те же расхождения и не сможете свести остатки. Поэтому наилучшим методом является не использовать типовую свертку по товарам, а написать обработку, которая переносит остатки по регистру «ТоварыНаСкладах» в документ «ОприходованиеТоваров». Прикладываю обработку к статье. Себестоимость товаров (которая указывается в поле Цена табл. части документа Оприходование) при этом можно брать по разному — приведу два возможных способа:

1) по средней из регистра «ПартииТоваровНаСкладах» (такой способ реализован в прилагаемой обработке)

2) если заданы «Приходные» цены, то из регистра сведений «ЦеныНоменклатуры» (этот способ не запрограммирован)

3) по тем товарам, по которым себестоимость не определяется, проставляется 1 руб. (или 1 копейка), в дальнейшем правится руками. Для целей выделения НДС рекомендую ставить 1 руб. Если НДС нет, то 1 копейку.

4) Добавлено 07-05-2020. Добавил обработку для создания Оприходования товаров с последними приходными ценами. В данном случае цена по номенклатуре берется из последнего документа-регистратора Поступление товаров и услуг или Оприходование товаров (до даты сворачивания остатков). Обработка в целом будет полезна не только для свертки остатков, но и в дальнейшем в текущей деятельности предприятия.

2. Такой же вариант проведения свертки можно использовать для сворачивания взаиморасчетов по контрагентам. Так, к примеру, типовая свертка сворачивает регистры «ВзаиморасчетыСКонтрагентами», «ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов», «РасчетыСКонтрагентами». При этом по документам расчета не проверяется итоговая задолженность контрагента в целом по договору: по договору в целом задолженности может не быть, а остатки по документам расчета на определенную дату имеются (см.рис.1).

При использовании типовой свертки связь между регистрами «РасчетыСКонтрагентами» и «ВзаиморасчетыСКонтрагентами» теряется. А если перенести остатки по взаиморасчетам с контрагентами в специализированный документ «ВводНачальныхОстатковПоВзаиморасчетам», то связь между регистрами будет выстроена автоматически — через документ-регистратор и закладываемую логику алгоритма проведения этого документа. Поэтому наилучшим способом будет не использовать типовую свертку, а перенести остатки через обработку создания документов «»ВводНачальныхОстатковПоВзаиморасчетам» (прикладываю к статье).

3. Сделал архивную копию базы, развернул две копии рабочей базы — первая для экспериментов, вторая база — неприкосновенная для сравнения с первоначальной рабочей базой. Вторая база пригодилась с неожиданной стороны. Я начал в рабочей базе восстанавливать последовательность проведения документов (по партионному учету). В итоге остатки по товарам и взаиморасчетам стали «скакать» — остатки по товарам ушли в минус, появились долги по контрагентам.

В результате выяснилось, что в базе имелись документы, в реквизитах которых стояли одни контрагенты или товары, а в проводках были другие. Такие ошибки могут возникать по разным причинам, назову только две известные мне:

1) при обмене документами с другими базами, не производится дальнейшая процедура перепроведения документов;

2) при групповом изменении реквизитов документа, не производится дальнейшая процедура перепроведения документов.

В итоге для исправления ошибок учета менеджеры создавали «Списания товаров», «Корректировку долга», «Оприходования товаров» вместо того, чтобы выявить причину происхождения ошибок и ликвидировать ее.

В общем, вывод такой — не всегда полезно восстанавливать последовательность перед сверткой. А так как в рабочей базе за два года были перепроведены документы, текущие остатки никого не устраивали. Пришлось или восстанавливать архив и переносить документы за пару дней работы менеджеров, или найти альтернативный вариант. Так как сворачивать рабочую базу уже было нельзя, а восстанавливать ее было долго, то было сделано так — на второй базе была проведена свертка, далее необходимые документы «ВводНачальныхОстатковПоВзаиморасчетам», «ОприходованиеТоваров», «КорректировкаЗаписейРегистров» были перенесены в рабочую базу с помощью типовой обработки «ВыгрузкаЗагрузкаДанныхXML82». В дальнейшем документы в рабочей базе были удалены до даты свертки.

4. При анализе регистров сведений (и регистров накопления) — что сворачивать, а что оставить как есть, обнаружил такой момент. Для своих нетиповых регистров сведений, которые я добавлял в течение года, рекомендуется добавлять в качестве документа-регистратора документ «КорректировкаЗаписейРегистров». Это пригодится не только при создании Корректировки записей этих регистров, но и при сворачивании информации в конце года. Это было небольшое отступление. Что касается свертки :

В изначальной постановке задачи цены по товарам, как и все остальные регистры сведений, было решено не сворачивать!

Но в дальнейшем оказалось удобным именно по ценам свернуть регистр ЦеныНоменклатуры. Это делается так: создается документ Установка цен номенклатуры по каждому используемому типу цен (с помощью прилагаемой обработки), этот документ остается в базе, его следует провести. Остальные документы Установка цен номенклатуры прошлых периодов нужно сначала распровести, затем удалить из базы.

В типовой свертке, чтобы случайно не свернуть регистры сведений и другие регистры накопления, я отключил их обработку через групповое изменение (см.рис.2, 3)

Когда случайно перепутал кнопки — нажал «Свернуть все» вместо «Сформировать» — тогда потерял час времени, поскольку удалились записи по многим регистрам, потом пришлось восстанавливать копию из архива. Чтобы не путаться в кнопках, отключил их доступность совсем (см.рис.4).

Для проведения типовой свертки по определенным регистрам накопления:

«ДенежныеСредства»,

«ДенежныеСредстваКСписанию»,

«ТоварыВРезервеНаСкладах»,

«РазмещениеЗаказовПокупателей»,

«ЗаказыПокупателей» —

использовал только кнопку «Сформировать» (см. рис.4).

Добавлено 08-05-2020г:
бывают проекты по свертке, когда типовую обработку «Свертка информационной базы» можно не использовать для переноса остатков и оборотов по регистрам (сведений или накоплений)
— вообще УТ 10.3 интересна тем, что регистров накопления в программе мало
— среди них отвечающих за определенный блок учета еще меньше — товары, денежные средства, НДС, взаиморасчеты с контрагентами
— а регистры, которые имеют остатки по своему блоку на конец года (или другую дату) еще меньше
— поэтому иногда проще написать свою обработку, которая собирает остатки по одному-двум регистрам, записывает остатки в документ Корректировка записей регистров — вот вам и документ ввода начальных остатков.

В очередном проекте по свертке остатков я так и поступил — написал обработку для свертки регистров ДенежныеСредства и ДенежныеСредстваКомитента. Остальные «денежные» регистры на конец года остатков не имели. Обработку прикладываю.

Если нужно перенести из одной базы в другую документ Корректировка записей регистров, переносите регистры, а не документ. Сам документ перенесется автоматом по ссылке — см.рис. Укажите только отбор по регистратору.

5. Типовая свертка не сворачивает регистры оборотов: алгоритм не написан, используется вызов команды «Возврат» для оборотных регистров. Получается, что после проведения свертки из базы исчезнут вместе с документами-регистраторами вся накопленная информация по оборотным регистрам!

К примеру, если вы используете накопительные скидки, то вам важно сохранить после свертки информацию по регистру «Продажи по дисконтным картам». В результате я написал обработку для сворачивания оборотов по регистру «Продажи по дисконтным картам», . Для других оборотных регистров можно использовать тот же принцип, и доработать алгоритм обработки по аналогии.

6. Так как УТ обменивалась с БП 3.0, то перед проведением свертки, я провел обмен и изменил дату переноса документов на Дату свертки.

Так как процедура сворачивания остатков растянулась на несколько вечеров, то пришлось установить «Дату запрета редактирования» на Дату свертки, и включить «Применение даты запрета редактирования для полных прав» (через константу). Помним об этом!

7. После формирования документов остатков, документы за весь прошлый период распровел и пометил на удаление с помощью «Групповой обработки документов и справочников». И впоследствии удалил с помощью обработки «Удаление помеченных объектов без монопольного режима» (ищите на ИС). Хотя нет, удалил непосредственно с помощью обработки «Удалить документы без проверки» ().

Последнюю обработку не рекомендую использовать вслепую — требуется адаптация под вашу свертку. Поскольку с помощью нее удаляются все документы помеченные на удаление без проверки наличия ссылок на них, кроме документов, которые входят в записи регистров из документов «Корректировка записей регистров», используемых для отражения наших остатков в свертке базы. Зная какие регистры свернулись и содержат остатки на дату свертки, мы можем по ним исключить из удаления документы, входящие в состав остатков по данным регистрам. В общем, смотрите код обработки, он открыт, адаптируйте под себя!

8. Не использовал в запросах тип «Граница» вместо «Даты» (ДатыСвертки) — хотя по уму надо, и не пришлось анализировать и сворачивать регистры по НДС — и если кому придется, то воспользуйтесь подходом из пункта 2 и документом «ВводНачальныхОстатковНДС» и «ВводНачальныхОстатковНДСпоПартиям» соответственно.

Всем добра! 🙂

С пользой для клиентов, RustIG

Задачу свертки информационной базы 1С (сокращение базы) ставят перед собой администраторы, которые хотят оптимизировать размер и скорость работы программы.
Официальная справка 1С говорит о целях свертки следующее:

— Увеличение скорости работы системы
— Уменьшение размера информационной базы

Все логично. Меньше база, быстрее работа и т.д. Но. Но. То с чем столкнулись мы при свертки 90 Гб базы данных говорит нам об обратном. База не стала меньше! Наоборот. Она увеличилась в размерах. с 90 Гб выросла до 106 Гб. Мы делимся своим опытом с вами и даем свои рекомендации по оптимизации базы данных 1С.

СТАНДАРТНАЯ СВЕРКА БАЗЫ

Штатная обработка по свертке базы «Свертка информационной базы», которая есть на дисках ИТС нормально отрабатывает свой алгоритм. Что она делает?

1. Помечает на удаление документы.
2. Чистит регистры.
3. Создает документы ввода остатков в документах «Корректировка записей регистров накопления».

При этом обработка только помечает на удаление но не удаляет документы из базы данных. Удаление придется делать другими средствами (стандартными/нестандартными). Причем стандартная обработка удаления «Помеченных на удаление объектов» не подходит, так как если ее просто запустить после пометки на удаления нескольких тысяч объектов, программа зависнет или уйдет в обработку на неизвестно какой срок. Мы использовали нештатную обработку удаления документов с отбором по дате и виду документов. Так было реально почистить несколько сотен тысяч объектов.

ПОСЛЕДОВАТЕЛЬНОСТЬ СВЕРТКИ

Эта инструкция составлена на базе стандартной инструкции по сверке с небольшими дополнениями.

0. Сделайте копию БД и вначале только на ней протестируйте свертку.

1. Снимите дату запрета редактирования данных для пользователя, под которым будете проводить свертку.

2. Укажите дату свертки в обработке.

3. Укажите объекты. Обычно оставляют по-умолчанию.

4. Сформируйте документы ввода остатков. Обязательно до операции «Свертка базы». Если это не сделать до свертки, то после удаления начальные остатки программе не с чего будет ввести. Дату документов ввода остатков сделайте следующим днем по который планируете сворачивать базу. Иначе документы ввода остатков тоже свернутся.

5. Запустите операцию «Свернуть базу».

6. Проверьте остатки и взаиморасчеты в копии базы на дату ввода начальных остатков с остатками и взаиморасчетами на эту же дату в рабочей базе данных. Суммы и количества должны совпадать.
В зависимости от объема базы данных понадобится от нескольких часов до пары дней на операцию сверки. Оптимально проводить операцию в выходные (праздничные) дни с максимальным запасом времени.

Чтобы сэкономить время на выгрузке/загрузке базы можно копию базы, в случае ее корректного сжатия, сделать рабочей с помощью переименования папки (файловой) или имени базы данных в кластере (серверной).

ЭФФЕКТИВНОСТЬ СВЕРКИ

Мы пришли к выводу, что на большой базе данных (90 и более Гб) свертка не эффективна. Во-первых, чтобы ее провести нужно минимум 3 дня. Во-вторых база данных не уменьшилась, а увеличилась (!). По итогу так и не удалось свернуть базу данных. Лишь часть данных удалось свернуть, но затраты по времени не сопоставимы с эффективностью.

Поэтому мы выработали такие рекомендации:

— вместо свертки перенос справочников и остатков в новую базу;

— точечная чистка информации (цены, документы, регистры, электронные письма). По данной теме рекомендуем прочесть нашу публикацию об оптимизации базы данных;

— на время чистки базы либо отключите регистрацию событий в журнале регистрации либо сократите его после чистки. Журнал регистрации также очень сильно растет во время операции по чистке/сокращению.

ДАННЫЕ БУДУТ РАСТИ

Мы подошли к тому времени, когда бизнес с момента тотальной информатизации 10-15 летней давности накопил достаточный объем информации в своих базах данных и вопрос оптимизации и умение обслуживать большие базы данных будет актуальнее с каждым днем. Оптимальное решение для компании придется вырабатывать в каждом конкретном случае, так как каждая база, каждая компания работает в своих уникальных условиях.
Надеемся, мы поделились с вами полезным опытом.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *