Проверка логической целостности 1с
Тестируете на основной машине, на той, где сама база расположена или по сети?
платформа последняя, 18.104 (на 17 тоже самое было), релиз пробовала и 3_0_19 и 3_0_22 - одинаковона SQL вообще мертво висит, хотя другие базы и в клиент-серверном и в файловом тестятся влет
поэтому развернула в файловый, отключила все фоновые и регламентные задания, - так немного хоть двигается, но до конца процесс так и не дошел, - такое впечатление, что где-то зацикливается, а вот на чем, - не видно((
на чем может зацикливаться "проверка логической целостности.Регистр бухгалтерии хозрасчетный" .
тестирую копию на сервере по сети
el-gamberro, можно поподробнее про профайлер, может я чего не знаю, - как посмотреть что делается в конкретный момент?
-
пошаговое выполнение проблемных запросов для поиска источника проблемы;
-
выявление и диагностика медленно работающих запросов;
-
перехват серии инструкций Transact-SQL, ведущих к проблеме. Сохраненную трассировку затем можно использовать для моделирования и диагностики проблемы на тестовом сервере;
-
контроль производительности SQL Server для настройки рабочих нагрузок. Дополнительные сведения о настройке физической структуры базы данных для рабочих нагрузок см. в разделе Помощник по настройке ядра СУБД;
-
Анализ счетчиков производительности для диагностики проблем.
У меня база маленькая 2.5 Гб, в файловом варианте.
До перехода на 3.0 тестирование и справление занимало не более 30 минут.
После перехода тоже сначала думал, что тестирование зависло: прошло 4-5 часов, а она все на регистре бухгалтерии хозрасчетный. Но подождал еше пару часов - заметил, процент исполнения перескочил.
Короче единственным вариантом сделать тестирвоание и справление явилось перенесение базы на локальный комп (она была на сетевом хранилище) и запуск на нем. Все заняло около 10 часов.
Крайне расстроен - но полагаю это фитча 3.0 :-(
В принципе при тестировании и справлени можно задавать, чтобы оно прервалось через заданное время. А птом продолжить с прерванного места. Не пробовал, но наверное это выход, когда базу надо отдать в работу в начале рабочего дня.
Тестирование и исправление информационной базы 1С
Стоит помнить, что перед любыми действиями с информационной базой 1С необходимо выполнить ее резервное копирование.
В открывшемся окне несколько пунктов выбора вариантов проверки и режимов, и чтобы правильно установить параметры тестирования 1С и правильно установить галочки, нам нужно понимать суть происходящего. Рассмотрим, что означает каждый пункт и для чего он предназначен.
Реиндексация таблиц информационной базы 1С: что это
В результате программного сбоя индексы могут сбиваться, вследствие чего появляются ошибки, например в документе отсутствует наименование или количество, не заполнено поле и т.п.
Для исправления такого рода ошибок в базе 1С устанавливаем галочку Реиндексация таблиц информационной базы .
При тестировании и исправлении в 1С реиндексируются все таблицы. И хотя данный пункт занимает длительное время, он помогает решить большую часть проблем.
Проверка логической целостности информационной базы 1С
При создании новых объектов в информационной базе 1С 8.3 создаются новые таблицы, связанные с другими таблицами. Ошибки нарушающие логическую целостность могут возникнуть вследствие некорректного обновления программы 1С, выключения компьютера в момент создания или записи документа (или любого другого элемента программы), сбоя в работе сети.
При этом программа 1С может работать, но ошибка будет возникать при обращении к тому документу (или объекту) в момент создания которого произошел сбой.
При тестировании и исправлении и установке данной галочки будет произведена проверка логических ошибок в структурах таблиц информационной базы.
Проверка ссылочной целостности информационной базы 1С
В ходе работы с программой 1С могут возникнуть ссылки на несуществующие или разрушенные объекты, так называемые битые ссылки. Они могут в результате сбоя или непосредственного удаления объекта. В случае, если в ходе проверки будет такой объект найден, необходимо в настройке дополнительно галочками указать, какие действия с ним производить.
Пересчет итогов
Для удобства работы в программе 1С 8.3 существуют вспомогательные таблицы, которые хранят данные об уже просчитанных итогах. Они нужны, чтобы при обращении к необходимой информации она не выбиралась из общих таблиц, а получалась из таблицы итогов. Это значительно экономит время обработки информации.
Сжатие таблиц информационной базы 1С
При удалении объектов в информационной базе 1С (документов, справочников и т.п.) они не удаляются физически, эти записи остаются в таблицах, но пользователь их не видит. В результате накопления таких объектов, увеличивается объем информационной базы 1С, что приводит к замедлению работы.
Реструктуризация таблиц информационной базы 1С
Это создание заново структуры информационной базы, создание новых таблиц, и перенос старых данных в новые таблицы. Реструктуризация также происходит при обновлении информационной базы. В результате этих действий также возможно исправление некоторого рода ошибок программы 1С.
После установки параметров тестирования, нажимаем кнопку Выполнить и ждем результат.
В строке состояния отображается информация о ходе тестирования.
По окончании тестирования 1С будет выведена информация об ошибках и их исправлении.
Если в ходе тестирования возникли какие то проблемы, можно восстановить информационную базу из резервной копии, созданной до начала тестирования.
- 1С оптимизация: что делать, если программа тормозит
- Обновление 1С: как обновить конфигурацию самостоятельно
- Утилита chdbfl.exe для 8.3
- Свертка базы 1С 8.3
- Резервное копирование 1С 8.3 Бухгалтерия 3.0
- Как удалить помеченные на удаление документы в 1С 8.3
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
У вас нет доступа на просмотр Чтобы получить доступ:Оформите коммерческую.ФНС в Письме от 13.08.2020 N СД-4-3/13009@ дала разъяснения, что..С 2021 года на всей территории России страховое обеспечение по.
Карточка публикации
Данную публикацию можно обсудить в комментариях ниже.Обратите внимание! В комментариях наши кураторы не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно по ссылке >>
Все комментарии (4)
В какой последовательности лучше выставлять режимы проверки? Ведь устанавливать все флаги сразу не совсем правильное решение?
Особенности использования проверки конфигурации
Механизм проверки конфигурации позволяет выявить ошибки, которые не являются критичными для функционирования прикладного решения в принципе, но наличие которых может существенно снизить скорость работы прикладного решения или даже привести к возникновению ошибок при работе в некоторых специальных режимах.
Выполнение данных проверок не является обязательным (как, например, в случае синтаксического контроля), но является желательным, например, для проверки конфигурации перед поставкой заказчику, перед выпуском тиражного решения, для проверки после массированного удаления объектов или после объединения конфигураций.
Механизм проверки конфигурации включает в себя несколько тестов. Часть этих тестов доступна и в других режимах конфигуратора, а остальные специально разработаны для этого механизма.
Рассмотрим особенности этих тестов:
Проверка логической целостности конфигурации
Проверка логической целостности конфигурации включает в себя ряд стандартных проверок целостности прикладных объектов, которые обычно выполняются автоматически перед обновлением конфигурации базы данных.
Например проверка того, что все объекты метаданных в пределах одной ветки имеют уникальные имена.
Поиск некорректных ссылок
Конфигурация на платформе 1С:Предприятие 8.1 представляет собой набор взаимосвязанных объектов. Каждый объект определяется его свойствами. Эти свойства могут содержать ссылки на другие объекты метаданных.
Ссылки бывают прямые (например, свойство справочника ОсновнаяФорма ссылается на объект метаданных Форма ) или косвенные. К косвенным относятся, например, ссылки на типы, относящиеся к объекту метаданных, например СправочникСсылка.Номенклатура или ссылки на предопределенные значения объекта.
Свойства объектов метаданных можно разделить на простые и сложные. К простым, например, относятся Имя , Синоним , Тип , ОсновнаяФорма и другие. Сложными свойствами являются Форма , Макет , Интерфейс , Права , СправочнаяИнформация .
Логика работы платформы 1С:Предприятие 8.1 построена таким образом, что наличие некорректных (неразрешимых) ссылок в простых свойствах в режиме 1С:Предприятие не допускается. При стандартных операциях редактирования, конфигуратор не позволит возникнуть таким ссылкам.
Например, нельзя удалить форму, если ссылка на нее содержится в свойстве справочника.
Впрочем, получить конфигурацию, которая такие ссылки содержит все же возможно. Например, при объединении конфигурации, если пометить к объединению только один объект метаданных и не помечать объекты, на которые он ссылается. При этом будет выдано предупреждение, но его можно игнорировать и выполнить объединение. Подобное поведение реализовано для облегчения процесса объединения конфигураций. Предполагается, что после объединения разработчик вручную поправит неразрешимые ссылки. Обязательная проверка простых свойств на корректность выполняется при обновлении конфигурации.
Сложные свойства ведут себя несколько иначе. Отслеживание всех ссылок во всех формах представляет собой слишком ресурсоемкий процесс, поэтому наличие неразрешимых ссылок в них допустимо. Допустимо в том смысле, что программа будет работать, однако ее функциональность может быть нарушена.
Например, в форме окажется поле ввода не связанное с данными или в справочной информации будет "переход в никуда".
Для поиска и исправления таких ситуаций предназначен механизм поиска некорректных ссылок. Он позволяет определить только факт наличия неразрешимых ссылок в той или иной форме. Их поиск и исправление возлагается на разработчика.
Ниже приведены некоторые рекомендации, которые могут помочь в данном процессе.
Неразрешимые ссылки в справочной информации
Если неразрешимые ссылки обнаружены в модуле справки, то для их локализации и исправления следует проверить работоспособность всех ссылок, находящихся в указанном модуле.
Если ссылка не работает, но существует объект, на который она ссылается - нужно скорректировать ссылку. Если объект, на который указывает ссылка, отсутствует - нужно, как минимум, очистить ссылку и, возможно, удалить соответствующий текст справки.
Некорректные ссылки в формах объектов
Если неразрешимые ссылки обнаружены в форме объекта, то для их локализации прежде всего следует проверить на непустое значение свойства формы и свойства элементов формы (например такие свойства, как Цвет , Шрифт , Рамка и т.д.). Для табличного поля следует также проверить свойства колонок и элементов управления, расположенных в колонках.
Для всех этих свойств значение в палитре свойств не должно быть пустым, т.е. должно отображаться либо какое-то конкретное значение, либо значение Авто . Все остальные случаи определяются как неразрешимые ссылки.
Для исправления такой ссылки следует либо задать для свойства необходимое значение, либо очистить значение (что приведет к установке значения Авто ).
Также довольно распространенным случаем некорректных ссылок может быть неправильный перечень реквизитов объекта в свойстве формы Сохраняемые значения . Для исправления таких ссылок необходимо открыть окно настройки этого свойства, и ничего не меняя нажать ОK .
Также следует проверять связи с данными. Например, для свойств Связь по владельцу и Связь по типу нужно убедиться, что в окне формы настройки связи будет выбрано конкретное значение. Если нет - нужно заново выбрать нужное значение.
Неразрешимые ссылки также могут возникать в предопределенных элементах. Для исправления таких ссылок может оказаться достаточным установки признака модифицированности списка предопределенных элементов, и последующего сохранения объекта метаданных.
Для автоматизации поиска неразрешимых ссылок можно использовать Проверку конфигурации (команда Конфигурация - Проверка конфигурации в Конфигураторе).
Общие рекомендации
Самый лучший способ борьбы с неразрешимыми ссылками - по возможности не допускать их появления.
Например, как было указано, при удалении объекта конфигуратор проверит наличие ссылок на удаляемый объект, но только в простых свойствах. Поэтому перед удалением рекомендуется провести полный поиск. Обратите внимание, что начиная с релиза 8.1.10, при выполнении команды "Поиск ссылок на объект" (и "Поиск ссылок в объекте") можно указать поиск во всех свойствах.
Синтаксический контроль модулей
Механизм проверки конфигурации предоставляет расширенные возможности синтаксического контроля модулей. Они позволяют проверить работоспособность конфигурации во всех режимах, предусмотренных разработчиком. Для того, чтобы понять назначение каждого из режимов, рассмотрим подробнее особенности исполнения модулей в платформе 1С:Предприятие 8.1.
Конфигурация может исполняться в двух сеансах - клиентского приложения и внешнего соединения. Кроме этого, конфигурация может быть развернута в файловом варианте и клиент-серверном варианте. Различия режимов определяются составом объектов и их свойств. Не все объекты доступны при исполнении на сервере 1С:Предприятия и в режиме внешнего соединения.
Все модули, с точки зрения режимов исполнения, можно разделить на 5 групп. Это общие модули, модуль приложения, модуль внешнего соединения, модули хранимых объектов (обобщенное название, сюда относятся модули объектов, наборов записей) и модули форм.
Общие модули могут выполняться на клиенте, на сервере и в режиме внешнего соединения. Доступность конкретного общего модуля в каждой из этих сред определятся соответствующим свойством.
Модуль приложения всегда исполняется на клиенте.
Модуль внешнего соединения всегда исполняется в режиме внешнего соединения.
Модули хранимых объектов могут исполняться везде. Это зависит того, где был создан соответствующий объект.
Модули форм всегда исполняются только на клиенте.
Важной особенностью 1С:Предприятия 8.1 являются различия между файловым вариантом работы и клиент-серверным. В файловом варинате для всех исполняемых модулей доступен контекст как сервера так и клиента или внешнего соединения, в зависимости от типа сеанса. То есть, даже если у общего модуля в свойствах указано исполнение только на сервере, в файловом варианте работы в нем можно создавать объекты, доступные только на клиенте. Однако при развертывании данной конфигурации в режиме клиент-сервер, выполнение подобного модуля приведет к ошибке.
Для выявления подобных "тонких" случаев, механизм проверки конфигурации предоставляет проверки модулей во всех пяти вариантах среды исполнения.
Работа клиентского приложения
Синтаксический контроль модулей в режиме эмуляции сеанса клиентского приложения в файловом варианте работы.
Работа внешнего соединения
Синтаксический контроль модулей в режиме эмуляции сеанса внешнего соединения в файовом варианте работы.
Среди наиболее часто встречающихся ошибок при тестировании работы в режиме внешнего соединения, можно выделить следующие:
Вызов метода глобального контекста, который не может быть использован в режиме внешнего соединения (например, ВвестиЗначение() ); Использование свойства глобального контекста, которое не может быть использовано в режиме внешнего соединения (например, РабочаяДата ); Создание объекта, который не может быть использован в режиме внешнего соединения (например, Цвет );Вызов процедур общего модуля, для которого не установлено свойство использования во внешнем соединении. Использование переменных, определенных в модуле приложения;Для исправления подобных ошибок следует использовать разрешенные методы, свойства и объекты.
Для исправления подобных ошибок в модуле внешнего соединения необходимо продублировать экспортные переменные, а также, при необходимости, процедуры их заполняющие.
Работа клиентского приложения в режиме клиент-сервер
Синтаксический контроль модулей в режиме эмуляции сеанса клиентского приложения в клиент-серверном варианте.
Работа внешнего соединения в режиме клиент-сервер
Синтаксический контроль модулей в режиме эмуляции сеанса внешнего соединения в клиент-серверном варианте.
Работа сервера 1С:Предприятия
Синтаксический контроль модулей в режиме эмуляции среды сервера 1С:Предприятия.
Среди наиболее часто встречающихся ошибок при тестировании работы на сервере 1С:Предприятия, можно выделить следующие:
Вызов метода глобального контекста, который не может быть использован на сервере (например, Предупреждение() ); Создание объекта, который не может быть использован на сервере (например, Цвет);Вызов процедур общего модуля, у которого не установлен признак использования на сервере;Для исправления подобных ошибок следует использовать разрешенные методы, свойства и объекты.
Для исправления подобных ошибок следует установить свойство Сервер общего модуля, либо, если вызываемая процедура используется только на сервере, перенести ее в отдельный общий модуль с установленным свойством Сервер . Также, для исправления подобных ошибок, можно использовать директивы препроцессора, в явном виде указывающие контекст исполнения участка кода.
- Использование переменных, определенных в модуле приложения;
Для исправления подобных ошибок следует использовать параметры сеанса, содержащие аналогичные значения экспортных переменных модуля приложения.
Например: Переменная модуля приложений - глТекущийПользователь и ПараметрСеанса - ТекущийПользователь.
Важно учитывать, что время получения значения параметра сеанса значительно превышает время получения значения переменной модуля приложения. Поэтому, полный отказ от использования переменных модуля приложения в пользу параметров сеанса является неправильным. Следует применять комбинированный метод: - в модулях объектов следует применять только параметры сеанса, поскольку это решит проблему недоступности объектов на сервере - в модулях форм следует применять только переменные модуля приложения, поскольку здесь более важным является быстродействие кода, кроме того модуль формы заведомо не будет выполняться на сервере.
Общие рекомендации
Поставка модулей без исходных текстов
В группе тестов синтаксического контроля модулей представлен также тест создания файлов поставки и обновления. В настройках поставки можно указать поставку модулей объекта без исходных текстов, однако для того чтобы воспользоваться этой возможностью, модуль не должен содержать директив препроцессора, что и проверяется этим тестом.
Логическая проверка модулей
Представляет собой набор дополнительных (не связанных с синтаксическим контролем) тестов модулей.
Поиск неиспользуемых процедур и функций
Сами по себе неиспользуемые (никогда не вызываемые) процедуры и функции ошибкой не являются, однако их наличие может косвенно свидетельствовать об ошибках в логике конфигурации. В частности, с помощью этого теста можно найти потерянные, в том числе и случайно, обработчики событий элементов управления в формах.
Самой главной особенностью этого теста является то, что анализ использования выполняется в пределах модуля, где данная процедура расположена, дополнительно анализируется возможное использование процедуры в качестве обработчика какого-либо события. Процедуры и функции, которые объявлены как экспортные, никогда не считаются неиспользуемыми. Это связано с их возможным вызовом из внешнего соединения. Поэтому невозможно использовать данный тест для обнаружения потерянных обработчиков команд интерфейсов, поскольку такие обработчики должны быть объявлены как экспортные.
Следует учитывать, что в некоторых случаях определение процедуры или функции как неиспользуемой может выполняться некорректно. Это относится к случаям динамического назначения обработчиков событий при помощи объекта Действие и методов УстановитьДействие() и ПодключитьОбработчикОжидания() .
Проверка существования назначенных обработчиков
Проверяется существование обработчиков, на которые ссылаются элементы управления в формах, команды в интерфейсах и элементы графических схем.
Полезность этого теста заключается в том, что в режиме 1С:Предприятие отсутствие обработчика не вызовет ошибки, - просто ничего не будет выполнено. В итоге локализация ошибки конфигурации может быть затруднена.
Поиск пустых обработчиков
Пустой (ничего не исполняющий) обработчик события формально не является ошибкой, однако наличие таких обработчиков может негативно сказаться на производительности конфигурации, особенно если соответствующее событие возникает регулярно, например событие При выводе строки табличного поля.
Тестирование и исправление информационной базы 1С 8.3 необходимо выполнять в случае, если у вас возникают ошибки в работе информационной базы и перед обновлением конфигурации базы. В большинстве случаев при повреждении вашей информационной базы оно помогает.
Перед выполнением тестирования и исправления необходимо сделать резервную копию базы. Если же вы не можете зайти в конфигуратор, то в папке с установленной программой 1С есть утилита для тестирования и исправления, которая не требует запуска программы в режиме конфигуратор. Обо всем этом поговорим ниже.
Рассмотрим этот инструмент и как с ним работать. Особенно подробно разберем какие флаги надо ставить в интерфейсе.
Если у вас нет времени читать, можете просто просмотреть наше видео:
Тестирование и исправление в конфигураторе
Запустим программу в режиме конфигуратор:
Выбираем из меню Администрирование пункт “Тестирование и исправление”:
Какие галочки ставить?
Существуют различные варианты настройки тестирования, рассмотрим эти галки:
Получите понятные самоучители по 1С бесплатно:
В нашем примере проставим все галочки как показано на рисунке и нажимаем “Выполнить”:
После окончания тестирования нажимаем “Закрыть”:
Тестирование и исправление закончено.
Если конфигуратор не открывается: утилита chdbfl.exe
Если база повреждена настолько, что вы не можете зайти в конфигуратор, можно воспользоваться утилитой от 1С chdbfl.exe. Утилита устанавливается вместе с платформой 1С и найти ее можно в папке Bin каталога установки:
Перед тем как приступить к тестированию вам обязательно нужно сделать копию вашей базы, так как использование этой утилиты может привести к необратимым последствиям. Так как вы не можете зайти в конфигуратор, резервную копию надо делать простым копированием каталога вашей информационной базы.
После того как нажали копировать, нажимаем правой кнопкой на пустом месте окна папки и нажимаем “Вставить”. Копия сделана, запускаем утилиту:
Появляется главное окно утилиты. Нам нужно указать имя файла базы данных. Нажимаем на три точки. Открывается окно выбора файла БД. Ищем каталог вашей базы и в нем указываем на файл 1Cv8.1CD. Нажимаем “Открыть”.
Ставим галочку “Исправлять обнаруженные ошибки” и нажимаем “Выполнить”.
Ждем окончания операции. Она может занять продолжительное время, в зависимости от размера базы.
После выполнения, если были исправлены ошибки они отобразятся в окне утилиты. В моем случае ошибок не обнаружено. Нажимаем “Закрыть” и пробуем зайти в программу. Если зайти все же не получается, вам необходимо обратиться к специалисту.
Операция тестирования и исправления базы данных в обновляторе.
. равнозначна операции, которую мы запускаем из конфигуратора через меню "Администрирование-Тестирование и исправление. ":
Обновлятор запускает ту же самую операцию, но использует для этого пакетный режим конфигуратора и ключик IBCheckAndRepair.
Необходимость
В процессе работы с базой могут возникать различные нештатные ситуации - отключение питания компьютера, зависание операционной системы, различные сбои оборудования.
Если такие ситуации возникают в процессе записи изменений в базу, то это может приводить к её некорректному состоянию. Особенно это актуально для файловых баз.
Внешние проявления некорректного состояния базы могут быть разными, вплоть до невозможности её запуска.
Описываемая процедура тестирования и исправления баз как раз предназначена для диагностики и устранения ошибочных состояний баз (как файловых, так и клиент-серверных).
Подготовка
Внимание. Тестирование вместе с исправлением ошибок.
. необратимая операция! Позаботьтесь о резервной копии , из которой можно будет восстановить базу в случае неудачи.
Лучше всего сначала провести тестирования без исправления и только затем, на его основе выбрать способы исправления базы.
Общее напутствие
Обычно для регулярного обслуживания баз достаточно выполнять реиндексацию таблиц вместе с проверкой логической и ссылочной целостности.
Пересчёт итогов - по показаниям, если где-то поплыли цифры в отчётах.
Сжатие таблиц - для файловых сразу после их обновления.
С реструктуризацией таблиц будьте осторожны, это полная пересборка базы, может выполняться очень долго и завершиться аварийно.
Нюансы
При проверке логической целостности выполняется проверка того, что в основной таблице соответствующего объекта (справочник, план видов характеристик, план видов расчётов, план счетов) существует не более одной записи для каждого предопределённого элемента в каждой области данных. При обнаружении дублей (и если включена опция "исправлять") у них снимается признак предопределённости и устанавливается пометка удаления.
Регламентная операция "сжатие таблиц" возможна только для файловых баз. В этом случае выполняется оптимизация, связанная с размещением всех данных, необходимых для открытия информационной базы, вначале файла 1Cv8.1CD, непрерывным блоком данных. Такая оптимизация ускоряет открытие базы, особенно в случае баз, находящихся на сетевых ресурсах, с большим количеством таблиц. После выполнения реструктуризации базы, связанной с изменением структуры таблиц, рекомендуется повторно выполнять сжатие.
Будьте осторожны с проверкой (вместе с исправлением) ссылочной целостности для распределенных баз, у которых возможно получение данных, содержащих ссылки на объекты, не расположенные в тестируемой базе. В этом случае (если также включена опция "исправлять") при соответствующих опциях "несуществующие" данные будут созданы, а затем отправлены в другие узлы распределенной базы.
Опция "Прервать выполнение проверки. " позволяет задать интервал времени, по истечении которого тестирование будет прервано, а параметры тестирования и исправления сохранены до следующей сессии конфигуратора.
Опция "Продолжить прерванное ранее тестирование" позволяет продолжить процесс с того места, на котором он был прерван в предыдущей сессии тестирования и исправления.
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Читайте также: