1с архив не является набором вариантов картинки либо содержит некорректные варианты
«1С:Предприятие» поддерживает два варианта работы:
● файловый,
● клиент-серверный.
Файловый вариант работы с информационной базой рассчитан на персональную работу одного пользователя или работу небольшого количества пользователей в локальной сети. В этом варианте все данные информационной базы (конфигурация, база данных, административная информация) располагаются в одном файле.
Такой вариант работы обеспечивает легкость установки и эксплуатации автоматизированной системы. При этом для работы с информационной базой не требуются дополнительные программные средства, достаточно иметь операционную систему и «1С:Предприятие».
Файловый вариант «1С:Предприятия» обеспечивает высокую целостность информационной базы и простое создание резервных копий. Исключена ситуация, когда пользователь может по ошибке (например, при копировании информационной базы) перепутать различные файлы информационной базы и привести таким образом систему в неработоспособное состояние.
Кроме этого, резервное копирование может осуществляться на файловом уровне, путем простого копирования файла информационной базы.
Однако, несмотря на легкость и простоту использования, файловый вариант обладает некоторыми ограничениями. Также следует помнить о том, что использование файлового варианта с подключением через веб-сервер рекомендуется использовать для работы небольшого количества пользователей, при условии отсутствия длительных операций.
Ограничения файлового варианта
- Файл базы данных (.1CD) внутри организован как множество так называемых внутренних файлов. Каждой из таблиц базы данных соответствует до четырех внутренних файлов:
– Файл описания таблицы – в нем находится описание таблицы.
– Файл записей данных – содержит данные всех записей таблицы, за исключением данных, содержащихся в полях неограниченной длины.
– Файл индексов – размещены все индексы, определенные для таблицы. Если не определено ни одного индекса, то этот файл отсутствует.
– Файл значений неограниченной длины – хранятся значения неограниченной длины, содержащиеся в полях таблицы. - Размер каждого из вышеперечисленных внутренних файлов не может превышать:
– для формата версии 8.2.14 – 4 Гбайта.
– для формата версии 8.3.8 с размером страницы 4 096 байт – 4 Гбайта.
– для формата версии 8.3.8 с размером страницы 8 192, 16 384, 32 768 и 65 536 байт – 6 Гбайт. - Длина ключа в индексе не может превышать 1 920 байт.
Особенности работы файлового варианта базы данных с файловой системой
Для корректной работы «1С:Предприятия 8» в файловом варианте и сохранения физической целостности файла базы данных важно, чтобы функции работы с файлами, предоставляемые операционной системой, выполнялись нормально. Некорректное выполнение функций работы с файлами (чтение, запись, установка блокировки, освобождение блокировки) может привести к разрушению файла базы данных. Редко, но случаи некорректного выполнения функций работы с файлами наблюдаются. Наиболее часто неприятности происходят, когда доступ к файлу базы данных осуществляется одновременно с нескольких компьютеров. Например, известен случай, когда при таких условиях результаты операций записи, произведенной «1С:Предприятием 8» на одном из компьютеров, оказались невидимыми для процесса «1С:Предприятия 8», работающего на другом компьютере. В результате произошло разрушение файла базы данных. Поэтому важно обеспечить условия, при которых операционной системе ничто не мешает точно и аккуратно работать с файлами баз данных. Известны следующие источники нарушения нормального функционирования:
- Сбои в работе сети,
- Влияние антивирусов,
- Включенное автономное кэширование.
Могут быть и другие причины. Таким образом, во всех случаях использования файловой базы данных следует:
- Отключить проверку антивирусом файлов .1CD.
- Выключить автономное кэширование для разделяемых каталогов информационной базы.
- Следить за техническим состоянием сетевой инфраструктуры.
Это действительно важно. Результатом некорректной работы файловых функций могут быть нарушения в работе с программой или разрушение файлов баз данных.
Размещение данных 1С:Предприятия 8
Размещение данных в файловом варианте
Данные, которые 1С:Предприятие использует всегда, могут быть разделены на 5 групп в соответствии с их назначением и мерой их ответственности:
- Информационные базы
- Хранилище конфигурации содержит текущую конфигурацию и историю ее разработки при использовании в Конфигураторе средств групповой разработки. Все хранилище содержится в одном файле – 1Cv8ddb.1cd, который располагается в каталоге, заданном в качестве каталога хранилища конфигурации.
- Журнал регистрации содержит список операций, совершенных над данной информационной базой. Журналы регистрации хранятся в специальных каталогах 1Cv8Log по одному на каждую информационную базу. Каждый каталог содержит файл 1Cv8.lgf и несколько файлов с именами вида yyyyMMddhhmmss.lgp, где yyyy – номер года, MM – номер месяца, dd – номер дня в месяце, hh – номер часа, mm – номер минуты, ss – номер секунды. Например, “20070525200000.lgp”. Файл 1Cv8.lgf содержит общую информацию журнала регистрации. В файловом варианте информационной базы журнал регистрации располагается в каталоге информационной базы, в том же, что и файл самой информационной базы. Например, если информационная база хранится в файле C:/EnterpriseInfoBase/1cv8.1cd, то журнал регистрации будет находиться в каталоге C:/EnterpriseInfoBase/1Cv8log.
- Вспомогательные данные – Профайлы ( с расширением .pfl ) для хранения формат и расположение окон и диалогов, настройки шрифтов, цветов, отборов и т. п. Наряду с профайлами в каталоге данных приложения могут содержаться и другие файлы с информацией, сохранение которой делает работу пользователей с 1С:Предприятием 8 более удобной. Потеря вспомогательных данных не приводит к нарушению работоспособности системы.
- Временные данные. Эти данные использует приложение 1С:Предприятия 8 для служебных целей. Они актуальны только в пределах одного сеанса работы и после его завершения уничтожаются. Такие данные хранятся в том же каталоге, что и файл информационной базы, например : Файл 1Cv8cl является носителем блокировок объектов базы данных, расположенной в нем; Файл 1Cv8Tmp.1cd хранит служебную сеансовую информацию, в частности список активных пользователей; Файл 1Cv8Tmp.1cl является носителем блокировок данных, расположенных в файле 1Cv8Tmp.1cd. Для хранилища конфигурации 1С:Предприятие 8.0 в режиме Конфигуратора создает временные файлы аналогичного назначения, расположенные в каталоге хранилища конфигурации: Файл 1Cv8ddb.1cl является носителем блокировок данных из хранилища конфигурации; Файл 1Cv8dtmp.1cd хранит служебную сеансовую информацию, в частности список активных пользователей хранилища конфигурации; Файл 1Cv8dtmp.1cl является носителем блокировок данных, расположенных в файле 1Cv8ddb.1cd.
Несмотря на то, что потеря временных данных не приводит к нарушению работоспособности информационной базы, бывают случай, когда “висит” сеанс пользователя, особенно при работе через веб-сервер и временные файлы не уничтожаются. Это приводит к блокировке очередного запуска сеанса – Ошибка совместного доступа к файлу 1Cv8tmp.1CD. Для устранения проблемы нужно снять зависящий сеанс пользователя.
Работа с новым форматом файловой базы данных
Начиная с версии платформы “1С:Предприятие” 8.3.8 появилась поддержка нового формата файловых баз данных (включая работу в режиме совместимости с предыдущими версиями). Новый формат файловых баз данных предназначен для ускорения процесса открытия и работы с информационной базой, поэтому, начиная с версии платформы 8.3.9, новый формат используется по умолчанию при создании новых файловых баз данных.
В новом формате (версии “8.3.8″) появились следующие возможности:
- Уменьшен размер и оптимизирована структура заголовка с метаинформацией в файле 1Cv8.1CD. Это позволяет существенно снизить число операций чтения файла при открытии базы данных и, тем самым, заметно ускорить время старта и начала работы программы.
- Теперь можно настраивать размер внутренней страницы файла данных. Это размер порции данных, в которых хранится информация и которыми обменивается программа с файловой системой. Предыдущий формат файловой базы данных (версии “8.2.14″) поддерживал единственный размер внутренней страницы файла – 4Кб. Новый формат по умолчанию использует размер страницы 8Кб, но позволяет его менять в диапазоне от 4Кб до 64Кб.
Наибольший эффект от использования нового формата файловых баз данных ожидается в следующих сценариях:
- “холодный” запуск программы,
- работа с файлами базы данных по локальной сети,
- работа с сильно фрагментированной базой данных,
- использование дисковых подсистем с невысокой производительностью.
При создании новых файловых баз данных рекомендуется использовать настройки формата базы по умолчанию (версия формата “8.3.8“, размер страницы файла 8Кб). Если Вы используете базу данных, созданную в предыдущих версиях платформы, и наблюдаете недостаточно высокую производительность при старте и во время работы программы, то рекомендуется сконвертировать базу данных на новый формат файла.
Для преобразования формата файловой базы данных в комплектацию поставки платформы “1С:Предприятие” добавлена утилита CNVDBFL.EXE, которая должна находиться в папке “\bin” вашей установки “1С:Предприятие”. Например, полный путь к папке, где находится утилита, может быть “C:\Program Files (x86)\1cv8\8.3.9.1850\bin“, где “8.3.9.1850” – номер версии установленной платформы “1С:Предприятие”. В этой же папке находятся другие исполняемые файлы платформы, такие как, например, “1Cv8.exe”.
Если Вы не можете найти утилиту CNVDBFL.EXE в папке “\bin“, проверьте, что Вы используете версию “1С:Предприятие” 8.3.8 и выше.
Если Вы хотите проверить параметры Вашей файловой базы данных, используйте следующий вызов утилиты (указав в команде правильный путь к Вашей базе данных):
Утилита тестирования chdbfl
Утилита предназначена для автономной проверки и исправления файлов базы данных.
Данная утилита предназначена для работы только с файловой базой данных. Утилита доступна только в 32-разрядном варианте. Файловая база данных используется:
- для хранения информационной базы в файловом варианте;
- хранения хранилища конфигурации.
Для запуска утилиты в каталоге установки системы «1С:Предприятие» нужно запустить приложение chdbfl. На экран выводится окно (см. рис.1)
Утилита тестирования и исправления информационных баз
Перед использованием данной утилиты следует обязательно сделать резервную копию файла базы данных.
В поле Имя файла БД указать или выбрать имя файла информационной базы.
Установить флажок Исправлять обнаруженные ошибки, если требуется исправлять обнаруженные при проверке ошибки. Также этот флажок следует установить, если необходимо выполнить оптимизацию размещения служебной информации, ускоряющей открытие информационной базы
В справочнике Номенклатура есть реквизит "ОсновноеИзображение" с типом "ХранилищеЗначения". В нем хранится файл картинки в двоичном коде. Есть необходимость выгрузить файлы изображений. Все картинки с разными типами например GIF или JPG, PNG и т.д. Естественно расширения файлов не сохранены. Как можно определить тип картинки (расширение файла)? Пока есть мысль сохранить во временный файл, затем побайтово прочитать первые N символов и попытаться найти ключевые фразы для каждого типа. Буду рад если ткнете в готовое решение или повернете в нужное направление.
это неестественно, а безалаберно.
В двоичных данных может быть все что душе угодно, поэтому должен быть реквизит, позволяющий определить хоть как-то определять содержимое, имя файла, или его расширение, для дальнейшей работы. Это все контролируется и на совести разработчика. Впрочем, как и вообще само по себе наличие данных в хранилище.
Базу очень легко раздуть до неимоверных размеров, на ровном месте.
А так, да, можно сохранить как текстовую строку, и поиском в ней символов явно из структуры тех или иных файлов, можно определять тип.
А потом сохранять заново, в определенном формате.
Медленно конечно, смотря какие там размеры файлов.
Если этот процесс будет регулярным, а не разовым, то лучше ввести такой признак в справочник номерклатуры, сделать обработку по определению типа файлов, которая пройдет, определит и пропишет расширение в реквизит. Ну и работать с этим будет намного проще.
(5) ipoloskov, ну мы же не знаем, что там у чела за конфа.
В некоторых конфах, и хранилище в сам справочник номенклатуры не пихают, а вынесено в отдельный справочник файлы.
Пусть с архитектурой уж сам заморачивается, где и как хранить эту информацию
Если б я это писал. Конфа не типовая, а от франчев.
Если этот процесс будет регулярным, а не разовым, то лучше ввести такой признак в справочник номенклатуры
Будет не чаще раза-двух в год. Обработка порядка 1000-2000 элементов. Наверное, Вы правы, что стоит завести отдельный реквизит.
Хранить в отдельном реквизите или в хранилище - решайте сами. Хранить сразу в хранилище лучше, имхо, потому что можно впихнуть любую информацию о файле, кроме того не потребуется менять структуру конфигурации. Но для это потребуется переконвертировать все хранящиеся изображения.
(1) ECartman, если правильно писали, то оно должно быть записано в имени картинки. Но если через одно место, то только парсить.
Блин, все разобрался. Надо было просто в синтаксис-помощник заглянуть)))
P.S. Для тех, кому интересно. У типа "Картинка" есть замечательный метод "Формат()", который, собственно, и покажет что за тип картинки. И смех и грех)
(9) ECartman, да интересно.
У картинки то есть, но откуда взяться картинке скажем при обработке справочника ?
Я так понимаю картинка, это декорация формы, либо в макете - куда этот файл необходимо поместить.
Но нам ведь нужно сделать выгрузку..не открывать же для этого форму каждого элемента справочника.
Ты картинку как-то программно создаешь, в нее выводишь файл из хранилища и потом считываешь формат ? А если файл в хранилище будет некартинкой, система переварит ?
В общем, просто покажи код который получился )) Для общего развития, может кому пригодится в будущем.
(10) Boneman, В справочнике "Номенклатура" есть реквизит "ОсновноеИзображение" с типом "ХранилищеЗначения". В него записывается изображение номенклатуры.
Далее имеем простой код
Форма интерактивного изменения изображения записывает в реквизит "ОсновноеИзображение" объект с типом "Картинка". Но если кто-то умудрится туда запихнуть не картинку, то вернется "НеизвестныйФормат" (проверено).
Ну и если у кого-то картинка сохраняется в двоичных данных, то сначала нужно получить из них картинку, потом проверить формат.
Изменение форм типовых конфигураций лучше выполнять программно.
Эта обработка упрощает добавление элементов на форму, генерируя код создания элементов, реквизитов и команд формы.
1С:Предприятие 8.3 (8.3.7.2027) Управление торговлей, редакция 11.1 (11.1.4.14) не видит командную панель табличной части любого документа.
Обработка очень хорошая и нужная, но есть одна недоработочка.
Когда генерируется код добавления двух и более элементов формы, то указывается элемент формы перед которым вставлять.
Т.е. добавляется первый элемент, и в коде прописано что его нужно вставлять перед вторым.
А второго то еще нет! И возникает ошибка.
(107) Добавление элементов выполняются, начиная с последнего.
Поэтому при добавлении первого второй уже есть.
Если, конечно, в сформированном обработкой коде самостоятельно строки местами не меняете.
(108)С последнего? Это как-то все равно что писать справа налево.
Смысл то какой в этом? Просто потом приходится ручками лишние куски кода убирать.
(109) Возможно потому, что добавление любого элемента выполняется вставкой, которая предполагает указание элемента перед которым нужно вставить, а не добавлением. Это предположение, могу ошибаться.
(110)Добавлять элементы можно как добавлением, так и вставкой. При этом указание элемента перед которым нужно вставить не является обязательным.
(109) Смысл в том, чтобы вставить элемент на нужное место.
Добавлять можно. Но добавление всегда добавляет элемент последним. Это удобно, если рисуем форму программно полностью с нуля. Но чаще мы не рисуем форму с нуля, а добавляем программно несколько элементов между имеющимися типовыми. В данном случае применима только вставка. А вставка требует указания места вставки.
Замечательная вещь, очень удобно, большое спасибо!
Надо было в Заказ добавить с десяток вкладок с каким-то немыслимым количеством элементов на них. В итоге, модификация формы - одна строчка, ну и дополнительный общий модуль (в т.ч. и для прочих нужд)! Знай себе копипасти - красота!
(на платформе 8.3.9.2170, в УНФ 1.6.7.43, при анализе ЗаказаПокупателя, в конце СформироватьДеревоСЭлементамиФормы(), споткнулось об ПутьБезТочек, когда она приняла значение "ОбъектПлатежныйКалендарь[0]" - поправил для себя, исключив недопустимые символы)
Добрый день. Решил попробовать обработку. Для 3.0 поправил процедуру ПриСозданииНаСервере() в глобальном модуле, как было сказано в тексте описания, но обработка ругается:
Подскажите, что я забыл сделать. Тапками не кидайтесь - не шибко еще опытный
Интересная обработка, в копилку.. Похоже она умеет отличать измененные свойства элементов формы еще.. интересно как это сделано
Добрый день! Только что опробовал на 8.3.13.1644. Очень помогло, большое спасибо)
Что заметил (создаю таблицу формы из дерева):
- НовыйЭлемент.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет; -автоматически не добавилось
- НовыйЭлемент.СохраняемыеДанные = Ложь; - зачем-то добавляется, этот флаг и так по-умолчанию Ложь
Еще заметил что не выгружается условное оформление формы. Не хватает возможности подцеплять внешнюю обработку.
В "Декомпиляция управляемых форм 3.0.1 (с 8.3.5) (3.0 + разбор командной панели + клиент-сервер)" ошибка. Модуль формы
Если в реквизите есть такое "Изображения[0].Адрес"
та падает с ошибкой.
Стандартная УНФ ((
Кто мог подумать что так сделают .
Можно ли при программном добавлении команды в Действие = ". " указать процедуру из общего модуля? Чтобы в форме вообще не было никаких изменений
(125) Процедуру из общего модуля нельзя.
Однако во многих типовых есть как раз на такой случай отдельная процедура в форме "Подключаемый. ", которая из себя вызывает процедуру общего модуля. Можно попробовать подключить её и внести изменения в общий модуль.
Конфигуратор позволяет включать в конфигурацию графические изображения – картинки. Картинки можно размещать в некоторых элементах управления, в формах, в макетах, а также обращаться к ним при помощи встроенного языка системы «1С:Предприятие».
Если картинку планируется использовать в качестве пиктограммы в меню, панели инструментов, табличном документе и т. п., важно задать ей правильный размер, чтобы она отображалась без искажений.
Рекомендуемый размер картинок:
● для пиктограмм – не более 16×16 точек;
● для использования в табличном поле – не более 14×14 точек;
● в качестве картинки кнопки выбора поля редактирования – не более 9×9 точек;
● для картинки, которая будет использована в качестве представления подсистемы – не более 48×48 точек.
СОВЕТ. Если картинку предполагается использовать в нескольких местах, ее размер разумно ограничить меньшим значением.
Для работы с картинками предназначено окно Библиотека картинок. Для его вызова в окне Конфигурация нужно указать ветвь Общие картинки и в контекстном меню выбрать пункт Все картинки . На экран выводится окно ведения списка картинок
Для добавления новой картинки следует нажать кнопку Добавить. На экран выводится окно, в котором можно выбрать картинку из файла или открыть редактор картинок и создать новую картинку, а также выбрать или изменить для картинки прозрачный фон. Для выбора готовой картинки нужно нажать кнопку Выбрать из файла и выбрать файл, в котором расположена подготовленная заранее картинка или их набор .
Система «1С:Предприятие» позволяет использовать картинки форматов BMP, GIF, JPG, PNG, TIFF, ICO, SVG, метафайлы (WMF, EMF) или наборы картинок в zip- архиве .
Для картинок формата gif поддерживаются расширения NETSCAPE2.0 и ANIMEXTS1.0. Другие расширения не поддерживаются и поведение системы в этом случае не определено.
Для картинок формата SVG игнорируются следующие элементы:
● Анимация, java-script и любая интерактивность, в том числе css-свойства связанные с интерактивностью, например псевдокласс :hover.
● Свойства стилей:
● color-interpolation;
● color-rendering.
● Маркеры для пути с нулевой длиной.
● Фильтр-примитив feTile.
● Элементы встроенных шрифтов:
● font,
● altGlyph,
● altGlyphDef,
● altGlyphItem,
● glyphRef.
● Свойство enable-background.
● Ссылки на внешние ресурсы.
● Для элемента image не поддерживается относительный путь к файлу изображения.
СОВЕТ. Для картинок, которые будут использоваться в качестве пиктограмм в интерфейсе , рекомендуется использовать форматы, поддерживающие сжатие без потерь ( PNG и GIF) , для того чтобы избежать искажения и минимизировать трафик между клиентом и сервером.
Нужно задать имя, по которому данная картинка будет выбираться средствами встроенного языка.
Чтобы картинка при вставке хорошо вписывалась в элемент управления или форму, желательно установить ей прозрачный фон. Для этого в качестве цвета фона при редактировании картинки достаточно выбрать любой не используемый в картинке цвет, сформировать изображение и сохранить картинку. Для существующей картинки можно указать любой цвет. Благодаря установленной прозрачности данного цвета сквозь него становятся видны детали той части формы, которую закрывает область картинки.
Для установки прозрачного фона нужно нажать кнопку Установить прозрачный фон. Указатель мыши изменит вид. Подвести курсор к той части картинки, цвет которой нужно сделать прозрачным, и щелкнуть левой кнопкой мыши. Выбранный цвет становится прозрачным.
Для снятия прозрачности следует нажать кнопку Убрать прозрачность.
Кнопки Установить прозрачный фон и Убрать прозрачность доступны только для картинок форматов BMP, JPG и TIFF. Для картинок в остальных форматах данные кнопки недоступны.
Подобные действия можно выполнить с помощью ссылки Открыть в свойстве Картинка. На экран выводится окно выбора картинки. Для редактирования картинки нужно нажать кнопку Редактировать . Запускается редактор картинок.
Кнопки Включить набор вариантов и Выключить набор вариантов позволяют работать с картинками, предназначенными (в основном) для мобильных конфигураций и состоящие из набора картинок. Подробнее про такие картинки см. здесь. Нажатие кнопки Выключить набор вариантов приводит к тому, что из набора картинок удаляются все картинки, кроме базовой картинки (картинки для разрешения ldpi ). Если в наборе нет картинки для разрешения ldpi , то набор становится пустым. Если в наборе есть картинка для разрешения ldpi, и она установлена как контурная, то признак шаблонности
сбрасывается. Нажатие кнопки Включить набор вариантов приводит к тому, что текущая картинка становится базовой картинкой (для разрешения ldpi ).
При необходимости отредактировать одну из картинок в наборе, следует нажать кнопку Редактировать. В этом случае будет открыт диалог, в котором надо выбрать одну из картинок набора, которую необходимо редактировать.
Если картинка для какого-либо разрешения не задана, поле ввода, соответствующее картинке, будет отображать пустым . Нажатие кнопки …, в соответствующем поле диалога редактирования набора картинок, приведет к открытию диалога выбора картинки . Нажатие кнопки X приведет к очистке соответствующей картинки диалога. Редактирование отдельной картинки набора не отличается от редактирования отдельной картинки.
Редактор картинок позволяет создавать и изменять как обычные картинки, так и коллекции картинок, которые используются в конфигурации. Коллекция картинок представляет собой специальную картинку, состоящую из картинок-элементов, имеющих одинаковый размер:
Коллекция картинок позволяет хранить и редактировать картинки, чье использование однотипно, например, пиктограммы, картинки кнопок, иконки и т.д.
Редактирование картинок
В режиме редактирования картинки окно редактора состоит из панели инструментов, двух полей для редактирования картинки и палитры цветов для выбора цвета:
- карандаш;
- кисть;
- аэрограф;
- инструмент для замены цветов;
- ластик.
- рисовать линии, кривые, эллипсы и прямоугольники с острыми или закругленными углами;
- вводить текст;
- выделять прямоугольную или произвольную область;
- выбирать цвет;
- выполнять заливку.
Кроме этого редактор позволяет настраивать параметры картинки - ширину, высоту и разрешение:
Редактирование коллекций картинок
В режиме редактирования коллекции картинок в левом поле (поле просмотра) картинка разбивается на ячейки, соответствующие элементам коллекции.
Редактор позволяет задавать параметры самой коллекции картинок и размеры отдельных ее элементов:
В процессе редактирования коллекции разработчик может добавлять в коллекцию строку или колонку.
Щелчком мыши на элементе коллекции можно выбирать его для редактирования в правом окне (окне редактирования) и работать с элементом коллекции как с обычной картинкой.
Кроме этого, всю коллекцию можно редактировать как одну большую картинку:
Поддержка альфа-канала
Для картинок в формате .jpg, имеющих разрешение более 8 бит на пиксель, редактор поддерживает использование альфа-канала.
Для любого цвета может быть задана его прозрачность - от 0 (полностью прозрачный) до 255 (непрозрачный).
Частичная прозрачность имеет важное значение при создании маленьких картинок, таких, например, как иконки или значки разделов. Она позволяет добиться качественного и эффектного изображения.
Читайте также: