После 1С

  • автор:

Содержание

Какую программу 1С выбрать для производства: варианты и особенности

Растёт конкуренция, стираются границы между городами и странами. Всё важней становится оптимизация бизнес-процессов, автоматизация ручного труда, повышение производительности труда в целом, оптимизация затрат, в том числе сокращение количества брака и периода простоя оборудования.

Широкая линейка программных продуктов Фирмы «1С» позволяет подобрать программу 1С для автоматизации как отдельного участка производства, так и полностью всей компании с учётом специфики конкретной организации. Блок производственного учёта реализован во многих программах 1С:

  • 1С: Управление нашей фирмой;
  • 1С:Комплексная автоматизация;
  • 1С: ERP.

Флагманом линейки продуктов для производства является, конечно, 1С:ERP 2.0. 1С:ERP 2.0 содержит максимально полный функционал для производства, но часто после покупки многие функции остаются невостребованными, что приводит к лишним затратам. Чтобы этого избежать, необходимо точно представлять, какие именно участки бизнес-процессов планируется автоматизировать.

Для успешного подбора программы 1С для производства нужно учесть:

  • требуется ли расчёт себестоимости продукции;
  • необходим ли учёт по отдельным производственным единицам, вплоть до выработки отдельных станков/рабочих;
  • какое именно производство: сборочное либо собственное;
  • как осуществляется поставка материалов;
  • какие именно процессы требует автоматизировать (управленческие, производственные, регламентированный учёт).

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

Рассмотрим варианты программных продуктов 1С с производственным блоком:

  • для ведения производственного учёта и расчёта себестоимости продукции пользуйтесь функционалом 1С: Бухгалтерия;
  • для автоматизации функции планирования, управления и учёта затрат в себестоимости продукции выбирайте 1С: Управление нашей фирмой (1С:УНФ) с возможностью расширения до связки 1С:УНФ+1С:Бухгалтерия для ведения регламентированного учёта, подготовки и сдачи отчётности;
  • активно развиваете торговлю и сеть собственного производства, для которого нет необходимости планировать заказы, производство и распределение средств, отличным решением будет 1С: Комплексная автоматизация;
  • для производства со множеством различных бизнес-процессов, поэтапным учётом рекомендуем 1С:ERP. Выбрав программу 1С для производства с максимальным функционалом, вы сэкономите время и деньги на доработку прочих программных продуктов.

Сравнительная таблица возможностей производственных блоков различных решений 1С

В отличие от 1С:ERP в 1С:Комплексная автоматизация не поддерживается формирование заказов на производство, поэтому в ней нельзя формировать график производства и вести учёт производства по отдельным единицам.

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

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

  1. Заказать пробный доступ к онлайн-версии программы 1С для производства. Бесплатный доступ предоставляется на 30 дней. За это время вы успеете изучить функционал и понять, подходит ли вам программа.
  2. Получить консультацию по заинтересовавшей программе 1С у наших специалистов по продажам. Ответим на вопросы в онлайн-чате в течение 15 секунд. Также в онлайн-чате вы можете оставить заявку на онлайн-доступ к любой из программ 1С, указанных в статье.

Желаем вам сделать правильный выбор!

Понравилась статья — ставьте лайк, делитесь с коллегами.

Работайте в 1С с удовольствием!

АП АйТи

«Управление торговлей + Производство» — это решение
для управления производственной фирмой

Учет производства в «1С:Управление торговлей»

Скажите, насколько знакомы Вам эти ситуации:

  • Учет выпуска продукции в журналах и тетрадях?
  • Расчет себестоимости в Excel или из бухгалтерии?
  • Сбои с выпуском продукции под заказ клиента?
  • Периодическая нехватка сырья по причине «забыли»?
  • Ошибочно производите одно и тоже несколько раз?
  • Сбыт не всегда знает когда готова продукция?

Задача «1С:Управление торговлей+Производство» это переход от аналоговой формы в цифровую. Как сейчас принято говорить — digital

Диджитализация (digital) это не ввод информации в Excel или бухгалтерской программе.

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

«Учет производства» это раздел в программе «1С:Управление торговлей».

В разделе «Учет производства» Вы можете управлять своим производством — формировать заказы в производство, планировать производство, отражать выпуск продукции, расчет плановой и фактической себестоимости, а так же многое другое.

Разделочное производство — учет выпуска продукции
Маркировка продукции для производителей
Позаказное производство
Расчет плановой себестоимости производства
Резервирование сырья для производства
Выпуск готовой продукции
Себестоимость продукции с учетом всех расходов предприятия
Получение давальческого сырья для производства
Передача сырья в переработку
Сборка готовой продукции из комплектующих
Планирование сборки готовой продукции
Отчеты и аналитика в производстве
Учет зарплаты при выпуске продукции

В условиях кризиса или карантина могут быть полезные такие возможности:

Ввод производства одной кнопкой
Автоматический ввод документов производства
Ввод документов производства для производственников

Удаленная работа производства

Наладить удаленную работу на производстве и взаимодействие с производством возможно!

Для этого требуется, конечно, управленческое волевое решение, но технологически и организационно это возможно.

Подробнее об организации удаленной работы для офиса .

Если Вы сейчас на нашей странице, значит Вы сталкиваетесь со следующими задачами производства

  • Решение об объемах выпуска продукции на день, неделю, месяц
  • Принятие решения о необходимости закупки сырья для производства
  • Ввод информации для оприходования продукции и списания сырья со склада
  • Оперативное получение сведений о фактической себестоимости продукции
  • Сведения о текущих остатках готовой продукции и сырья
  • Получение данных о рентабельности производства

А теперь задайтесь вопросами применительно к Вашему производству

  • Какие три задачи или проблемы у Вас возникают регулярно в производственных процессах и при их учете?
  • Если бы у Вас была волшебная палочка и Вы могли бы получить любое решение, то каким было бы это решение?
  • Как Вы сейчас решаете эти задачи?

В программе «1C:Управление Торговлей+Производство» мы стараемся решить задачи учета производства.

Например, работа с производством по заказам. Возможно отображение журнала производства по заказам в виде дерева. Тогда в «1С:Управление торговлей+Производство» отображается вся цепочка документов производства от текущего статуса.

Мы так же работам над решением следующих задач автоматизации производства

  • Автоматический ввод документов производства на основании заказов по расписанию
  • Рабочее место сотрудника производства для оперативного ввода информации из производства
  • Мобильные решения для производств

Если у Вас есть идеи, пожелания или задачи, которые требуется решить, то свяжитесь с нами. Вас это ни к чему не обязывает, мы не будем Вам навязывать покупку, если Вы сейчас в ней не нуждаетесь.

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

Обзор производства в «1С:Управление торговлей»

Демо «Учет производства» в «1С:Управление торговлей»

Если Вы желаете посмотреть как работаете производство в «1С:Управление торговлей», то мы предоставим Вам доступ к демо версии программы.

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

Стоимость внедрения «Учет производства» в «1С:Управление торговлей»

36 000 руб.

Практика внедрения учета производства

Ниже мы покажем некоторые примеры из нашей практики автоматизации учета на производстве

За 6 лет своей успешной работы компания превратилась в крупного производителя и поставщика изделий для дома из пластика и металла. И нам приятно осознавать, что наши специалисты сделали существенный вклад в становление и отладку производственных процессов компании.

Компания своей работе использует практически все возможности как платформ 1С:Предприятие, так и модуля «Учет производства»

  • Планирование выпуска на основании текущих складских остатков и потребности в обеспечении склада
  • Планирование выпуска на основании потребностей в заказах
  • Учет результатов производства(Отчет производства) по сменам дважды в сутки — дневная и ночная смена
  • Учет выработки по бригадам и сменам
  • Учет работы оборудования — время работы, время простоя, анализ причин простоя
  • Учет брака продукции и последующая переработка
  • Использование возможностей тонкого и веб клиента «1С:Предприятие 8» для работы удаленных сотрудников и в особенности склада

Наши специалисты на основании технических заданий регулярно выполняют задачи по оптимизации и совершенствованию как технологических процессов производства, так и работы менеджеров по продажам.

Производство шнуров и канатов. В распоряжении компании уже имеется лицензия «1С:Управлениет торговлей» и применяется только для работы менеджеров по продажам и ведения складского учета.

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

Доброе (www.dobroe-ice.ru)

Производство мороженного в республике Крым. Уникальное предприятие, расположенное в долине самой протяженной и полноводной реки Крымского полуострова Салгир, возле чистейших вод Аянского водохранилища, на склоне исполина горы Чатыр-Даг, среди живописных пастбищ и долин.

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

Завод производитель полиэтиленовой продукции и пакетов. В рамках внедрения нашими специалистами реализована индивидуальная схема расчета сырья, необходимого для производства каждой партии, которая исчисляется минимум 1 000 000 штук за выпуск. Результат работы выпуска продукции чувствителен к исходному сырью и при этом результат всегда должен оставаться на высочайшем уровне для соблюдения условий контракта с заказчиком.

Для удобства и оптимизации производственных процессов компания задействует готовое решение из цепочки документов «Заказ покупателя» — «Заказ на производство» — «Отчет производства». Т.е. применяет позаказную схему производства.

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

Разработка и производство Российских эхолотов. Производство уникальной продукции требует уникального и индивидуального подхода в автоматизации процессов учета производство.

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

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

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

Помимо обмена информацией о производстве, выполняется полный и автоматический обмен информацией о заказах, продажах, платежах (после обработки выписки банка менеджеры видят в программе информацию об оплате заказов).

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

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

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

Позвоните и мы найдем решение Вашей задачи учета производства
тел.:(495) 565-35-66


Внедрение учета производства
«1С Управление торговлей + производство»
тел.:(495) 565-35-66

Расширения конфигураций 1С: учимся перехватывать методы

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

Все примеры я показываю на демонстрационной конфигурации «Управляемое приложение».

Имейте в виду, что перехват событий и методов работает только тогда, когда режим совместимости установлен в «Не использовать» (так было для платформы 8.3.10.1981), по сути это единственное изменение конфигурации «Управляемое приложение», которое я сделал…

В расширении можно перехватывать типовые процедуры модуля объекта. Имеется возможность сделать три варианта перехвата «типовой» процедуры: «перехватить» событие перед выполнением метода (с помощью аннотации &Перед), «перехватить» событие после выполнения метода (с помощью аннотации &После), а так же выполнить вместо типовой процедуры процедуру расширения (с помощью аннотации &Вместо).

В задачах ниже мы разберем работу «перехватчиков»

Задача: В расширении создадим собственный макет печати документа «Расход товара». И добавим команду на форму расходной накладной «Печать расходной накладной (расширение)» при выполнении которой будет печататься макет из расширения.

Для этого создадим расширение конфигурации «ДляРасходаТовара», заимствуем в это расширение документ «Расход товара», а так же форму.

Скопируем (именно скопируем, а не заимствуем) из расширяемой конфигурации макет «МакетПечати», переименуем его и изменим сам макет, что бы можно было отличать.

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

После этого копируем команду «Печать расходной накладной», и так же переименовываем, и не забудем указать тип параметра команды – ссылку на документ «Расход товаров»

Если мы на этом этапе сохраним расширение и обновим базу данных, то при открытии формы документа, увидим, что команда добавилась.

Но, если мы сейчас попробуем её выполнить, то выйдет обычная печатная форма, не из расширения. Всё из-за того, что в команде расширения используется метод документа ПечатнаяФорма, в котором и «подтягивается» нужный макет.

Перехватим процедуру ПечатнаяФорма модуля объекта, и переделаем её. Для того что бы понимать, что мы используем табличный документ из расширения, будем, когда вызываем процедуру из команды расширения, передавать в неё структуру с табличным документом. А потом в перехваченной процедуре ПечатнаяФорма в зависимости от типа параметра будем использовать тот или иной макет: если параметр имеет тип ТабличныйДокумент, то будем использовать типовой макет, а если параметр имеет тип Структура, то будем использовать макет из расширения. Для того, что бы перехватить процедуру или функцию в модуле объекта необходимо написать аннотацию &Вместо и после неё в скобочках название перехваченного метода.

Напишем в модуле расширения следующий код:

&Вместо(«ПечатнаяФорма») Процедура РТ_ПечатнаяФорма(ТабличныйДокумент) КонецПроцедуры // ПечатнаяФорма(ТабличныйДокумент)

Обратите внимание на название метода, он не должен совпадать с основным, поскольку при работе процедуры модулей расширяемой конфигурации и расширений работают в одном контексте. Теперь скопируем код из процедуры ПечатнаяФорма расширенной конфигурации, и переделаем, как описано выше.

&Вместо(«ПечатнаяФорма») Процедура РТ_ПечатнаяФорма(ТабличныйДокумент) Если ТипЗнч(ТабличныйДокумент) = тип(«Структура») Тогда ТабличныйДокумент = ТабличныйДокумент.ТабДок; Макет = Документы.РасходТовара.ПолучитьМакет(«РТ_МакетПечати»); иначе Макет = Документы.РасходТовара.ПолучитьМакет(«МакетПечати»); КонецЕсли; //—————-основной код из расширенной конфигурации—————/// // Заголовок Область = Макет.ПолучитьОбласть(«Заголовок»); ТабличныйДокумент.Вывести(Область); // Шапка Шапка = Макет.ПолучитьОбласть(«Шапка»); Шапка.Параметры.Заполнить(ЭтотОбъект); ТабличныйДокумент.Вывести(Шапка); // Товары Область = Макет.ПолучитьОбласть(«ТоварыШапка»); ТабличныйДокумент.Вывести(Область); ОбластьТовары = Макет.ПолучитьОбласть(«Товары»); Для каждого ТекСтрокаТовары Из Товары Цикл ОбластьТовары.Параметры.Заполнить(ТекСтрокаТовары); ТабличныйДокумент.Вывести(ОбластьТовары); КонецЦикла; КонецПроцедуры // ПечатнаяФорма(ТабличныйДокумент)

Нам осталось переделать код в команде расширения РТ_ПечатьРасходнойНакладной:

&НаСервере Функция ПечатнаяФорма(ПараметрКоманды) ТабличныйДокумент = Новый ТабличныйДокумент; ТабличныйДокумент.ОтображатьСетку = Ложь; ТабличныйДокумент.Защита = Ложь; ТабличныйДокумент.ТолькоПросмотр = Ложь; ТабличныйДокумент.ОтображатьЗаголовки = Ложь; Сформирован = Ложь; ///создаем струкутур, для передачи в процедуру СтруктураПередачи = Новый Структура(«ТабДок»,ТабличныйДокумент); Для каждого Ссылка Из ПараметрКоманды Цикл Документ = Ссылка.ПолучитьОбъект(); Если НЕ Документ.Проведен Тогда Сообщение = Новый СообщениеПользователю(); Сообщение.Текст = «Документ не проведен: » + Строка(Документ); Сообщение.КлючДанных = Ссылка; Сообщение.Сообщить(); Продолжить; КонецЕсли; Документ.ПечатнаяФорма(СтруктураПередачи); //передали структуру Сформирован = Истина; КонецЦикла; Если Сформирован Тогда Возврат ТабличныйДокумент; Иначе Возврат Неопределено; КонецЕсли; КонецФункции &НаКлиенте Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) ТабличныйДокумент = ПечатнаяФорма(ПараметрКоманды); Если ТабличныйДокумент <> Неопределено Тогда ТабличныйДокумент.Показать(); КонецЕсли; КонецПроцедуры

Сейчас, после того, как сохраним расширение, то спокойно сможем распечатать макет расширения.

Задача: Перед проведением документа «Расход товара» будем проверять, внес ли контрагент аванс (должен быть больше суммы продажи), если нет, то не проведем документ.

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

&Вместо(«ОбработкаПроведения») Процедура РТ_ОбработкаПроведения(Отказ, Режим) Запрос = Новый Запрос; Запрос.Текст = «ВЫБРАТЬ | ВзаиморасчетыОстатки.СуммаОстаток КАК СуммаОстаток |ИЗ | РегистрНакопления.Взаиморасчеты.Остатки( | &МоментВремени, | Контрагент = &Контрагент | И Валюта = &Валюта) КАК ВзаиморасчетыОстатки»; Запрос.УстановитьПараметр(«МоментВремени»,?(Режим = РежимПроведенияДокумента.Оперативный,ТекущаяДата(),МоментВремени())); Запрос.УстановитьПараметр(«Контрагент», Ссылка.Покупатель); Запрос.УстановитьПараметр(«Валюта»,Ссылка.Валюта); Блокировка = Новый БлокировкаДанных; ЭлБлокировки = Блокировка.Добавить(«РегистрНакопления.Взаиморасчеты»); ЭлБлокировки.Режим = РежимБлокировкиДанных.Исключительный; ЭлБлокировки.УстановитьЗначение(«Контрагент»,Ссылка.Покупатель); ЭлБлокировки.УстановитьЗначение(«Валюта»,Ссылка.Валюта); Блокировка.Заблокировать(); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Выборка.Следующий(); Если Ссылка.Товары.Итог(«Сумма») > Выборка.СуммаОстаток Тогда СуммаНеДобора = Ссылка.Товары.Итог(«Сумма») — Выборка.СуммаОстаток; Сообщение = Новый СообщениеПользователю; Сообщение.Текст = «Авансов у покупателя недостаточно!» + Символы.ПС + «Не хватает » + СуммаНеДобора ; Сообщение.Поле = «Покупатель»; Сообщение.УстановитьДанные(ЭтотОбъект); Сообщение.Сообщить(); Отказ = Истина; КонецЕсли; ПродолжитьВызов(Отказ,Режим); КонецПроцедуры

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

Посмотрим, как сработает наш перехват события

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

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

&После(«ОбработкаЗаполнения») Процедура РТ_ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) Если ТипЗнч(ДанныеЗаполнения) = Тип(«СправочникСсылка.Контрагенты») Тогда ВидЦен = Справочники.ВидыЦен.ПустаяСсылка(); КонецЕсли; КонецПроцедуры

Если мы сейчас создадим на основании контрагента документ «Продажи», то поле «Вид Цены» будет пустое

Теперь перейдем к формам.

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

Разберем работу перехвата событий форм на ряде примеров.

Задача: В документе «Расход товара» после выбора контрагента в окно «Обоснование отгрузки» будем записывать информацию из реквизита контрагента «Дополнительная информация».

Для этого перехватим событие после изменения поля «Покупатель». Зайдем в палитру свойств поля «Покупатель» формы документа «Расход товара» нашего расширения. И нажмем на пиктограмму «Лупа» рядом с событием «При изменении», после этого выйдет форма, где по мимо знакомых вариантов клиент, сервер и т.д., появятся варианты вызова события: перед, после и вместо.

Выберем на клиенте и после. После выбора в палитре свойств рядом с созданным событием появилась соответствующая пиктограмма.

В модуле формы создался обработчик, где мы напишем следующий код:

&НаСервереБезКонтекста Функция ПолучитьДопИнформацию(Контрагент) Возврат Контрагент.ДополнительнаяИнформация; КонецФункции &НаКлиенте Процедура РТ_ПокупательПриИзмененииПосле(Элемент) Объект.ОбоснованиеОтгрузки = ПолучитьДопИнформацию(Объект.Покупатель); КонецПроцедуры

Теперь, если мы выберем контрагента, то заполнится информация в поле документа «Обоснование отгрузки»

И последняя задача будет немного поинтереснее: в документе «Расход товара» в табличной части Товары сделаем возможность выбора только номенклатуры с видом Товар. В демонстрационной конфигурации есть товары с видом услуга. Они показаны на этом рисунке

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

И у этой формы создам обработчик события ПриСозданииНаСервере, который будет выполняться вместо типового.

Почему вместо типового? Потому что типового обработчика события ПриСозданииНаСервер формы выбора справочника Товары нет, и я решил сделать вместо. Хотя можно сделать после. Теперь напишем код, в котором будем устанавливать отбор на динамический список «Список» формы выбора.

&НаСервере Процедура РТ_ПриСозданииНаСервереВместо(Отказ, СтандартнаяОбработка) Если Параметры.Свойство(«Вид») Тогда Отбор = Список.Отбор; НовыйЭлОтбора = Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»)); НовыйЭлОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«Вид»); НовыйЭлОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; НовыйЭлОтбора.ПравоеЗначение = Параметры.Вид; КонецЕсли; КонецПроцедуры

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

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

&НаКлиенте Процедура РТ_ТоварыТоварНачалоВыбораВместо(Элемент, ДанныеВыбора, СтандартнаяОбработка) //отменим стандартный вызов СтандартнаяОбработка = Ложь; //передадим параметры на форму ПараметрыОткрытия = Новый Структура; ПараметрыОткрытия.Вставить(«Вид»,ПредопределенноеЗначение(«Перечисление.ВидыТоваров.Товар»)); //опишем оповещение о закрытии ОповещениеОЗакрытииВыбораТовара = Новый ОписаниеОповещения(«ВыполнитьПослеЗакрытияВыбораТовара»,ЭтотОбъект); ОткрытьФорму(«Справочник.Товары.ФормаВыбора»,ПараметрыОткрытия ,ЭтаФорма , УникальныйИдентификатор ,,, ОповещениеОЗакрытииВыбораТовара ,); КонецПроцедуры

Не забудем написать процедуру, которая должна сработать после закрытия формы выбора

&НаКлиенте Процедура ВыполнитьПослеЗакрытияВыбораТовара(РезультатЗакрытия,ДополнительныеПараметры) Экспорт Если Не ЗначениеЗаполнено(РезультатЗакрытия) Тогда Возврат; КонецЕсли; Идентификатор = Элементы.Товары.ТекущаяСтрока; СтрТовара = Объект.Товары.НайтиПоИдентификатору(Идентификатор); СтрТовара.Товар = РезультатЗакрытия; КонецПроцедуры

Теперь при выборе товаров из документа «Расход товара» каталог «Услуги» будет пуст.

Но, заметьте, можно будет подобрать услугу, вводя вручную её название в поле товар.

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

В этом обработчике будем накладывать отбор в параметрах получения данных

&НаКлиенте Процедура РТ_ТоварыТоварАвтоПодборВместо(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка) Отбор = ПараметрыПолученияДанных.Отбор; Отбор.Вставить(«Вид»,ПредопределенноеЗначение(«Перечисление.ВидыТоваров.Товар»)) КонецПроцедуры

Теперь при подборе с клавиатуры услуги не будут выходить.

На этом всё. Надеюсь, эта статья принесла Вам пользу, и помогла понять, как можно перехватывать «Типовые» события при помощи расширений конфигурации.

Сертификаты 1С

Фирма 1С разработала множество экзаменов на знание прикладных решений и платформы 1С:Предприятие. Их действительно много, а порядок сдачи и требования отличаются. Попробуем разобраться во всем этом многообразии, а заодно понять зачем вообще нужны эти «желтые бумажки».

Зачем получать сертификаты 1С
Профессионал
Специалист
Специалист-консультант
Эксперт по технологическим вопросам
Эксплуататор
Заключение

Зачем получать сертификаты 1С

Любой сертификат фирмы 1С — это официальный документ, выданный после сдачи экзамена. Успешная сдача сертификационного экзамена — это подтверждением квалификации, а, следовательно, и преимущества при приеме на работу или продвижении по службе. В теории.

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

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

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

Сдавать экзамены и получать сертификаты не призываю, каждый сам определит необходимо ему это или нет. Отмечу лишь, что сдача некоторых экзаменов — бесполезная рутина, а подготовка к другим может стать действительно полезна, возможно, даже увлекательна.

1С:Профессионал

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

Экзамен проводится в форме тестирования на компьютере. Тест состоит из 14 вопросов с несколькими вариантами ответов. Для успешной сдачи необходимо правильно ответить на 12 вопросов и уложиться в 30 минут. В процессе тестирования можно пропускать вопросы, исправлять ответы, возвращаться к любому вопросу — на результат это не окажет влияния, так же как и досрочная сдача.

Сертификация 1С:Профессионал проводится по следующим направлениям:

  • на знание основных механизмов и возможностей платформы 1С:Предприятия 8;
  • по прикладным решениям для России:
    • Бухгалтерия;
    • Управление торговлей;
    • Зарплата и управление персоналом;
    • Управление производственным предприятием;
    • ERP Управление предприятием 2.
  • по различным локализованным прикладным решениям для Азербайджана, Беларуси, Казахстана, Кыргызстана, Латвии, Молдовы и Узбекистана;
  • по технологическим вопросам;
  • по эксплуатации информационных систем.

Перечень вопросов (без ответов) для каждого направления можно найти в выпускаемых фирмой 1С книгах. Называются они «Комплект вопросов сертификационного экзамена …». Стоимость каждой книги из этой серии в рознице на текущий момент стоит 300 рублей. Если поискать, то в интернете можно найти как сами книги, так и ответы для каждого экзамена.

Сама фирма 1С предлагает для подготовки воспользоваться ее решениями:

  • Учебное тестирование (http://edu.1c.ru/dist-training/)
  • Мобильный тренажер «1С:Профессионал» (http://1c.ru/prof/mobile.jsp)

Учебное тестирование — это имитация сдачи экзамена. Доступны бесплатная и в платная версии. В обеих версиях доступны для тестирования все направления. Отличия заключаются в том, что в бесплатной версии не видно правильных ответов. Стоимость платной версии — 2100 рублей за 30 дней доступа.

Мобильный тренажер — аналог учебного тестирования, но для мобильных устройств. Доступны версии для Android, iOS и Windows. От учебного тестирования отличается порядком распространения: полноценных бесплатных версий нет, а при покупке будет доступно тестирование только по одному направлению, но без ограничения по времени. Стоимость — 1299 рублей за один экзамен.

Для физ. лица стоимость экзамена составляет 750 рублей. Сдача осуществляется в Учебном центре 1С, в Авторизованных центрах сертификации (АЦС) или Сертифицированных экзаменационных центрах (СЭЦ). Список и часы работы можно посмотреть . Результат сдачи будет известен сразу. Если успешно, то скажут когда можно будет забрать сертификат (в Учебном центре 1С отдадут сразу).

Если с первого раза сдать не получилось, то есть бесплатная вторая попытка.

Страница описания экзамена на официальном сайте: http://1c.ru/prof/prof.htm.

1С:Специалист

Экзамены этого типа предназначены для программистов. Форма проведения — решение практических задач из билета и последующая защита своего решения. При решении задач требуется программировать (кроме УПП).

На текущий момент экзамены 1С:Специалист подразделяются на 2 типа:

  • по платформе;
  • по прикладным решениям:
    • Управление торговлей;
    • Бухгалтерия;
    • Управление производственным предприятием;
    • Зарплата и управление персоналом;
    • Зарплата и кадры государственного учреждения.

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

Задачи в билетах по платформе скомпонованы так, чтобы проверить знания следующий разделов:

  • оперативный учет;
  • бухгалтерский учет;
  • периодические расчеты;
  • бизнес-процессы и задачи;
  • управляемые формы.

Также необходимо понимать предназначение и правильно наложить управляемые блокировки.

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

Экзамены 1С:Специалист достаточно сложные и к ним необходимо тщательно готовиться. Срок подготовки зависит от личного опыта и времени, которое тратится на подготовку.

Варианты задач, встречающихся на экзаменах, можно найти в выпускаемых фирмой 1С книгах. Называются они «Сборник задач для подготовки к экзамену «1С:Специалист» …». Стоимость каждой книги из этой серии в рознице 1000 рублей.

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

Для доступа к сдаче экзамена 1С:Специалист обязательно наличие сертификата 1С:Профессионал. Перед каждым «специалистом» есть свой «профессионал». Например, чтобы сдать 1С:Специалист по платформе, необходимо получить 1С:Профессионал по платформе; для сдачи 1С:Специалист по бухгалтерии — 1С:Профессионал по бухгалтерии, и т.д.

Длительность экзаменов разная: по платформе 5 часов (раньше было 4 часа), по управлению торговлей 3 часа, по всем остальным 4 часа.

Экзамен можно сдать:

  • очно в Москве в Учебном центре фирмы 1С;
  • очно на выездной аттестации, которые периодически организуются в крупные города;
  • на дистанционной аттестации.

Задачи будут одни и те же вне зависимости от выбранного способа сдачи.

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

На дистанционной аттестации претендент выполняет задачи билета и подробно описывает все шаги решения. Конфигурация с решением и файл с описанием передаются на проверку в Москву. Результат будет известен не сразу.

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

Стоимость сдачи: 2600 рублей в Москве и 2500 рублей дистанционно. Если с первого раза сдать не удалось, то вторая попытка для сдающих в Учебном центре в Москве бесплатная, а на дистанционных аттестациях по льготной цене.

Страница описания экзамена на официальном сайте: http://1c.ru/spec/texts/ekz_1c_spec.htm.

1С:Специалист-консультант

Экзамен предназначен для консультантов и аналитиков. В процессе сдачи программировать не требуется. Цель экзамена — проверить знание одной из типовых конфигураций и умение находить адекватные средства этой конфигурации для решения специфических задач заказчика.

На текущий момент сертификация производится на знание следующих типовых решений:

  • Управление торговлей;
  • Бухгалтерия;
  • Бухгалтерия государственного учреждения;
  • Зарплата и управление персоналом;
  • Зарплата и кадры государственного учреждения;
  • Документооборот;
  • ERP Управление предприятием 2:
    • по подсистеме управленческого учета;
    • по подсистеме управления производством и организации ремонтов;
    • по подсистеме бюджетирования.

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

Стоимость сдачи: 3700 рублей в Москве и 3600 рублей дистанционно. Если с первого раза сдать не удалось, то вторая попытка для сдающих в Учебном центре в Москве бесплатная, а на дистанционных аттестациях по льготной цене.

1С:Эксперт по технологическим вопросам

Данный экзамен предназначен для программистов. Он всегда стоял несколько обособленно от остальных и котируется заметно выше экзаменов типа Специалист.

У экзаменуемого проверяют знания и навыки, необходимые для решения вопросов крупных внедрений. Для сдачи требуется действительно глубокие знания архитектуры 1С и СУБД (в основном MS SQL), методик проектирования и разработки высоко нагруженных информационных систем. Необходимо уметь грамотно администрировать 1С:Предприятие, оценивать эффективность работающей системы, расследовать проблемы производительности, производить нагрузочное тестирование и многое другое.

Для подготовки подойдут книги «Профессиональная разработка в системе 1С:Предприятие» и «Настольная книга 1С:Эксперта по технологическим вопросам».

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

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

Для успешной сдачи просто необходим богатый опыт работы с MS SQL и 1С:Предприятие.

С недавних пор для допуска к сдаче требуется сертификат 1С:Профессионал по технологическим вопросам. На экзамен отводится 4 дня. Сдача производится в первый день, последующие 3 дня занимает тренинг. Стоимость тренинга включена в стоимость и он обязателен для посещения, если экзамен сдается впервые.

Экзамен состоит из нескольких частей:

  1. Тест;
  2. Ответы на вопросы из билета (3 вопроса);
  3. Ответы на доп. вопросы (в случае необходимости).

На подготовку выделяется 60 минут, а сдача занимает около 25 минут.

Для получения сертификата необходимо:

  • Правильно ответить на 80% вопросов теста;
  • Правильно ответить на все вопросы из билета;
  • В ходе сдачи продемонстрировать хорошее понимание предметной области.

Внимание!

С недавних пор изменился формат проведения экзамена. Теперь он длится 2 дня.

В первый день экзаменуемый должен решить практические задачи. Именно в этот день большинство «заваливает» экзамен. На второй день допускается только тот, кто выполнил 3 из 5 практических задач.

Во второй день принимается теоретическая часть. В этот день требуется правильно ответить на 14 из 20 письменных вопросов и на 3 из 3 устных.

1С:Эксплуататор

Новый экзамен, предназначенный для администраторов крупных информационных систем на базе 1С:Предприятие. Экзамен сложный и требует большого практического опыта. На экзамене проверяется знание технологии 1С:Fresh, умение работать с Корпоративным Инструментальным Пакетом, умение правильно оценить загруженность оборудования, найти причину сбоя информационной системы и оперативно восстановить работоспособность. Требуется уметь правильно создать и настроить рабочую систему на базе 1С:Предприятие, включая операционную систему, web-сервер, СУБД.

Для подготовки можно использовать те же рекомендации, что и для подготовки к 1С:Эксперт. Кроме упомянутых ресурсов для подготовки пригодится книга «Облачные технологии 1С:Предприятия» и технология разработки решений 1СFresh. Также 1С рекомендует для подготовки свой курс «Эксплуатация крупных информационных систем».

Экзамен состоит из:

  • Практической части — выполнение задания на подготовленной информационной системе. Задача сформулирована в общем виде.
  • Теоретической части — ответ на два вопроса из билета. Возможны дополнительные вопросы.

Время выполнения практической части — 1 час. К теоретической части допускаются только в случае успешного выполнения практического задания. На подготовку к ответу по теоретической части выделяется 0.5 часа.

Стоимость сдачи составляет 4700 рублей.

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

В любом случае, если Вы определились с экзаменом и твердо намерены получить сертификат, искренне желаю успехов в подготовке и сдаче!

О программировании на 1С Предприятие 8

Если пишешь ты на СИ
Будь хоть трижды ламер
Про такого говорят:
«Он — крутой программер!»
(Фидошные песни — «Что Такое Suxxx и Что Такое Rulezzz»)

Предисловие

Поводом к написанию данной статьи послужило негативное отношение профессионального сообщества к указанной платформе и программистам.
Как программист, выбравший 1С, считаю данное мнение необоснованным. Платформа 1С — далеко не идеал, но, на мой взгляд, — это лучший, а главное — отечественный продукт!
И уж тем более — неадекватно судить о способностях программиста по тому языку, на котором он пишет.
В данной статье я опишу те преимущества, которые нашел для себя в программе. Статья получится практически рекламой, поэтому сразу дисклеймер:

  • Прямого отношения к фирме 1С я не имею;
  • Данная статья не является заказной, и написана исключительно на добровольной основе;
  • В некоторых случаях высказано личное мнение, которое может не совпадать…;
  • Вся статья, за исключением пролога — авторская, любые совпадения — случайность;
  • Речь пойдет о платформе 1С Предприятие 8.2 (в настоящее время — актуальна версия 8.3, но я её ещё не изучал — очень много работы на 1С 8.2). Однако, большая часть сказанного применима как к платформе 8.3, так и к более ранним версиям, а часть — и к версии 7.7.

Итак, приступим.

О чем речь?

Платформа 1С Предприятие 8 — это:

  • Работает в двух вариантах — файловый и серверный (трёхзвенка) — у каждого свои достоинства и недостатки;
  • Независимая система учета, которая легко устанавливается и настраивается;
  • Мощная экосистема для программистов со всеми необходимыми объектами и инструментами;
  • Приятный эргономичный интерфейс;
  • Сравнительно недорогое решение для бизнеса;
  • Сеть франчайзи, начальное обучение;
  • Мощная база наработок и знаний, накопленная годами;
  • Временами проблемная платформа для системных администраторов;
  • Не самое быстрое выполнение алгоритмов (хотя и не самое медленное) — это дань информативности (при ошибках указан номер строки и её содержимое);
  • В языке программирования нет классов (наследования, инкапсуляции, полиморфизма), нет анонимных функций и прочих современных фич. Но для решения большинства задач — это и не нужно!

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

Файловая и серверная базы данных

Платформа состоит из нескольких частей и может работать в файловом или серверном варианте.
В файловом варианте вся база данных содержится в одном файле (с расширением «1cd») — платформа устанавливается на каждом компьютере и напрямую читает/пишет в базу данных.
Плюсы файлового варианта — низкая цена и простота развёртывания.
Минусы — структура файла «1cd» закрыта, нет единой системы, взаимодействующей с БД. В результате — сложно использовать при большом числе пользователей (пробовали на 20+ пользователей — работать можно). Кроме того, при размере базы данных примерно 15 ГБ (и более) возникают сбои при проведении динамического обновления. Решать такие сбои — задача сложная, а утилита для починки базы — не всегда эффективно чинит, а иногда и калечит базу.
Решение есть — это, прежде всего, настройка ежедневного резервного копирования базы данных. Кроме того, народные умельцы не только публикуют формат файла 1cd, но и разработали утилиты для работы с такими файлами и ряд методов по решению подобных проблем.
В серверном варианте, платформа для хранения базы данных использует SQL-сервер (обычно, это MS SQL, но начиная с 8.2.14 — можно использовать и некоторые другие например, Firebird PostgreSQL, IBM DB2, Oracle Database), а сама платформа работает использует трехзвенную архитектуру:
Часть кода выполняется на клиенте, часть на сервере. При этом с базой данных взаимодействует только сервер. При этом, начиная с версии 8.2, помимо стандартного режима работы, который обозвали режимом «толстый клиент», появилось два новых режима работы — «тонкий клиент» и «web-клиент»; также появились «управляемые формы», внешний вид которых строится в виде абстрактного дерева элементов. Программировать под управляемые формы и трехзвенную архитектуру сложнее, но это позволяет перенести почти всю нагрузку на сервер (т.е. можно купить один мощный сервер и сотню самых дешевых офисных компьютеров).
Плюсы платформы: «трёхзвенка» — распределение нагрузки, открытость базы данных (официально фирма 1С отказывается от ответственности за любую порчу данных, если в базу SQL вносились изменения кроме как средствами ихней платформы или сервера, но это мало кого останавливает), отсутствие ограничений.
Минусы — цена: покупать придется отдельно клиентские лицензии на каждый клиентский компьютер, отдельно — одну лицензию на сервер 1С, отдельно лицензию на сервер SQL, если не использовать бесплатный. Также иногда возникают сложности в работе базы данных. Они решаются гораздо быстрее за счет доступности данных и наличия внешних инструментов работы с БД. Кроме того, и в этом случае следует делать бекап базы данных.
Общим плюсом является универсальность кода конфигураций: за некоторыми исключениями, конфигурация разработанная для файловой базы данных будет работать на серверной, и наоборот. Пример исключения — передача мутабельного значения на сервер или с сервера на клиент (в файловом варианте это не вызовет исключений, а в клиент-серверном варианте запрещено).
Ещё один плюс: платформа устанавливается очень просто, примерно так: «Далее-Далее-Далее-Ок», не требуется тонкая настройка и установка каких-либо компонент.
Для серверного варианта несколько больше настроек, но всё делается в диалоге установки и не требует прописывать что-либо в отдельных файлах. Некоторую сложность может представлять установка SQL-сервера, т.к. в этом случае настроек намного больше (и чтобы тонко настроить — требуется изучение дополнительных инструкций). Но это не относится к проблемам платформы 1С. Более того, если установить, например сервер MS SQL со всеми настройками по-умолчанию, то 1С вполне сможет с ним работать.

Это больше, чем бухгалтерия

Когда речь заходит о платформе 1С, то она представляется, прежде всего, как программа для бухгалтерского учета. Действительно, это — самая популярная область использования платформы 1С. Но не бухгалтерией единой живет 1С!
Те, кто знаком с платформой, говорят, что это система учета (автоматизации учета). Это ближе к истине — существует множество конфигураций, как от фирмы 1С, так и от сторонних разработчиков. Некоторые лишь косвенно связаны с бухучетом, некоторые вообще никак не связаны.
Вообще, правильнее представлять платформу 1С как оболочку для объектного моделирования базы данных, интерфейса и программирования на языке 1С. Единственное ограничение — для каждой конфигурации создается своя база данных, и только одна (однако, есть возможность дополнительно в составе конфигурации подключать внешние источники данных, т.е. другие базы).

Экосистема для программистов

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

Хранилища значений

Массив — объект, хранящий набор данных, в отличие от классического представления о массивах. Это могут быть данные различного типа (число, строка, ссылка, другой объект). Имеет минимальный функционал и используется, в основном, как временный контейнер для передачи значений между другими хранилищами.
СписокЗначений — объект, преимущественно, для работы с интерфейсом пользователя. Помимо данных также для каждого элемента может содержать представление, признак флажка и картинку (пиктограмму). Также имеет методы «ВыбратьЭлемент()» и «ОтметитьЭлементы()» — при вызове которых пользователю показывается интерфейсный диалог (что удобно — не нужно данный диалог создавать в конфигурации).
Структура и Соответствие — хранилища парных значений «КлючИЗначение». В структуре «Ключ» — это строка, подчиняющаяся правилам наименования переменных в 1С (без пробелов, начинаться не с цифры, состоит только из букв, цифр и знака подчеркивания). В соответствии — «Ключ» — это любое значение. Самый шустрый поиск объектов — в соответствии (быстрее, чем в массиве и индексированной таблице значений).
ТаблицаЗначений — очень удобный, и довольно быстрый, объект для хранения и обработки данных. Колонки в таблице значений можно добавлять и удалять, независимо от количества записей. При этом данные в строках не теряются (или удаляются только данные из ячеек, соответствующих удаляемым колонкам). Также, имеет метод «ВыбратьСтроку()», вызывающий диалог выбора строки. Имеются индексы.
ДеревоЗначений — объект, представляющий иерархические данные. Содержит колонки, набор колонок одинаковый для всех записей на всех уровнях. Удаление/Добавление колонок в дереве значений точно так же легко, как и в таблице значений. Также, имеет метод «ВыбратьСтроку()».
Интерфейсные объекты и объекты для работы с различными данными ТекстовыйДокумент, ТабличныйДокумент, Web-браузер, ЧтениеФайла, ЗаписьФайла, ЧтениеZIPФайла, ЗаписьZIPФайла, ЧтениеXML, ЗаписьXML, HTTPЗапрос и ещё много объектов, и по все в конфигураторе есть встроенная справка. Назначение перечисленных объектов видно из их названий и всё это сразу есть в платформе.
Отдельно следует отметить, что имеется объект «Метаданные» — с помощью которого на языке программирования можно изучить структуру данных, а также у каждой ссылки или объекта для справочника, документа, плана счетов, и т.п. есть метод «Метаданные()» — предоставляющий описание данного справочника/документа/плана счетов/ и т.п. в базе данных (какие реквизиты, табличные части имеются, длина кода/номера и т.п.). Часто бывает очень удобно.
И еще отдельно следует упомянуть про объекты: «Запрос», «КонструкторЗапроса», «ПостроительЗапроса», «ПостроительОтчета», «СхемаКомпоновкиДанных». Это семейство реализует набор объектов для работы с мощным языком запросов 1С.
Язык запросов. Запросы в 1С используются только для получения выборки данных с удобным отбором, сортировкой, группировками. В первом приближении это переведенный на русский язык оператор «SELECT» из SQL, однако, в языке запросов 1С имеется и функционал, который отсутствует в SQL, а именно:

  • Работа с объектами конфигурирования 1С, вместо таблиц SQL;
  • Работа со ссылками, вместо полей-идентификаторов SQL;
  • Поддержка разыменовывания, аналогично тому, как это делается в коде;
  • Выборка по вхождению в группу (для справочников);
  • Иерархические итоги;
  • Временные таблицы и вложенные запросы (SELECT * FROM (SELECT … )));
  • Конструктор запросов — удобный, объектный, автоматически оптимизирующий текст запроса для быстрого чтения, который умеет разбирать текст запроса (парсить текст запроса и строить из него объектную модель);
  • Построитель отчёта — надстройка над механизмом запросов, в которой добавлен функционал автоматического оформления результатов, а также гибкой настройки самого запроса в режиме «Предприятие» (т.е. пользователем). В результате в стандартных платформах 1С появился универсальный отчёт, в котором пользователь может настроить какие данные и в каком порядке он хочет видеть, что в строках, что в колонках, и отчет сам генерирует выходную таблицу;
  • СКД (Система компоновки данных) — следующая модель, вобравшая в себя функционал универсального отчета и дополнившая его некоторыми функциями обработки результатов.

Язык программирования
По синтаксису язык 1С похож на «русский Паскаль», однако от «Pascal» отличается меньшей строгостью и отсутствием некоторых конструкций:

  • Нет необходимости объявлять переменные — можно инициализировать прямо в тексте модуля;
  • Нет жёсткой типизации переменных. В системе есть типы значений, но для переменных нет строгих правил по типизации. Переменная, хранившая ссылку, может через пару строчек кода уже хранить число или строку;
  • Можно складывать переменные со значениями разных типов, при этом, тип результата будет таким, каким был тип у первой переменной, например:
    к = “25”+1; // к = “251”, не 26
  • Переменные со значениями разных типов можно сравнить на равенство или неравенство (но не на больше-меньше, это вызовет исключение) — естественно, такие переменные не равны;
  • Имеются функции и процедуры, допустимо использовать рекурсию (с ограничением по глубине рекурсии);
  • При указании функции или процедуры без параметров — всё-равно, обязательно указывать пустые скобки в конце: вот_так();
  • Имеются модули: у каждого справочника и документа их несколько, кроме того, модули есть у регистров, отчетов и обработок и у каждой формы, а также в составе конфигурации имеется возможность создавать общие модули;
  • Нет классов, наследования, инкапсуляции, полиморфизма;
  • Функцию нельзя передать как ссылку, нет анонимных функций;
  • Нет обратного цикла (for i:=5 downto 1 do), а он реально нужен при удалении записей. Обходимся чуть более длинной записью через цикл «Пока».

Инструментарий

  • В платформе 1С есть возможность выгружать-загружать конфигурацию, сравнивать конфигурацию с другой конфигурацией и частично загружать изменения;
  • Есть возможность выгружать тексты модулей для их пакетной обработки и загружать обратно в конфигурацию;
  • Если конфигурация находится на поддержке (все конфигурации от 1С изначально на поддержке), то всегда можно выполнить сравнение и посмотреть, что изменялось сторонними разработчиками или местными специалистами;
  • Также есть возможность выгружать / загружать базу данных целиком (вместе с данными);
  • Для коллективной работы над одной конфигурацией используется хранилище конфигурации;
  • Также существует ряд правил внесения изменений в стандартные конфигурации, есть даже документ от 1С, описывающий методики и стандарты изменения типовых конфигураций (да и любых других).

Общее впечатление
Язык 1С сочетает в себе ясность текстов языка «Pascal» с фривольностью работы с переменными языка «BASIC». В нем отсутствует ряд возможностей, присущих современным языкам программирования, но без них вполне можно обойтись. Кроме того, в платформе 1С есть мощный сборщик мусора, т.е. не требуется, например, очищать таблицы после использования или удалять их.

Интерфейс 1С Предприятие 8.2

Фирма 1С уделила особенное внимание интерфейсу своей программы. Прежде всего — это цветовая палитра. Она шикарна! Окна программы узнаваемы даже издалека, при этом за многие годы работы — не вызывают неприязненных ощущений, наоборот — хочется, чтобы все программы были были такими-же классными.

При этом стиль платформы весьма строгий, без рюшечек и прочих излишеств. При этом есть весьма полезные функции, например, запоминание размеров окон (размеры запоминаются только при их изменении пользователем, и, при этом, всегда можно сбросить настройки пользователя — до размеров и позиции по-умолчанию, нажав Alt+Shift+R).
Интерфейс Web-клиента 8.2 вызывает ряд нареканий, но, вроде бы, платформа 8.3 несёт с собой новый переработанный интерфейс — «Такси».

Цены, спрос и предложение, франчайзинг

Самым «вкусным» плюсом платформы 1С является её цена. Особенно, это актуально сейчас, во время кризиса. Ведь 1С — это полностью наш, отечественный продукт. И продаётся она за наши деревянные. Подобные решения от иностранного производителя будут стоить огромных денег. А лицензии на 1С стоят вполне приемлемо.
Кроме того, у 1С интересная политика лицензирования. Сами лицензии и конфигурации покупаются один раз. При этом, лицензии покупаются на рабочее место и на сервер, но не на базы данных, и даже не на подключения, т.е. по одной лицензии один и тот же пользователь может запускать неограниченное количество сеансов 1С, работая с любым числом баз данных. То же самое касается конфигураций: приобретя одну лицензию на конфигурацию организация может использовать её для создания любого количества баз данных, более того официально разрешается использовать части кода и объекты данной конфигурации при разработке собственных конфигураций (при этом собственные конфигурации можно продавать/передавать — оговаривая, что для их использования нужно купить конфигурацию от 1С).
После этой единовременной покупки нужно только подписаться на обновления и раз в год оплачивать продление подписки, т.н. ИТС. К слову, подписка стоит весьма недорого, примерно как две клиентские лицензии.
В целом, всё это выглядит очень выгодно.
Вторым «вкусным», но уже с ложкой дёгтя, плюсом, является наличие довольно универсальных конфигураций от самой 1С и от партнеров.
Про универсальностьПонятие «универсальность» определил один школьный учитель по НВП на примере противогазов: существуют универсальные, защищающие от многих поражающих факторов, но степень защиты средняя или ниже среднего, и также существуют специализированные противогазы, которые защищают от одного воздействия, но с высокой степенью защиты. До сих пор я не встречал более точного определения.
И конфигурации от 1С — именно универсальные. Практически, нет задач, где бы их можно было полноценно использовать без доработок. Тем не менее, фирме 1С удалось создать универсальный набор инструментов, покрывающий запросы большинства отраслей современного бизнеса.
Третьим плюсом (и тоже с ложкой «дёгтя») является сеть франчайзи и центров обучения, как для пользователей, так и для начинающих программистов и администраторов. Хорошая идея, но весьма посредственное качество её реализации. Тем не менее, распространённость и агрессивный маркетинг — одна из причин повсеместной популярности 1С в нашей стране (и это-же причина негатива, зависти и ненависти).

Ложка дёгтя

Расписав во всех красках 1С было бы несправедливо не сказать и о её недостатках, а уж они-то есть:
Нестабильные релизы — как в платформе, так и в конфигурациях, присутствует огромное количество ошибок и глюков. И это в официальных релизах. Перед тем, как выпустить официальную версию, выпускается «Версия для ознакомления». Есть также обратная связь для отправки описаний ошибок, чтобы их приняли к исправлению. Однако, то-ли версии для ознакомления не особо популярны, то-ли сама фирма 1С не успевает к сроку релиза обработать все письма, но факт. Каждый раз обновляя платформу или конфигурацию можно наткнуться на самые неожиданные «сюрпризы». К фирме 1С уже неоднократно обращались с призывом более тщательно тестировать свои разработки.
Франчайзи (далее — франчи). В идеале, по задумке, это должны были быть фирмы с квалифицированными специалистами, знающими основные принципы работы конфигураций и платформы. Эти самые фирмы должны были бы продавать платформу, конфигурацию и поддержку, слегка «допиливать» универсальные конфигурации под требования клиента (а временами — корректировать эти требования), стараясь минимально модифицировать стандартную конфигурацию. Так, чтобы не сильно усложнять будущие обновления. А в реальности всё наоборот.
При продаже новых лицензий клиенту франчи получают 50% от их стоимости (за минусом подоходного налога 13% от этих 50%). При этом самим производить ничего не надо, надо только передать ключи от 1С покупателю.
При оказании же услуг франчи не платят фирме 1С ничего (за исключением членских взносов), но зато им нужно платить зарплату сотруднику. Также приходится тратиться на налоги государству — ПФР и подоходный налог.
Выходит, что и 1С, и франчам выгодно продавать лицензии и невыгодно осуществлять дальнейшую поддержку. При этом, чтобы клиент купил программу, нужно её изначально подогнать под его требования. А работу оплачивать надо. И тут с целью экономии привлекаются студенты, ученики, неспециалисты, которым можно заплатить немного, а иногда — и не платить вовсе, их можно даже в штат не оформлять (поработают неофициально, благо есть с чего оплатить). Результат — огромное число продаж при очень низком качестве. Доработки, как правило, затрагивают важные механизмы и усложняют будущее обновление. Но на этапе продажи это ни 1С, ни франчайзи не интересует.
Замечу, что это не столько вина бизнесменов из франчей, сколько фирмы 1С. Ориентируясь на продажи она совершенно не позаботилась о поддержке (я не о школах сейчас, а о том, что осуществлять поддержку должно быть выгодно и самой фирме-франчайзи, и 1С).
Техподдержка. В понимании фирмы 1С, техподдержка — это предоставление доступа к разделу «обновление» для платформы и конфигураций, а также к информационным разделам, содержащим описание некоторых механизмов и особенностей работы 1С. Кроме того, при подписке предоставляется диск с указанными материалами. Также имеется форум (весьма скудный в сравнении с народными). Ещё имеется возможность отправить электронное письмо в фирму 1С — но даже не надеясь, что на него ответят (или ответит робот «Письмо передано в отдел разработки». В плане разработки гораздо большую поддержку оказывает Яндекс.Поиск и встроенная в конфигуратор справка.

Эпилог

В этом блоке автор рассказывает о себеЯ перешел на 1С в 2008 году, а до этого работал в фирме, разрабатывающей свою программу бухучета (Delphi 5, затем Delphi 7). Сначала я познакомился с платформой 1С Предприятие 7.7 и меня поразила в ней простота разработки отчетов. При этом было видно, что отчеты формируются намного дольше, чем в похожих механизмах на Delphi, но бухгалтеров это особо не волновало. Подождать несколько минут вместо нескольких секунд — не проблема. Наоборот, можно ногти там накрасить, чайку попить или обсудить последние новости не отрываясь от работы. Ведь подавляющее большинство бухгалтеров в наше время — женщины.
Тем не менее, интерфейс 7.7 был весьма ограничен, а набор объектов — весьма скуден. Я искал альтернативы. Познакомился с внешними компонентами, но до практического применения их не дошло, т.к. начальник решил, что пора бы нам переходить на 8.1 (да, 8.2 тогда ещё не было), а в этой платформе, как программист, я нашёл всё, чего мне не хватало ранее.
В настоящее время имею авторитет среди коллег, а также клиентов, которые перешли ко мне от франчей. С франчами они уже, наверное, никогда больше не свяжутся.
В целом, работой в платформе 1С Предприятие 8 я вполне доволен. Она подходит для решения большинства учетных задач и задач с использованием базы данных.

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

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