Установка шрифта EanGnivc
В формах регламентированной отчетности, например, налоговые декларации, которые введены для предоставления отчетности, на всех листах в левом верхнем углу содержат свой уникальный штрих-код. В этих формах, которые распространяются фирмой "1С", для отображения штрих-кода используется специальный шрифт EanGnivc, который должен быть установлен в операционной системе. Если данный шрифт не установлен, то штрих-коды отображаться не будут.
Как установить EANG000.ttf:
Найти файл шрифта EANG000.ttf на вашем компьютере, либо скачайте с нашего сайта: Скачивать файлы может только зарегистрированный пользователь!
Далее в зависимости от установленного у Вас Windows выполните следующие действия:
Для Windows Vista, Windows 7 (Seven) и Windows Server 2008:
Выделить файл шрифта EANG000.ttf, правой кнопкой мыши выбрать команду Установить, после этого штрих-коды будут отображаться.
Для Windows XP и Windows Server 2003:
- Пуск-Панель управления-Шрифты
- в раскрывшемся окне зайти в меню Файл и выбрать команду Установить шрифт
- в поле со списком Диски выбрать нужный диск
- в поле Папки раскрыть каталог, где располагается файл шрифта EANG000.ttf
- в Списке шрифтов выбрать строку EanGnivc (True Type) и жмем Ок. Вот и готово!
Для комфортной работы пользователей с 1С:Предприятием необходимым условием является регламентное выполнение следующих процедур:
* Обновление статистики
* Чистка процедурного кеша
* Резервное копирование
Настройка выполнения обновления статистики
В Окне SQL Server Menegement Studio - кликнем правой мышкой по пункту Планы обслуживания (Menegement->Maintenance Plans) и запустим
Maintenance Plan Wizard - кликая кнопку Next заполним наименование, описание и т.д. На странице выбора задач (S_elect Maintenance Tasks)
устанавливаем флажок Update Statistics. Далее, на странице Define Update Statistics Task в поле Databases выбираем одну или несколько баз, статистику которых будем обновлять.
Рекомендую такое расписание: каждый день, каждые 2 часа.
Рекомендую такое расписание: каждый день, один раз. Я сделал запуск перед началом рабочего дня (например, в 6:00) - выполнении задачи не влияет на работу пользователей.
Самое интересное - это настройка резервного копирования...
Резервное копирование (backup)
В Окне SQL Server Menegement Studio - кликнем правой мышкой по пункту Планы обслуживания (Menegement->Maintenance Plans) и запустим Maintenance Plan Wizard - кликая кнопку Next заполним наименование, описание и т.д. На странице выбора задач (S_elect Maintenance Tasks) устанавливаем флажок Back Up Database (Full).
Расписание - я делаю каждый день (лучше, но не обязательно, когда с базой никто не работает, например, ночью).
Т.к. файлы backup большого размера, то для экономии места на диске я запускаю .bat-файл (автоматическое архивирование при помощи бесплатной программы 7zip) обычным планировщиком задач Windows .
Пусть, файлы backup находятся в каталоге F:\SQL_backUp\, а архиватор 7-zip установлен в C:\Program Files\7-Zip\ тогда файл такой:
В программах 1С Предприятие применяется несколько разных вариантов штрихкодов
1. Штрихкод в регламентированных отчётах
Расположен в левом верхнем углу налоговой декларации. Для печати используется установленный шрифт (true type font) EANGNIVC.TTF.
Выглядит - чёрные вертикальные полоски-чёрточки в левом верхнем углу
Когда не установлен - печатаются очень крупные цифры вида !510
Для установки:
1. Скачайте файл EANGNIVC.TTF в интернете
2. Скопируйте его в каталог со шрифтами (Пуск → Настройка → Панель управления → Шрифты).
Иногда штрихкод установлен, и всё равно не печатается. Найдите шрифт EANGNIVC в каталоге со шрифтами и покликайте мышкой по нему. Вы его активируете, и теперь переходите в 1С - всё получится.
2. Штрихкод в конфигурации Торговля и склад
В конфигурации Торговля и склад на этикетках с товаром применяется компонента ActiveBarcode. Установочный файл Barcod.ocx находится в каталоге с базой данных 1С.
1. Для установки скопируйте файл Barcod.ocx в каталог C:Windows\System32\
2. Нажмите кнопку Пуск и выберите пункт Выполнить
3. В поле Открыть введите команду regsvr32.exe C:Windows\System32\barcode.ocx и нажмите кнопку ОК
3. Двухмерный штрихкод
Используется в 1С Бухгалтерии при печати налоговых деклараций в 2007 году.
1. На титульном листе на второй закладке установите галочку Печатать двухмерный штрихкод.
2. Нажмите кнопку Печать - выберите строку Печатать все листы или Показать все листы.
Программа сформирует файл для ИФНС, потом преобразует его в двухмерный штрихкод и распределит его на нескольких листах декларации.
Для установки:
1. Скачайте файл SETUP_BARCODELIB.EXE
2. Запустите его с правами администратора.
4. Модуль печати машиночитаемых бланков
Используется в 1С Бухгалтерии при печати налоговых деклараций с 2008 года.
1. На титульном листе нажмите кнопку Печать
2. Выберите первую или вторую строку Печатать сразу форму с двухмерным штрихкодом PDF417 или Показать бланк формы с двухмерным штрихкодом PDF417.
Программа сформирует файл для ИФНС, потом преобразует его в двухмерный штрихкод и распределит его на нескольких листах декларации.
Для установки:
1. Скачайте файл modyl.rar, это архив, внутри программа установки и инструкция.
2. Запустите программу установки с правами администратора.
В этом материале подробная инструкция по настройке обмена РИБ для 1С:Предприятие 8 и проблемы, с которыми столкнулся автор.
1. Создание узлов
Создаем новые узлы (главный и подчиненный): в пользовательском режиме "Операции / Планы обмена/Полный"
Выберем план обмена "Полный"
Создаем две записи:
- первую запись назовем "ЦБ" (главный узел), код укажем "ЦБ",
- вторую запись назовем "Подчиненный узел", код укажем "ПУ".
Значек с зеленным кружком - "ЦБ" (главный узел)
Для подчиненного узла нажимаем на иконку "Создать начальный образ". (Потребуется монопольный доступ)
Создать начальный образ
Далее в открывшемся окне заполняем параметры новой базы. По окончании нажимаем кнопку "Готово"
Создание начального образа ИБ
Начнется создание начального образа подчиненного узла распределенной информационной базы, по окончании появится сообщение "Создание начального образа успешно завершено". Жмем кнопку "ОК".
Добавляем базу подчиненного узла в список баз, запускаем ее.
В этой подчиненной базе открываем полный план обмена - значок "ЦБ красный, это значит, что этот узел является главным для информационно базы, в которой мы находимся.
2. Настройка префиксов
Для каждой базы, в настройках параметров учета (в УПП "Сервис / Параметры учета") на закладке "Обмен данными", устанавливаем префиксы. Это делается для того чтобы не возникало конфликтов в номерах и кодах документов и справочников, созданных в двух базах.
Для автообмена, устанавливаем галочку "Использовать механизм автоматического обмена..."
Закладка "Обмен данными"
3. Добавляем настройку обмена данными между узлами
Открываем: "Сервис \Распределенная информационная база (РИБ)\Настроить узлы РИБ"
Нажимаем "Добавить", откроется окно "Настройка обмена данными"
Настройка обмена данными
Нажимаем на значок "Выполнить обмен по текущей настройке"
Выполнить обмен по текущей настройке
Теперь о "подводных камнях"
1. Обмен данными может выполняться в автоматическом режиме и может быть инициализирован в следующих случаях:
* При запуске программы. Обмен будет выполняться при запуске программы,
* При завершении работы с программой. Обмен будет выполняться перед завершением пользователем работы с программой,
* При появлении каталога. Обмен будет выполнен только в том случае, если каталог указанный пользователем был невиден, а в настоящий момент стал виден. Настройка может быть использована для выполнения автоматического обмена при подключении к локальной сети или flash карты. Программа периодически будет проверять видимость указанного в настройках каталога и отмечать его текущее состояние,
* При появлении файла. Рекомендуется использовать данные режим, когда нужно выполнить обмен, если появляется входящий файл обмена данными. В этом случае, достаточно указать полный путь к входящему файлу обмена данными. Программа периодически анализирует наличие файла, и как только он появится, будет выполнен обмен, а после обмена этот файл будет принудительно УДАЛЕН (это делается для того, что бы процедура обмена не выполнялась постоянно),
* Периодический обмен данными. Обмен будет выполняться согласно настройкам периодического обмена данными. Если информационная база работает в файл-серверном режиме, то периодический обмен выполняется только у пользователя, который указан в параметрах учетной политики как "Пользователь для регламентных заданий в файловом режиме". В Клиент-серверном варианте обмен выполняется на сервере 1C:Предприятия.
У меня Клиент-серверный вариант - для работы регламентного автообмена пришлось перегружать сервер
2. Кодировка Windows.
Обмен прерывался ошибкой - так как не происходит сжатие файла. Это из-за ошибки кириллицы в командной строке при сжатии.
Лечится исправлением кодировок в реестре.
Например, для Windows Server 2008 -
3. Создавая копию базы (например, для доработки) в клиент-серверном варианте, НЕОБХОДИМО, чтобы РЕГЛАМЕНТНЫЕ ЗАДАНИЯ КОПИИ базы были ВЫКЛЮЧЕНЫ.
Блокировка регламентных заданий для копии ВКЛ
Если их не заблокировать, то копия будет делать обмены по тому же расписанию, что и основная база. Значит, часть сообщений в удаленные узлы будет формироваться из рабочей базы, а часть из копии, что приведет рассинхронизации конфигураций. Источник
Каждый из тех кто продает свой интеллектуальный труд, не раз сталкивался с необходимостью создания демо-версии разработки, дабы продемонстрировать клиенту функциональность, но при этом сохранить для клиента потребность в приобретении полнофункциональной версии. В этой статье я хотел бы рассмотреть несколько не сложных примеров создания демо-версий обработок/отчетов для платформы «1С:Предприятие 8».
Перед тем как приступить, собственно, к сути вопроса, хотелось бы сделать небольшое отступление для «крутых хакеров». Как известно, штатные возможности 1С, не представляют достаточно надежных средств для защиты исходного кода, поэтому приведенные здесь примеры – это исключительно защита от ПОЛЬЗОВАТЕЛЯ и ничего более.
Да и в целом, по моему глубокому убеждению, открытость кода в 1С – это одно из важнейших (если не самое важное) её достоинств. Поэтому я сторонник «установки пароля на модуль, поставки без исходного текста», только в случае демо-версии разработки. А при приобретении обработки, клиент приобретает её ЦЕЛИКОМ, в том числе и исходный код.
Для начала, немного общих моментов. Для того что бы ограничить использование нашего «уникального» функционала, будь-то алгоритм проведения документа или процедура формирования отчета, необходимо вынести код в модуль объекта и скрыть его от пользователя. Это можно достичь двумя путями. Во-первых установка пароля на модуль объекта. Что бы установить пароль, откройте модуль объекта, далее в меню «Текст» выберите пункт «Установить пароль». Во-вторых поставка без исходного кода. Что бы получить обработку/отчет без исходного кода, необходимо сначала создать поставку включающую в себя наш отчет без исходного кода, а затем сохранить его как внешний. Настройка поставки производится в диалоге «Конфигурация > Поставка конфигурации > Настройка поставки».
Итак, пример № 1. Ограничение по времени использования. Заключается в том, что функционал работает в течении определенного, ограниченного времени, например 10 дней. Для этого, нам надо как-то «запомнить» дату первого запуска, сделаем это с помощью реестра Windows.
Таким образом, осталось только вставить проверку на продолжение работы в нашу основную процедуру, например:
Для особо хитрых пользователей, можно сделать запрос точного времени из Интернета, что бы защититься от изменения системного времени. Например, так:
Пример №2. Ограничение по количеству выполнений. То есть к примеру, отчет в демо-версии можно сформировать не более 5-ти раз. Делается аналогично предыдущему варианту, разница заключается лишь в том, что в реестр на этот раз будем записывать номер текущего запуска.
Пример №3. Реализация защиты «пароль-ответ». Недостаток предыдущих способов, заключается в том, что полнофункциональная версия является отдельной разработкой, которую клиенту необходимо переслать, привести, установить и т.д. При использовании же, следующего способа, всё что потребуется для получения полной версии разработки – это зарегистрировать обработку, т.е. ввести правильный код.
Суть этого способа состоит в том, что при запуске у клиента формируется некий уникальный ключ, для которого, по только нам известному алгоритму, можно сформировать «ответный пароль». И в случае совпадения пары ключ-ответ обработка считается успешно зарегистрированной.
В качестве такого уникального ключа можно, к примеру, использовать серийный номер жесткого диска, MAC-адрес, имя пользователя и т.д. Рассмотрим пример с серийным номером жесткого диска.
Алгоритм получения «ответного значения» по ключу, ограничен лишь Вашей фантазией. Здесь же, в качестве примера, я буду использовать простую перестановку символов в обратном порядке.
Таким образом, наша процедура проверки и подтверждения регистрации будет выглядеть так:
Осталось только вставить проверку регистрации в нашу основную процедуру:
На данный момент, существуют различные декомпиляторы, плагины к Total Commander и др. разработки, позволяющие получить исходный программный код, даже если он закрыт паролем или поставляется в скомпилированном варианте. Дабы чуть-чуть усложнить жизнь пользователям умеющим пользоваться Google, можно ключевые моменты алгоритма, такие как работа с реестром или проверка регистрационного кода, дополнительно вынести во внешний шифрованный скрипт.
Начиная с Windows Script 5.0, появилась возможность чтения зашифрованных сценариев машинами сценариев. Поэтому любой сценарий написанный на VBScript или JavaScript, может быть выполнен в зашифрованном виде. Что бы преобразовать код на VBScript в зашифрованный вид, воспользуемся бесплатной утилитой «Windows Script Encoder», которую можно скачать с сайта Microsoft. В результате, например скрипт создания в реестре Windows раздела «HKEY_CURRENT_USER\Software\1C\1Cv8\Report», будет выглядеть следующим образом: #@~^ZAAAAA==jY~UtVV{ZMnlD+64N+^OvJU^DbwYcj4+^Vr#@#@&j4VsR"noqDrOPJuF;jw?KWDhCM+ 'FZ'F;-%'InwKDOwr~\(HE^V@#@&hyAAAA==^#~@
Приведу пример функции, осуществляющей проверку введенного пользователем регистрационного кода, с использованием шифрованного скрипта:
Эта функция вернет «Истина», если в качестве регистрационного кода передать ей строку «dce8a7196f14». Аналогичным образом можно скрыть и всю работу с реестром. Но, тем не менее, не следует забывать о существующих специализированных программных продуктах, позволяющих отслеживать чтение и запись реестра.
В заключении, хочется сказать, что как известно, надежная защита для программного продукта – это такая защита, стоимость взлома которой, превышает стоимость законного приобретения. Поэтому для крупных проектов следует использовать более надежные средства от незаконного копирования и использования, такие как вынос ключевых функций во внешние dll, аппаратные ключи защиты и пр. Здесь же я попытался привести несколько простых примеров в качестве основ так сказать… Источник
Круглов Дмитрий дмитриевич:
Скрипт определяет наличие предыдущих платформ и деинсталлирует их..
далее устанавливает последнююю версию, прописывает нужные базы и прямые ярлыки
Рябко Михаил Евгеньевич:
При установке файла 1CEnterprise 8.2.msi через GPO платформа ставилась, но потом ее не могли удалить (после выключения из групповых политик установки). Никакой unistaller ee не брал. Потом почистили реестр, вроде победили.
Более того, инсталлер не прописывал ярлыки в каталог %SystemRoot%\Installer\{8150646B-4F88-4415-AF2A-F96199E3DA37},из за этого все ярлыки были без картинок.
Даже если бы все работало, этот способ не очень понравился, т.к. для 8.2 через те же GPO нельзя прописать базы. А смысл тогда?
Далее пробовали через скрипт. Такое же непредсказуемое поведение по деинсталляции платформы. Кроме этого появлялось 2 ярлыка после установки. Один - который прописан в скрипте, другой - после работы инсталлятора. Ну ладно, написал файл трансформации, чтобы лишний ярлык не создавал, но проблема ошибки при выполнения скрипта ("Требуется объект") и деинсталляции осталась.
Точно также проблема деинсталляции и с ярлыками остается при прямой установке 1CEnterprise 8.2.msi (без трансформации, запуском из проводника), разве что из списка программ удаляется, а все файлы остаются.
В итоге пришли к решению в лоб. Раз уж запуск 1cestart.exe на расшаренной папке дает более-менее положительный результат вручную, то нужно и идти по этому пути. Написал скрипт установки. Вроде работает. Правда, чтобы ограничится установкой без запуска, пришлось создать базу-пустышку и намеренно внести ошибку в параметр запуска. Далее по комментариям все должно быть понятно.
А так есть подозрение, что причина в кривом файле 1CEnterprise 8.2.msi (ярлыки то хотя бы он должен создавать нормально?). То ли дело установка через Setip.exe - тут все в шоколаде и работает.
Итак, альтернативный скрипт (сохранить с расширением *.vbs)
Для работы с сетевыми ресурсами в WSH предназначен объект WshNetwork. Из "1С:Предприятие" можно напрямую управлять сетевыми ресурсами, в том числе и принтерами.
Получить список принтеров
Подключение сетевого принтера
Объект WshNetwork позволяет определить список подключенных сетевых принтеров. Для этого используется метод EnumPrinterConnections, который возвращает коллекцию принтеров. Данную коллекцию можно перебрать с помощью конструкции
При копировании из «1С:Предприятие» через буфер обмена текст вставляется в другой кодировке?
Избавляемся от этой проблемы с помощью нехитрых манипуляций.
Попробуем скопировать из конфигуратора любую часть текста, например строку:
Бывает так, что при вставке из буфера обмена в текстовый документ (например, блокнот или Word) получаем текст в виде иероглифов!
Конечно, при копировании можно контролировать текущую раскладку, чтобы был включен русский язык, тогда проблем при копировании не возникнет. Но кому хочется следить за этим и делать что-то второй раз, копируя данные повторно?
С помощью программы regedit (Пуск\Выполнить\regedit) нужно открыть реестр Windows и найти путь: НKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Codepage
В строке с именем 1252 установить строковый параметр c_1251.nls.
После этого перезагружаем компьютер и забываем о проблеме некорректного отображения текста.
Регулярные выражения (Regular Expressions) являются известным и мощным средством для поиска, тестирования и замены подстрок. Эта технология доступна и в 1С - через объект VBScript.RegExp. Нужный объект уже встроен в современные версии Windows (начиная с Windows 98), и устанавливать дополнительно ничего не нужно.
Приведенные ниже примеры были протестированы в 1С:Предприятие 7.7; для 1С:Предприятие 8.x изменяется способ создания объекта:
Кроме того, там уже есть логические константы Истина и Ложь - объявлять их не нужно.
Более подробное описание самой технологии RegExp (что означают те или иные значки или скобочки, или какие шаблоны поиска или замены можно использовать в типичных ситуациях) можно найти в специальной литературе (например Бен Форта "Освой самостоятельно регулярные выражения (regexp) за 10 минут") или на сайтах в сети Internet.
Более продвинутый пример разбора HTML использует подвыражения (SubMatches) и позволяет находить как сами теги, так и текст между ними.
Часто регулярные выражения используются для тестирования строк, например пользовательского ввода.
Этот пример позволяет узнать, является ли строка целым числом.
Регулярные выражения поддерживают не только поиск, но и замену текста. При этом найденные подвыражения (в круглых скобках) могут быть представлены в строке замены как $1, $2 и т. д.
(знак доллара используется в VBScript.RegExp; в других средах программирования, например в JavaScript, используемый для этой цели символ может отличаться).
В 1С:Предприятии реализован механизм поддержки операций перетаскивания. С его помощью возможно осуществлять перенос данных между разными элементами управления. Например, можно переносить элементы списка справочника из одной группы в другую, переносить данные из табличного поля в поле табличного документа или перенести список выделенных файлов из проводника MS Windows в какой-либо элемент управления.
Операции перетаскивания поддерживают следующие элементы управления:
* табличное поле;
* поле табличного документа;
* поле календаря;
* поле картинки.
При операциях перетаскивания используются следующие понятия:
* источник данных - элемент управления из которого можно перетаскивать данные;
* <приемник данных - элемент управления в который можно перетаскивать данные.
Существует возможность разрешать или запрещать элементам управления предоставлять или принимать данные, т.е. быть источником или приемником данных. Для этого у элементов управления существуют следующие свойства: “Разрешить начало перетаскивания” – разрешает элементу управления предоставлять данные и “Разрешить перетаскивание” – разрешает элементу управления принимать данные. Эти свойства можно устанавливать из палитры свойств или из встроенного языка.
Последовательность событий при перетаскивании
При нажатии кнопки мыши на выделенной области элемента управления (это может быть строка, группа строк табличного поля, область поля табличного документа, дата календаря или картинка) у элемента управления – источника данных вызывается обработчик события НачалоПеретаскивания. В качестве параметров данного события передаются объект типа “ПараметрыПеретаскивания” и “СтандартнаяОбработка”. Параметр ПараметрыПеретаскивания имеет следующие свойства:
* Значение - содержит перетаскиваемое значение, например, для табличного поля это может быть ссылка на объект, для табличного документа – область табличного документа, для календаря – дата. Можно присвоить этому свойству свое значение (например, какую-нибудь структуру), тогда это значение будет являться перетаскиваемым объектом.
* Действие – указывает действие перетаскивания и является значением типа ДействиеПеретаскивания (Копирование, Перемещение, Выбор или Отмена).
* ДопустимыеДействия – указывает допустимые действия перетаскивания и является значением типа ДопустимыеДействияПеретаскивания ( Копирование, Перемещение, КопированиеИПеремещение, HеОбрабатывать). При помощи этого свойства можно указать какие операции возможны с данными источника данных (например, только копирование).
Параметр СтандартнаяОбработка позволяет разрешить или запретить стандартную обработку операции перетаскивания из данного элемента управления. Для события НачалоПеретаскивания стандартной обработкой является начало перетаскивания данных.
Далее, у элемента управления – приемника данных вызывается обработчик события ПроверкаПеретаскивания . Данный обработчик вызывается всякий раз, когда курсор попадает на новый объект в элементе управления – приемнике данных (например, в новую ячейку табличного поля или поля табличного документа, при попадании в новую дату в поле календаря). Набор параметров данного события зависит от элемента управления – приемника данных, но первые два параметра у всех одинаковы. Это объект типа ПараметрыПеретаскивания и СтандартнаяОбработка. Остальные параметры описывают объект под курсором. Для табличного поля это Строка и Колонка, для поля табличного документа – Область, для календаря – Дата, а для поля картинки дополнительных параметров нет. При обработке данного события можно управлять видом курсора, т.е. например указывать что перетаскивание в данный элемент управления запрещено или возможно только копирование. Для этого необходимо установить необходимое действие в свойстве Действие параметра ПараметрыПеретаскивания. Необходимо учитывать, что устанавливаемое действие перетаскивания должно быть разрешенным, т.е. не вступать в противоречие с значением свойства ДопустимыеДействия. Например, действие Копирование не вступает в противоречие со значением допустимых действий КопированиеИПеремещение, а значение Перемещение вступает в противоречие со значением допустимых действий Копирование. Параметр СтандартнаяОбработка используется для указания возможности стандартной обработки элементом управления данного события. Стандартная обработка перетаскивания зависит от типа элемента управления:
* Для табличного поля проверяется возможность вставки значения, т.е. проверяется тип значения, и если он совпадает с типом отображаемых данных, то производятся стандартные действия. Стандартные действия для иерархических динамических списков – перемещение в группу, для табличных полей, отображающих наборы записей или табличные части изменение порядка строк и копирование.
* Для поля табличного документа – проверка возможности вставить передаваемое значение.
* Для поля картинки и календаря стандартной обработки нет.
При отпускании клавиши мыши в элементе управления – приемнике данных вызывается обработчик события Перетаскивание. Набор параметров этого события тот же, что и у события ПроверкаПеретаскивания. Параметр СтандартнаяОбработка позволяет разрешить или запретить стандартную обработку события элементом управления. Стандартные действия перетаскивания описаны выше.
Затем в элементе управления – источнике данных вызывается обработчик события ОкончаниеПеретаскивания. При обработке этого события элемент управления – приемник данных может, например, удалить перемещенные данные или очистить какие – либо переменные.
Что делать, если не выполняется процедура "Перетаскивание"?
1. У элемента формы "Приемника" должно быть установлено свойство "Разрешить перетаскивание"
2. В процедуре ПроверкаПеретаскивания можно установить СтандартнаяОбработка в ложь (СтандартнаяОбработка = Ложь);