В 1С есть множество объектов конфигурации, которые так или иначе связаны с учетом – то есть позволяют оный вести – справочники, документы, регистры и так далее. Однако как быть, когда нужно создать программку на языке 1С, которая никак не связана с учетом, а требуется для служебных нужд программиста или для облегчения работы пользователя?
Отличный пример – групповая обработка документов. Это инструмент, который позволяет провести/изменить/распечатать не один документ, а сразу много, по выбранному списку. Согласитесь – очень удобно.
Для реализации в 1С инструментов для облегчения работы пользователя или администратора базы 1С существует специальный объект конфигурации – обработки 1С. Обработки 1С могут быть частью конфигурации или распространяться как отдельные файлы (тогда обработка называется внешняя обработка 1С).
Обработки 1С позволяют разрабатывать собственные инструменты как для программирования 1С, так и для настройки или управления 1С. Благодаря этому в интернете есть сотни типовых обработок (разработанных в компании 1С) и тысячи любительских обработок в интернете.
Самое время попробовать сделать обработку 1С самостоятельно. Подробности далее.
Что такое обработки 1С и как они используются
Маленькое вступление. Кто уже знаком с обработками 1С – может пропустить этот пункт.
Итак, обработка является инструментом, написанным программистом. Она ничего не умеет делать самостоятельно и не сохраняет данные в базу данных 1С, в отличие например от документа – который сохраняется в базу данных и самостоятельно умеет записываться и проводиться, без дополнительного программирования. Функции обработки 1С целиком зависят от программиста, который ее написал.
По функционалу обработки 1С можно поделить на три вида:
В 1С классы можно создавать с помощью обработки 1С: «переменные» — реквизиты обработки 1С, «функции» — функции в модуле объекта обработки 1С (пометка Экспорт для публичных функций). Удобство состоит как в создании экземпляра такого класса, так и в его перемещении между конфигурациями.
Хорошим примером послужат обработки 1С печати (дополнительных печатных форм), которые Вы можете найти в типовых конфигурациях в справочнике Дополнительные печатные формы. Они всегда имеют публичную функцию Печать() и стандартизированное использование.
Обратите внимание, что конечно же, такие «классы» не связаны с данными напрямую – их требуется передавать или считывать в «конструкторе».
В пример можно привести: обработки 1С работы с торговым оборудованием, консоль задач 1С (отображает список задач выполняющихся по расписанию), консоль запросов 1С (позволяет выполнять любые запросы без программирования) и т.п.
Где находятся обработки 1С
Итак, существуют обработки 1С встроенные в конфигурацию и внешние обработки 1С.
Встроенные обработки 1С используются программистом, разрабатывающим конфигурацию, ситуативно – то есть они могут быть или выведены в меню пользователя (часть в меню Сервис), или открываться программно из других объектов 1С (например, из формы справочника).
Так или иначе, под правами администратора можно открыть список встроенных в конфигурацих обработок и любую из них, если ее возможно открыть (то есть если у нее есть экранная форма и программист не поставил блокировку на открытие). Для этого в толстом клиенте используйте меню Операции/Обработки, в тонком клиенте используйте меню Все функции/Обработки. Если Вы не знаете, как найти эти меню – .
В конфигураторе встроенные в конфигурацию обработки 1С находятся в ветке Обработки.
Внешние обработки 1С открываются и в конфигураторе и в Предприятии с помощью меню Файл/Открыть.
Безопасность. Обратите внимание на . Модуль объекта обработки 1С выполняется автоматически при открытии обработки 1С в режиме Предприятия. Поэтому, если Вы открываете обработку написанную злоумышленником – она может быть выполнена автоматически без лишних вопросов.
Как сделать обработку 1С самостоятельно
Итак, приступаем к самому интересному – алгоритм создания обработки 1С самостоятельно с нуля.
Внешние обработки – очень удобный инструмент для компаний, использующих типовые конфигурации на 1С:Предприятие 8.3. Они позволяют не тратить силы и средства на обновления 1С, давая возможность обновлять базы одной кнопкой в режиме простого пользователя. Используя механизм библиотеки стандартных подсистем, можно добавить различные кнопки в документы и справочники, не изменяя типовую конфигурацию. Рассмотрим пример создания и подключения внешней обработки в одной из конфигураций 1С.
Чтобы создать новую внешнюю обработку, используем конфигуратор. Через меню «Файл» выбираем команду создания «Новый…» и определяемся, что мы будем создавать внешнюю обработку. В открывшемся окне задаем имя, и при нажатии «Enter» оно заполняется автоматически. Также это имя вам предложит система в качестве названия файла при сохранении.
Добавим форму обработки, нажав на кнопку с изображением лупы в соответствующем окне. Для примера создадим обработку, показывающую, в каких заказах клиента используется определенная номенклатура. Для этого нам необходимо разместить на форме:
Добавляем реквизит «Номенклатура» с типом данных «СправочникСсылка.Номенклатура» в соответствующем разделе и кнопку «Показать» в меню «Команды» -> «Команды формы».
Чтобы на форме отразились добавленные данные, их необходимо перетащить в элементы формы, расположенные в левой верхней части. Есть возможность поменять местами элементы с помощью синих стрелок. Чтобы созданная нами кнопка выполняла задуманное, ей нужно назначить процедуру. Через контекстное меню выберем «Действие команды», и на вопрос, где нужен обработчик, ответим: «Создать на клиенте и процедуру на сервере».
Фрагмент 1
&НаКлиенте Процедура Показать(Команда) ПоказатьНаСервере(); КонецПроцедуры &НаСервере Процедура ПоказатьНаСервере() //Вставить содержимое обработчика. КонецПроцедурыМы выбрали создание процедуры на сервере, так как хотим в качестве результата получить выборку из базы данных. На клиенте у нас нет такой возможности, поэтому потребуется подключение к серверу, который и обменивается с БД данными. Теперь нам необходимо написать код, который реализует задуманное нами. Будет использоваться запрос и вывод всех документов через функцию «Сообщить()».
Фрагмент 2
&НаКлиенте Процедура Показать(Команда) ПоказатьНаСервере(Номенклатура); КонецПроцедуры &НаСервере Процедура ПоказатьНаСервере(Номенклатура) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗаказКлиентаСостав.Ссылка КАК Ссылка | ИЗ | Документ.ЗаказКлиента.Состав КАК ЗаказКлиентаСостав | ГДЕ | ЗаказКлиентаСостав.Номенклатура = &Номенклатура"; Запрос.УстановитьПараметр("Номенклатура", Номенклатура); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Сообщить(ВыборкаДетальныеЗаписи.Ссылка); КонецЦикла; КонецПроцедурыНа текущем этапе мы можем в запущенной базе 1С осуществить открытие внешней обработки как обыкновенного файла, и она уже будет работоспособна. Но если у нас много пользователей, нам придется разослать им всем этот файл, снабдив при этом его инструкцией о том, как его, собственно, открывать в 1С, что крайне неудобно. Чтобы этого избежать, наша обработка должна располагаться внутри одного из разделов 1С. Для этого нам необходимо еще немного ее доработать через конфигуратор, указав определенные настройки.
Чтобы разместить внешнюю обработку в разделе 1С, необходимо ей в модуле объекта прописать процедуру «СведенияОВнешнейОбработке». В основном меню обработки нажмите «Действия» и выберите «Модуль объекта». Здесь необходимо прописать все нужные для 1С настройки, чтобы система поняла, что от нее требуется и что за файл перед ней. На скриншоте изображен код функции «СведенияОВнешнейОбработке».
Функция СведенияОВнешнейОбработке() Экспорт ДанныеДляРег = Новый Структура(); ДанныеДляРег.Вставить("Наименование","Новая внешняя обработка"); ДанныеДляРег.Вставить("БезопасныйРежим", Истина); ДанныеДляРег.Вставить("Версия", "ver.: 1.001"); ДанныеДляРег.Вставить("Вид", "ДополнительнаяОбработка"); ТабЗнКоманды = Новый ТаблицаЗначений; ТабЗнКоманды.Колонки.Добавить("Идентификатор"); ТабЗнКоманды.Колонки.Добавить("Использование"); ТабЗнКоманды.Колонки.Добавить("Представление"); НовСтрока = ТабЗнКоманды.Добавить(); НовСтрока.Идентификатор = "НоваяВнешняяОбработка"; НовСтрока.Использование = "ОткрытиеФормы"; НовСтрока.Представление = "Новая внешняя обработка"; ДанныеДляРег.Вставить("Команды", ТабЗнКоманды); Возврат ДанныеДляРег; КонецФункцииФрагмент 3
Перед тем, как подключать внешнюю обработку к типовой конфигурации, необходимо включить использование этого инструмента. В «Администрировании» в подпункте «Печатные формы, отчеты и обработки» устанавливаем флаг напротив нужного нам механизма. Нам становится доступна кнопка перехода к справочнику дополнительных обработок и отчетов.
При переходе к списку создадим новую строчку в нем, и система предложит выбрать файл. Выбираем сделанную нами и сохраненную обработку, и конфигурация 1С самостоятельно заполняет большинство полей. Через кнопку «Выполнить» мы уже можем проверить работоспособность нашей обработки, но это не слишком удобно для остальных пользователей. Чтобы у пользователей появилась наша команда, и они могли сделать вызов, нам необходимо:
Если мы хотим внести изменения в нашу обработку, необходимо сначала выгрузить ее из базы. Для этого в справочнике «Дополнительные обработки и отчеты» найдите нужную строчку и воспользуйтесь командой «Выгрузить в файл…». Внесите изменения, сохраните обработку и через клавишу «Загрузить из файла…» найдите измененный файл epf, не меняя параметры. После записи все пользователи увидят внесенные изменения.
Если вы используете не типовую или снятую с поддержки базу 1С, то воспользуйтесь возможностью загрузить обработку через конфигуратор. В дереве объектов в разделе «Обработки» создайте новую обработку и через контекстное меню выберите «Заменить на внешнюю обработку, отчет…». Останется лишь настроить запуск внешней обработки из нужного раздела, включив добавленную обработку в нужную подсистему.
Работа с внешними обработками весьма удобна и позволяет избежать многих конфликтов. Единственный их существенный недостаток – они не обновляются автоматически вместе с конфигурацией. То есть, если разработчики поменяли название документа или справочника в основной конфигурации, нам придется вручную выполнять настройку обработки.
Всем привет! Сегодня я хочу рассказать, как обработать фото в фотошопе для начинающих или тех, кто только недавно начал изучать этот замечательный редактор. Ни для кого не секрет, что иногда фотографии получаются, мягко говоря, не такими, какими мы ожидали их увидеть. То они слишком тусклые, то яркие, уйма прыщей, то резкость не лучшего качества. Поэтому сегодня я постараюсь доступным языком рассказать, как это исправить.
Первым делом я рекомендую осмотреть на людей, если таковые имеются на фото. Первое, что важно при обработке — это выявление дефектов. В данной ситуации я имею ввиду прыщи, шрамы, герпес (не дай Бог), от вспышки, царапины, вылезающие волосы, синяки, и т.д.
Я не вижу много смысла писать подробно об этом, так как для каждого из случаев у меня отдельная статья. Хотелось бы только перечислить несколько инструментов, благодаря которым обычно устраняются дефекты.
Обо всех этих способах я описывал в статье, про . Вы сами убедитесь, что это не сложно.
Данный способ прост до безумия. Фильтром пользуются многие фотографы. Я бы даже сказал по-другому. Они изначально снимают в формате CR2 , который по сути является более качественным. После этого, зайдя в фотошоп, автоматически включается данный фильтр.
Но на самом деле никакой беды нет, так как начиная с версии Фотошоп CS5, фильтры пополнились новым братом. Я надеюсь, что все уже давно пользуются более продвинутой версией редактора.
Основная особенность данного способа заключается в том, что с ним сможет справиться абсолютно любой человек, даже новичок и полный ноль, так как все происходит только в одном единственном фильтре, который только интуитивно нужно немного подстроить. Давайте, для примера я возьмусь за обработку этой фотографии.
Посмотрев вначале истории, вы сами можете убедиться, какие прекрасные изменения произошли с фотографией. По-моему просто превосходно.
Этот способ обработки фото в фотошопе является довольно грубым, но для начинающих пользователей вполне сойдет.
Теперь можете сравнить изменения. Может быть они и не особо большие, но обработанное фото явно выглядит лучше. Конечно, безусловным минусом данного способа является то, что нельзя вернуться к предыдущему шагу и отредактировать его. Но есть способ, как это сделать, и об этом я расскажу ниже. Ну а вообще, посмотрите другие функции сами и покрутите ползунки. Возможно вы найдете для себя что-то интересное.
Данный способ обработки фото в фотошопе может показаться сложным для новичков на первый взгляд, но на самом деле он очень простой, и справится с ним любой пользователь.
Отличная функция по обработке фотографий, которая не требует каких-то особых навыков. Суть данного способа заключается в том, что мы применяем каждую функцию на отдельном корректирующем слое, которых у нас может быть великое множество. И на самом деле, это гораздо удобнее, чем тот метод, который мы делали выше.
Для примера я взял фотографию с девушкой, довольно блеклых оттенков. Она сама напрашивается на то, чтобы ее сделали более яркой, насыщенной и просто радовала душу.
На этом работа с корректирующими слоями закончена, но нам предстоит двигаться дальше.
Теперь нам предстоит поработать с некоторыми областями отдельно, так как применять эффекты ко всему изображению сразу ничем хорошим не кончится. Например, нам нужно сделать небо более ярким, насыщенным и голубым, и если мы применим все к одной фотографии, то наша девушка также применит все на себе. Поэтому, сделаем следующее.
Изучив несколько различных способов, я пришел к выводу, что если вы хотите сделать быструю и качественную обработку, то достаточно будет воспользоваться фильтром Camera RAW в фотошопе. Он отлично себя показал, а время, которое затрачивается на то, чтобы обработать фотографию даже начинающим пользователям, уходит реально 1-2 минуты.
Единственное, что я не рекомендовал бы, это создавать под это дело экшен и пускать поточное изменение фотографий. Даже, если снимки сделаны одним отографом в один день, для них могут не подойти те настройки, которые вы делали для одной картинки. Я знаю, что многие недобросовестные свадебные фотографы именно так и поступают, чтобы сэкономить время. Им видите ли неохота обрабатывать 300-400 фотографий по одной.
Но если вы действительно хотите заниматься качественной обработкой фото, так как вас к этому тянет, то настоятельно рекомендую посмотреть эти классные видеоуроки , в которых наглядно объясняется, как пользоваться фотошопом для офигенной обработки фотографий.
А если вы в фотошопе новичок, то первым делом рекомендую изучить этот курс . Все разжевано буквально до мелочей и смотрится просто на одном дыхании. . И главное, что всё рассказано человеческим языком, поэтому даже отвлекаться не хочется.
Как видите, ничего сложного нет. Поэтому, ни у кого не должно возникнуть вопросов, как обработать фото в фотошопе для начинающих. По крайней мере я уверен, что данных инструментов вам вполне хватит.
Ну а на этом я свою статью заканчиваю. Надеюсь, что она вам понравилась. Не забудьте подписаться на обновления моего блога, а также следить за новостями в моих пабликах. Удачи вам. Пока-пока!
С уважением, Дмитрий Костин.
Внимание! Перед вами ознакомительная версия урока, материалы которого могут быть неполными.
Войдите на сайт как ученик
Войдите как ученик, чтобы получить доступ к материалам школы
Создание конфигураций 1С: добавляем обработку
Продолжаем изучение азов создания конфигураций на 1С.
На этом уроке мы вместе создадим новую обработку, а затем напишем для неё команды, которые демонстрируют работу со справочником "Сотрудники".
Возвращаемся в конфигуратор и открываем дерево конфигурации.
Правой кнопкой нажимаем на разделе "Обработки" и выбираем пункт "Добавить":
Открылось окно создания новой обработки. Перейдём на закладку "Основные" и укажем в качестве имени обработки "ОбработкаСправочников":
Перейдём на закладку "Формы" нажмём на зелёный плюсик, чтобы добавить новую форму (визуальное представление нашей обработки):
Появился конструктор создания формы. Оставим всё по умолчанию и нажмём "Готово":
Открылась новая форма:
Перейдём на закладку "Команды"->"Команды формы":
Добавим новую команду (зелёный плюсик):
И в свойствах новой команды укажем имя "ВыводВсехСотрудников":
Нажмём в её же свойствах на лупу рядом с полем "Действие", чтобы задать обработчик команды. Выберем вариант создания обработчика "НаКлиенте" и нажмём "ОК":
Нас перенесло в модуль формы в процедуру-обработчик команды "ВыводВсехСотрудников":
Теперь наша задача написать код на внутреннем языке 1С, который будет перебирать все элементы справочника "Сотрудники".
Сразу хочу сказать, что этот код нельзя писать прямо в процедуре "ВыводВсехСотрудников", так как она выполняется на клиенте (обратите внимание на специальную строчку перед процедурой "&НаКлиенте"). Попытка прочитать данные из базы в клиентской процедуре всегда будет приводить к ошибке (пока просто запомните это).
Поэтому давайте допишем в конце модуля процедуру такого вида:
Обратите внимание, что перед ней я указал признак "&НаСервере". Это означает, что она будет выполняться на сервере, а значит мы можем из неё читать данные справочника.
Теперь организуем вызов этой процедуры из клиентской "ВыводВсехСотрудников":
Тут логика такая:
Нам осталась самая малость - написать код процедуры "ВыводВсехСотрудниковНаСервере", который пробегается по элементам справочника "Сотрудники" и выводит их в окно сообщений.
Это на самом деле несложно. Обход всех справочников в 1С однотипен. А значит научившись это делать сейчас со справочником "Сотрудники", вы сможете делать также и с любыми другими справочниками.
Для доступа к данным справочника используется менеджер, доступ к которому осуществляется так:
Менеджер = Справочники. Сотрудники; |
В этом предложении ключевая часть находится справа от знака равно. Слева - это просто переменная, в которую мы сохраняем менеджер, чтобы работать с ним дальше. Имя этой переменной могло быть не только "Менеджер", но и любое другое - хоть "Барабашка".
Что представляет из себя менеджер справочника? Менеджер - это ещё не сами данные справочника. Менеджер - это некоторый программный объект (можете представлять его себе в виде чёрного ящика), через который мы можем что-либо делать со справочником.
Менеджер справочника - это как бы такая прослойка между нашим кодом и данными справочника. И получается, что, если нам требуется прочитать все элементы справочника, то мы не можем этого сделать напрямую. Мы можем только попросить об этом нашу прослойку между нами и справочником, то есть менеджер.
Чтобы сделать это - необходимо вызвать встроенный в менеджер метод "Выбрать". Вызывается он через точку после имени переменной, в которой хранится менеджер, и возвращает коллекцию элементов справочника:
Менеджер = Справочники. Сотрудники; Выборка = Менеджер. Выбрать() ; |
Что представляет из себя выборка? Выборка (опять же это только имя переменной, в которую мы сохраняем результат работы метода "Выбрать" и оно могло бы быть любым другим) представляет из себя коллекцию, но не такую, как например массив или список значений.
Выборка представляет собой объект - опять же думайте о нём как о ящике, но ещё не сами данные. Особенность этого объекта в том, что он умеет перебирать элементы нужного нам справочника. Причём перебирает он их динамически. Это означает, что использование выборки не считывает все элементы справочника сразу, а выбирает их порциями из базы данных.
Такой подход позволяет достаточно быстро обходить с помощью выборки большие списки справочников, не загружая их в память компьютера все сразу.
Чтобы получить очередную порцию данных из выборки, необходимо вызвать у выборки встроенный в неё метод "Следующий". Получение порций данных (одна порция соответствует одному элементу справочника) обычно происходит в цикле:
Когда данные (элементы справочника) в выборке закончатся, метод "Следующий" вернёт Ложь и цикл прекратится.
После каждого вызова метода "Следующий" (при условии, что он вернул "Истина") выборка будет содержать в себе все поля с данными только считанного элемента справочника, обращаться к которым можно по именам через точку:
Получается в один момент - мы работаем с данными только одного из элементов справочника. И тут мы можем или сразу их вывести пользователю (методом "Сообщить") или, к примеру, мы можем сложить их в другую коллекцию (массив), чтобы потом уже за раз с ними что-нибудь сделать. Всё зависит от задачи, которую мы решаем.
Средства автоматизации действий в Фотошопе позволяют значительно сократить время, потраченное на выполнение однотипных операций. Одним из таких средств является пакетная обработка изображений (фотографий).
Смысл пакетной обработки заключается в записи действий в особую папку (экшен), а затем применение этого экшена к неограниченному количеству фотографий. То есть мы один раз вручную производим обработку, а остальные снимки обрабатываются программой автоматически.
Пакетную обработку имеет смысл применять в тех случаях, когда необходимо, например, изменить размер фотографий, поднять или снизить освещенность, произвести одинаковую цветокоррекцию.
Итак, давайте приступим к пакетной обработке.
Для начала нужно поместить исходные снимки в одну папку. У меня для урока подготовлены три фотографии. Папку я назвал «Пакетная обработка» и поместил ее на рабочий стол.
Если Вы заметили, то в данной папке присутствует и подпапка «Готовые фото» . В нее будут сохраняться результаты обработки.
Сразу стоит заметить, что в данном уроке мы лишь научимся процессу, поэтому много операций с фото производиться не будет. Главное понять принцип, а дальше Вы уже сами решите, какую обработку производить. Порядок действий всегда будет один и тот же.
И еще один момент. В настройках программы необходимо отключить предупреждения о несовпадении цветового профиля, иначе, каждый раз при открытии фотографии придется нажимать кнопку ОК .
Идем в меню «Редактирование – Настройки цветов» и снимаем галки, указанные на скриншоте.
Теперь можно начинать…
Проанализировав снимки, становится ясно, что все они немного затемнены. Поэтому мы их осветлим и немного затонируем.
Открываем первый снимок.
Затем вызываем палитру «Операции» в меню «Окно» .
В палитре необходимо нажать на значок папки, дать новому набору какое-нибудь название и нажать ОК .
Затем создаем новую операцию, также как-нибудь ее называем и нажимаем кнопку «Записать» .
Для начала изменим размер изображения. Скажем, нам понадобятся картинки шириной не более 550 пикселей.
Идем в меню «Изображение – Размер изображения»
. Меняем ширину на нужную и нажимаем ОК
.
Как видим, в палитре операций произошли изменения. Наше действие успешно записано.
Для осветления и тонирования воспользуемся «Кривыми» . Вызываются они сочетанием клавиш CTRL+M .
В открывшемся окне ставим току на кривой и тянем в сторону осветления до достижения желаемого результата.
Затем переходим в красный канал и немного откорректируем цвета. К примеру, вот так:
По окончании процесса нажимаем ОК .
При записи экшена существует одно важное правило: если Вы пользуетесь инструментами, корректирующими слоями и другими функциями программы, где значения различных настроек меняются «на лету», то есть без необходимости нажатия кнопки ОК, то эти значения необходимо прописывать вручную и нажимать клавишу ENTER. Если это правило не соблюсти, то Фотошоп запишет все промежуточные значения, пока Вы тянете, к примеру, ползунок.
Продолжаем. Предположим, что все действия мы уже выполнили. Теперь нужно сохранить фотографию в нужном нам формате.
Нажимаем комбинацию клавиш CTRL+SHIFT+S
, выбираем формат и место для сохранения. Я выбрал папку «Готовые фото»
. Жмем «Сохранить»
.
Последним шагом будет закрытие изображения. Не забудьте это сделать, иначе все 100500 фотографий останутся открытыми в редакторе. Кошмар…
От сохранения исходника отказваемся.
Давайте взглянем на палитру операций. Проверяем, все ли действия записались корректно. Если все в порядке, то нажимаем на кнопку «Стоп» .
Экшен готов.
Теперь нам необходимо применить его ко всем фотографиям в папке, причем автоматически.
Идем в меню «Файл – Автоматизация – Пакетная обработка» .
В окне функции выбираем наш набор и операцию (автоматически прописываются последние созданные), прописываем путь к папке с исходниками и путь к той папке, в которую необходимо сохранить готовые снимки.
После нажатия кнопки «ОК» начнется обработка. Время, затраченное на процесс, напрямую зависит от количества фото и от сложности операций.
Используйте автоматизацию, предоставляемую Вам программой Фотошоп, и сэкономите уйму времени на обработке своих снимков.