1с 8.3 как писать расширения. Публикации

Даже если вы заранее изучали другие языки программирования, например, C++, PHP, Java, стоит помнить, что 1С хоть и во многом сходе, но все-таки имеет много принципиальных различий.

Самое главное в 1С – то, что не нужно придумывать свои виды объектов. Все они уже есть в конфигурации.

Установите технологическую платформу 1С себе на компьютер, и откройте в конфигураторе новую или уже существующую базу. Для начала можно использовать абсолютно для обучения программированию.

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

Данные так же хранятся в СУБД, но разработчик обычно не работает с ними напрямую. При помощи технологической платформы программист обращается уже к объектам конфигурации или информационной базы.

В 1С, как и во многих других языках программирования, очень часто используются запросы. схож с языком T-SQL. Запросы можно писать как на английском, так и на русском, в прочем, как и остальной код.

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

В плане работы для 1С программистов существуют две основные ветви: франчайзи или работа «на себя» и работа в качестве штатного программиста it-отдела какой-либо организации. Данный выбор зависит только от ваших предпочтений.

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

Если вы решите работать на фрилансе, либо открыть собственный бизнес, не нужно будет ни с кем «делиться» своим заработком (кроме государства и фрилансовой площадки естественно). Но в таком случае и клиентов будет необходимо искать самостоятельно.

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

Конечно же, эти два способа можно совместить, работая штатным программистом днем и на фрилансе по вечерам.

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

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

Книги по 1С

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

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

«Hello, 1C» показывает самые простые, основные возможности разработки прикладных решений в системе 1С:Предприятие 8.

В «101 совете» описаны различные способы решения одних и тех же задач.

Практическое пособие разработчика 1С Предприятие 8.3 — очень подробное пособие, описывающее приемы разработки с простыми и понятными примерами. Данная книга одна из самых лучших для изучения 1С программирования.

В данном пособии описывается язык запросов с нуля для тех, кто не знаком даже с SQL.

Составляющие системы 1С:Предприятие 8.3

В системе 1С:Предприятие можно выделить две ключевые составляющие:

  • технологическая платформа;
  • прикладные решения, которые создаются с помощью технологической платформы и касаются автоматизации различных участков деятельности.

В технологической платформе выделяются две составляющие:

  • среда исполнения;
  • среда разработки.

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

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

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

Средства разработки в системе 1С:Предприятие

В системе 1С:Предприятие 8.3 существует много различных конструкторов, вот некоторые из них:

  • конструктор запросов;
  • конструктор движений регистров;
  • конструктор печати;
  • конструктор форм объектов конфигурации.

Термины / Определения / Понятия системы 1С Предприятие 8.3

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

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

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

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

Табличные части - это объекты конфигурации, которые являются подчиненными по отношению к основным объектам. С ними мы уже встречались при работе со справочниками. И в том, и в этом случае табличные части подчинены основным объектам (справочнику или документу).

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

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

Измерения - это также объекты конфигурации, но они относятся к категории подчиненных.

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

Каждому движению регистра накопления всегда должен соответствовать определенный регистратор.

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

Движения документа - это записи в регистрах, которые совершаются в процессе проведения документа.

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

Эта статья – первая из нашего цикла. Данный материал будет полезен не только начинающим программистам и администраторам, которые по роду своей деятельности сталкиваются с установкой платформы «1С:Предприятие 8», но и рядовым пользователям, самостоятельно купившим какую-либо коробочную конфигурацию и сталкивающимися с вопросами развертывания системы.

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

Применимость

Статья написана для платформы «1С:Предприятие» версии 8.3.4.437, но если вы работаете с более поздней версией платформы, то весь материал является абсолютно актуальным.

Установка и запуск 1С:Предприятие 8

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

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

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

Всего набора объектов достаточно для решения задач автоматизации учета, связанного с бизнесом (и многих сопутствующих задач).

Для работы с множеством конкретных объектов был создан специальный язык разработки, на котором пишут программы высокого уровня – встроенный язык 1С:Предприятие 8. Кроме того, имеются всевозможные редакторы: диалогов, таблиц, HTML-документов.

Таким образом, из имеющегося в платформе набора объектов можно создавать конкретные приложения (часто используют термин – конфигурации). Очень важно, что конфигурация – это решение, открытое для редактирования.

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

Однако следует учитывать, что данный механизм достаточно опасен, особенно в руках новичков, не знающих всех возможностей конкретной конфигурации. Бывали случаи, что вместо глобального переписывания программного кода, достаточно было поставить 1-2 галочки в настройках системы в пользовательском режиме.

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

Похоже, что отличие платформы от конфигурации Вы уже поняли. А чем же конфигурация отличается от базы?

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

Для наглядности и простоты понимания платформу можно сравнить с пишущим DVD приводом. Он позволяет и записывать что-то, и воспроизводить. При этом конфигурацию можно сравнить с образом для записи диска. С одного образа можно записать множество дисков, которые в данном примере можно сравнить с информационными базами.

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

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

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

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

Для разных операционных систем существуют различные дистрибутивы платформы. Наиболее полная линейка разных дистрибутивов платформы представлена для 32-разрядной (x86) версии Windows.

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

Тонкий клиент предназначен только для пользовательского режима (все вычисления будут выполняться на сервере, а на клиенте будет происходить отображение). Следует отметить, что для 64-битной версии Windows можно устанавливать 32-битные приложения, они будут работать в режиме эмуляции.

Рассмотрим процесс установки платформы. Будем считать, что у Вашего клиента стоит операционная система Windows XP, Windows 7 или Windows 8. Тогда смело можете устанавливать заготовленный Вами дистрибутив платформы.

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

Помечая первую строку, мы выбираем основные компоненты 1С:Предприятия, включая компоненты для администрирования, конфигурирования, толстый и тонкий клиент.

Если Вы нажмете на кнопку «Изменить» (справа внизу), то сможете поменять директорию для установки платформы. Однако без веских оснований этого делать не следует, так как разные релизы платформы не замещают друг друга, а скапливаются в директории C:\Program Files (x86)\1cv8 . По умолчанию запускается последний релиз платформы, по необходимости, может быть запущен любой из них.

На последнем шаге система предлагает установить драйвер защиты. Причем флажок установки по умолчанию включен.

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

Для запуска платформы в каждом релизе платформы в подкаталоге bin существует по три исполняемых файла:

  • 1cv8.exe – запуск в режиме толстого клиента;
  • 1cv8с.exe – запуск тонкого клиента (невозможна работа в режиме Конфигуратора);
  • 1cv8s.exe – в зависимости от выбранных параметров базы вызывает один из двух предыдущих.

Кроме того в каталоге C:\Program Files (x86)\1cv8\common\ существует интерактивная программа запуска 1сеstart.exe. Отличие от предыдущих исполняемых файлов – запускается последний релиз платформы, установленный в системе.

В меню Пуск – 1С:Предприятие 8 ярлык на данную программу запуска стоит первым. Именно последний способ запуска платформы является рекомендуемым.

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