Как составить конфигурацию конфигурации

Создание конфигураций 1С: основы

Автор уроков и преподаватель школы: Владимир Милькин02

Наконец, мы приступаем к созданию и доработке конфигураций 1С. Если вы не читали введение к этому модулю — пожалуйста, прочтите его: ссылка.

Конфигурация, конфигурация … а что это вообще такое?

Оглавление

  • Из чего состоит 1С
  • Какие бывают базы
  • Конфигурация — основа базы
  • Как выглядит платформа
  • Как выглядит база данных
  • Как выглядит конфигурация
  • Сравнение с Word
  • Два режима работы с базой
  • Установка платформы
  • Создаём пустую базу
  • Пройдите тест

Из чего состоит 1С

Давайте ещё раз вспомним, что 1С делится на две большие части:

  1. Это собственно сама программа 1С (её ещё называют платформой 1С:Предприятие). 
  2. И данные с которыми работает эта платформа (их ещё называют базой данных).

У платформы есть версия. Раньше использовалась «семёрка» (версия 7.7), теперь используется 8.3 — это самая последняя версия платформы — её мы используем в наших уроках.

Какие бывают базы

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

  • бухгалтерские базы (1С:Бухгалтерия)
  • базы для управления персоналом и расчетом зарплаты (1С:Управление персоналом)
  • базы для управления торговлей (1С:Управление торговлей)
  • базы для автоматизации практически любой другой отрасли (парикмахерские, автосервисы, салоны красоты, общепиты и другие)

Конфигурация — основа базы

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

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

Как выглядит платформа

Исполняемые файлы платформы 1С

Это набор исполняемых файлов (программ), которые устанавливаются в папку «Program Files» и обычно запускаются ярлыком с рабочего стола:

Как выглядит база данных

База данных 1С

Самый главный файл «1Cv8.1CD» — именно в нём хранится база. Все остальные файлы являются служебными и при их удалении мы потеряем разве что журнал регистрации.

Как выглядит конфигурация

Конфигурация бухгалтерской базы данных

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

Конфигурация «зашита» внутри базы (файл «1Cv8.1CD«) вместе с данными.

Сравнение с Word

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

Платформа 1С — это программа Microsoft Office Word для работы с текстовыми документами, а база данных — это текстовый документ с которым работает Word. Сама программа Word не хранит в себе никаких данных, но вот файлы, которые мы создаём при помощи него как раз и являются хранилищем различной информации.

Когда мы запускаем ярлык 1С с нашего рабочего стола — мы запускаем платформу.

Затем платформа показывает нам список баз, зарегистрированных на нашем компьютере …

Список баз 1С

… мы делаем выбор, какую из них открыть и она загружает её в память компьютера.

Два режима работы с базой

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

Именно поэтому существует два отдельных режима работы c базой данных:

— режим конфигуратора (когда мы работаем только с конфигурацией базы, не затрагивая её данные)

— режим предприятия (когда мы работаем только с данными базы).

Ещё можно сказать, что режим конфигуратора предназначен для программистов, а режим предприятия — для пользователей.

И то, что программист придумает в режиме конфигуратора будет определять то, что пользователь увидит в режиме предприятия.

Переключение между этими двумя режимами производится вот этими двумя кнопками:

Установка платформы

Для обучения программированию нам понадобится 1С 8.3 (не ниже 8.3.13.1644).

И если у вас её ещё нет: ссылка на инструкцию по установке.

На вашем рабочем столе должен появиться вот такой ярлык:

Создаём пустую базу

Итак, давайте же создадим нашу базу данных, но не так как мы это делали на самом первом уроке школы (ссылка) — на этот раз мы сделаем это осознанно, с объяснением каждого шага:

1. Запустим платформу 1С на нашем рабочем столе. Этот ярлык ведёт к исполняемому файлу из папки «C:Program Files1cv8t».

2. Перед нами открылся список баз 1С:

Список баз 1С

В нём уже присутствует база «Учебная» из прошлых уроков. Обратите внимание на то, что при выделении базы внизу пишется путь к её папке. Если мы откроем эту папку в проводнике, то обнаружим там тот самый файл «1Cv8.1CD«, о котором шла речь выше.

3. Нажмём кнопку «Добавить«.

4.  Выберем пункт «Создание новой информационной базы» и нажмём кнопку «Далее«:

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

5.  Выберем пункт «Создание информационной базы без конфигурации …» и нажмём кнопку «Далее«:

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

6. В качестве имени базы укажем «Азы» и нажмём кнопку «Далее«:

В качестве имени базы можно указывать любое подходящее по смыслу название.

7. В качестве каталога базы укажем любую пустую папку (в данном случае это папка «Азы» в моих документах). Нажмём кнопку «Далее»:

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

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

Веб, тонкий и толстый клиенты — это всё варианты платформы 1С.

Веб-клиент не требует установки, он запускается в браузере и позволяет пользователю работать с базой через интернет.

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

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

9. В списке появилась наша база «Азы», которую мы только что создали. Выделим её и внизу отобразится путь к папке с базой:

Зайдём в эту папку через проводник и увидим там уже знакомый файл «1Cv8.1CD«, который содержит всю базу данных:

Пройдите тест

Обязательно повторяйте все действия, которые мы выполняем на уроках данного модуля. Теория, не подкреплённая практикой — ничего не значит.

О статье

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

Меня всегда удивляло, что IT-сообщество так мало знает о платформе. Чаще всего это шаблонные тезисы про «кодинг на русском», «мало возможностей» и «постоянные баги». Но часто на поверку оказывается, что человек вообще не имел опыта работы с 1С или опыт был во времена мамонтов.

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

Дисклеймер

  • Я не работаю в компании 1С и не имею к ней никакого отношения. Это не рекламная статья. Эта статья не про компанию, а про продукт. Платформу для разработки приложений.

  • В мире 1С свои термины. Свои подходы к разработке. И часто разработчикам классических ЯП сложно понять их. Поэтому, в статье я буду пытаться наложить термины известные по другим ЯП на парадигму 1С. Это нужно только для облегчения понимания.

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

  • Обзорную статью нельзя сделать без обобщений и упрощений. Иначе она превратится в учебник или документацию. Поэтому упрощения будут и здесь. И опытный специалист может увидеть их и возразить: «на самом деле в X не совсем правильно, ведь бывает Y». Сразу прошу прощения за то, что я где-то что-то не упомянул или недостаточно погрузил =)

  • Это моя первая (и тестовая) статья на данном ресурсе. Если вам будет интересна данная тема, то я продолжу демонстрировать платформу. И с хорошей и с плохой стороны.

Что это вообще?

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

Но это, конечно, и так понятно. А если подробнее?

  • «Платформа» — это продукт компании. Это ещё не конкретная программа для пользователя, но совокупность всех инструментов, которые нужны для её работы. Здесь есть IDE для разработчика, приложения для администрирования, клиентская часть (интерпретатор). Всё это в отдельности имеет свои названия, но чаще всего можно просто обощённо сказать «Платформа» и все 1Сники тебя поймут.

  • «Конфигурация« — это конкретный программный продукт. Это, грубо говоря, проект в Visual Studio. При этом под конфигурацией могут понимать и ещё конкретное написанное приложение от 1С. Т.е. тиражный проект, который поставляется с открытым исходным кодом. Например, Управление Торговлей или Бухгалтерия предприятия. Пользователь получает специальный шаблон установки, который разворачивает из типового проекта ваше приложение.

  • 1С — Это программная оболочка над базой данных. По сути, приложение 1С невозможно без базы данных по той причине, что сам проект (конфигурация) хранится в той же БД, где и лежат данные . Но об этом подробнее поговорим далее.

  • Поддерживаемые СУБД: Microsoft SQL Server, PostgreSQL, IBM DB2, Oracle Database. И файловый формат. При этом сам программист 1С при написании кода в большинстве случаев об этом не думает.

  • Кроссплатформа. Одно и то же решение можно запустить на Windows, Mac, Linux. Можно запустить вообще без установки платформы — в браузере (причем и с телефона). И в большинстве случаев код будет один и тот же (за исключением некоторых нюансов). Так же есть возможность написания специального приложения под Android и iOS. Это может быть и приложение-клиент (когда пользователь работает с той же базой напрямую) или же отдельное приложение, которое синхронизируется с основной базой.

  • Интеграция с внешними базами, веб-сервисами и мессенджерами. Это и подключение к другой БД «напрямую» (когда пользователи работают с ней не покидая 1С), и публикация WebAPI для работы из сторонних приложений, и разработка ботов для телеграм.

  • Гибкий пользовательский интерфейс. Без необходимости дополнительной разработки пользователь может полностью перенастроить интерфейс под свои нужды. При этом всё сделано ненавязчиво. Если пользователю такое не нужно, то он просто не будет открывать соответствующие пункты меню (часто про них мало кто вообще знает). Но если понадобится, то волен сам настроить: отборы, сортировки, группировки, оформление, отображаемые поля и так далее. Естественно, разработчик может что-то запретить к изменению, но чаще всего это не требуется.

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

  • Расширяемость. Большинство готовых продуктов на платформе поставляются с открытым исходным кодом. С возможностью в любой момент изменить и доработать под свои нужды. А с использованием внешних обработок и расширений изменение типового проекта может вообще не потребоваться. Вместо этого возможно новый функционал просто положить «поверх» типового «на лету».

  • Большое комьюнити. 1Сников много. И много статей, видео, телеграмм каналов про эту тему. А также готового кода в виде отчетов, обработок, расширений и так далее.

  • Много встроенных возможностей. На самом деле, в 1С ещё много чего есть. Встроенные чаты, видеозвонки и демонстрация экрана. Платформенные типы, объекты которых позволяют быстро реализовать сложный функционал. Технологический журнал и история данных. Инструменты построения многоязычного интерфейса для тиражирования своего продукта. И так далее.

Наше первое приложение

Создаем базу

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

Как я писал выше (и ещё упомяну ниже), каждое отдельное приложение на 1С — это база данных. В этой базе лежат не только данные, но и сам проект в исходном открытом виде (возможно сокрытие кода, но и оно применяется редко). Сейчас просто создадим наше первое приложение.

Либо создаем базу, либо указываем существующую.

Либо создаем базу, либо указываем существующую.

Здесь 1С предлагает нам выбрать один из шаблонов. Шаблон — это такой же проект (конфигурация), но сохраненный в качестве шаблона установки. Когда компания покупает, например, Бухгалтерию предприятия, то создаёт свою базу из этого шаблона. Шаблон разворачивается в базу данных, в которой лежит проект (ака конфигурация). И уже на этой БД ведётся учет.

Мы же создадим новую базу данных с пустой конфигурацией и сами разработаем своё приложение.

И вот мы видим список своих баз (у меня ещё есть группа).

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

  • Конфигуратор — это IDE 1Сника. Конфигуратор служит не для наполнения базы данных и использования её функционала, но для разработки логики приложения.

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

Перед нами открылось окно панели конфигурации. Можно его сравнить с «Проектом» в VisualStudio.

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

Но на самом деле конфигураций в БД как минимум две =)

Для демонстрации продолжим разработку. Для этого кликнем по корню дерева и откроем панель свойств:

И в свойствах изменим имя конфигурации.

Теперь наш «корень дерева» изменил название и доступны две кнопки, которые отвечают за сохранение.

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

Бочонок (так у нас принято называть кнопку с синим цилиндром) переносит изменения из конфигурации разработчика в исполняемую конфигурацию. То есть в конфигурацию базы данных.

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

Нажмём поочередно на обе кнопки и запустим отладку F5.

Приложение уже обладает готовым интерфейсом с разными возможностями. Но пока этому интерфейсу не к чему применяться. И так, приступим к попыткам понять, что вообще такое — разработка на 1С. Мы уже знаем, что весь проект лежит внутри самой БД. Но из чего состоит этот проект?

Классы в 1С

В 1С нет классов 🤷‍♂️

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

Базовые классы.

Базовые классы.

Разработчик 1С создаёт свои классы (условно). И этот класс должен обязательно наследоваться от одного из тех, что нам предоставляет платформа. Например, Справочник. Или Документ. Или Общий модуль. Далее разработчик описывает логику исходя из тех возможностей, что нам даёт этот базовый класс. А значит, что мы вольны менять многое, но не всё.

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

Создаем справочники

И так, создадим новый Справочник. Сразу назовем его Организации. Сейчас у нас открыт редактор Справочника (нашего нового класса). Редактор удобно группирует все свойства по тематикам.

Всё. Мы уже можем обновиться и увидеть новый справочник. Нажимаем F5 и на всё соглашаемся.

Теперь мы видим наш справочник в меню. Перейдём в него:

Сгенерированный платформой интерфейс

Сгенерированный платформой интерфейс

1С автоматически сгенерировала все нужные базовые возможности для этого справочника. Добавила ему поля «Наименование» и «Код». Нарисовала формы: списка (скрин выше), объекта (скрин ниже). Добавила все нужные кнопки. У нас сразу же доступны:

  • Добавление, изменение, копирование и удаление.

  • Отборы, группировки, сортировки, настройка своего оформления.

  • Вывод списка в табличный документ.

  • Изменение состава выводимых колонок.

  • Сохранение своих настроек формы

  • Навигационные ссылки (каждая формаобъект имеет свою строковую ссылку для быстрого перехода)

  • Добавление в избранное

  • История данных. Она вшита на уровне платформы и позволяет в любой момент проанализировать изменения любых данных в базе.

  • И ещё много другого

Добавим же нашу организацию «Рога и Копыта». При записи поле Код сгенерируется автоматически.

Сейчас уже справочник работоспособен. И для простых таких классов больше ничего не нужно делать. Но чего не хватает нашей организации? Добавим для примера реквизит «ИНН».

Реквизиты

Реквизиты — это публичные поля класса. Они автоматически доступны пользователю в интерфейсе. И они хранятся в БД вместе с объектом. Фактически, добавляя новое такое поле в свой класс, разработчик заставляет платформу в таблице SQL добавить новую колонку (или несколько для составных типов).

Перейдём в конфигуратор и добавим новый реквизит ИНН:

На палитре свойств есть много всего, что описывает поведение нашего реквизита. Но нам сейчас интересно главное — тип. Какие бывают типы в 1С ?

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

Вы можете заметить, что в 1С нет отдельных типов под разные виды чисел. int, uint, long и ulong — это всё в 1С объединено одним типом Число. Но в реквизите мы можем это число настраивать. Пусть наш ИНН будет неотрицательным, целым (точность = 0) и максимальной длинной 12. Обновим теперь приложение и посмотрим на результат (F5).

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

Панель настроек списка в 1С - отдельное искусство

Панель настроек списка в 1С — отдельное искусство

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

Теперь в навигации у нас появилась ссылка на справочник Товары.

Выглядит он так же как и Организации. За одним исключением. Нам доступна кнопка Создать группу.

Добавим группу «Техника». Это «папочка». И в каждую такую группу можно поместить какой-то товар или же другую группу. Они нужны для произвольной иерархии товаров. Добавим несколько любых. Они нам потом ещё понадобятся.

Со справочниками мы разобрались. Теперь же перейдём к другому базовому классу — Документу.

Документы

Документ — это факт отражения какой-то операции. Документ имеет порядковый номер и дату. И документ может делать движения по регистрам (о них позже).

Добавим документ «ПриходТовара»

В пользовательском режиме он выглядит похожим на справочник, но теперь вместо «Наименование» и «Код» другие поля — «Номер» и «Дата».

Пока не будем записывать документы — нам нужно сначала наполнить его полями.

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

Табличная часть

Добавим Табличную часть. Это таблица, которая подчинена текущему объекту. Мы сначала её настроим, а потом в пользовательском режиме увидим как это выглядит.

Пусть в табличной части будут реквизиты Товар (ссылка на справочник Товары) и Цена, Количество, Сумма (неотрицательные числа длиной 10 и точностью 2).

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

Здесь есть добавленный реквизит Организация. И табличная часть с товарами. На уровне SQL это отдельная таблица в БД, которая связана с таблицей документов. Каждый документ может иметь свои строчки в табличной части. Пользователь автоматически получает это в виде редактируемой таблицы внутри объекта.

Выбор ссылок

Наполним документ. Сначала выберем Организацию. 1С так же автоматически строит интерфейс для выбора ссылок на другие объекты. Можно сделать это через форму:

А можно через ввод по коду или наименованию

Так же работает и выбор товара:

Выберем любой товар и введем его цену и количество:

Как видно на скрине, сумма при этом не заполнилась автоматически. Хотя вполне логично, что она должна сама изменяться при вводе Цены и Количества. И вот пришла пора к новой стадии разработки — написании кода!

Редактор формы

Для начала перейдём в конфигуратор и создадим форму документа:

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

Вот так выглядит редактор формы. На нём автоматически сгенерированы выбранные элементы.

Управляемые формы — это механизм платформы по генерации интерфейса. Разработчик 1С просто «накидывает» элементы на форму, а платформа их компонует и наполняет стандартным функционалом.

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

1С сразу предлагает один из вариантов. Просто выберем первый:

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

Процедуры и функции

Функции в 1С выполняют некий код и возвращают некое значение. Процедуры же ничего не возвращают. При этом объявлять типы нет никакой возможности. Костыльным путём в новой IDE пытаются применить практику «раз ЯП не может, то будем парсить комментарии». Но фактически на исполнение кода эти комментарии никак не влияют и нужны только для удобства разработки.

Здесь простая функция для демонстрации. Принимает на вход два параметра. Первый обязателен и без него вызвать функцию нельзя. Второй же можно пропустить и тогда будет использоваться значение «2». Внутри функции идёт объявление переменной «Результат» с присвоением 0. А далее цикл for от нуля до значения первого параметра. И вызывающий функцию получит значение переменной Результат.
МойРезультат = ИмяФункции(100);

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

Модули

Весь код хранится в модулях. Как вы заметили, в разработке на 1С много чего создаётся интерактивно при помощи интерфейса. Если «обычный» программист описывает поля класса кодом, то 1Сник это делает «мышкой». А вот сам код всегда лежит в каком-то модуле.

  • Модуль объекта — это модуль, который имеет контекст конкретного объекта. Например, конкретный Товар в справочнике Товары. Конкретного экземпляра класса. Модуль объекта имеет события этого объекта. Например, в ПередЗаписью() мы можем как-то доработать поля перед попаданием в БД.

  • Модуль менеджера — это статические методы класса. Они не имеют доступ к контексту конкретного экземпляра класса. Просто в 1С статические методы объектов расположены отдельно — в этом модуле.

  • Модуль формы — здесь описывается логика поведения интерфейса. И именно здесь в первую очередь используется «Клиент-серверный» подход. Если в модуле объекта можно взять за стандарт, что код будет выполняться на серверной машине (которая имеет доступ к БД и бОльшие вычислительные мощности), то код формы просто обязан быть и на клиенте. И при разработке формы очень важно правильно делить методы на серверные и клиентские. Потому что для выполнения серверного кода платформа обязательно будет выполнять запрос к этому самому серверу. И передавать данные. Иногда много.

  • Общие модули. Это, своего рода, способ разнести множество функций и процедур по разным «папочкам». Это очень похоже на статические классы, которые не имеют никаких полей. Просто в общем модуле СтроковыеМетоды лежит функция КоличествоСлов() и чтобы её вызвать необходимо сделать так:

    СтроковыеМетоды.КоличествоСлов(МояПеременная);

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

На самом деле, существуют и другие виды модулей, но мы затронули основные, которые нужны для понимания кода на 1С.

Пишем простой код

И так, вернёмся к нашей форме. Создадим такой же обработчик и для поля Количество. И сделаем процедуру, которая будет заполнять сумму:

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

Теперь сумма заполняется автоматически. И мы написали свой первый простой код. Думаю, синтаксис здесь достаточно простой, чтобы понять без дополнительных объяснений. Теперь у нас есть два справочника и документ. Перейдём к Регистрам.

Регистры

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

Добавим регистр накопления «ОстаткиТоваров». И сразу добавим ему Измерение Товар с типом ссылки на справочник Товары. И ресурс Количество с типом Число (длина 10, точность 2).

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

Измерения — это ключевые поля хранения остатков. Например, Товар и Склад.
Ресурсы — это числовые поля. Их платформа будет «считать».

Осталось только указать какой документ будет добавлять записи в регистр. Большинство регистров нельзя редактировать вручную. Это таблицы, которые наполняют разные документы. Добавим в качестве «Регистратора» записей наш документ.

Теперь нам нужно прописать как именно будет наполняться таблица регистра. Для этого перейдём в документ и откроем Конструктор движений.

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

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

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

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

Теперь запустим пользовательский режим и создадим новый документ. Чтобы в регистр попали строчки документ нужно провести одноименной кнопкой.

Теперь в нашем регистре появилась первая запись:

Это запись «прихода» (с зеленым плюсиком). И уже в остатках товара есть 10 штук. Но давайте для начала сделаем возможность отразить продажу товара. Сделаем просто — скопируем в конфигураторе наш документ в новый и назовём его «РасходТовара»

Общие модули

И вот мы пришли к одному из главных минусов в 1С… Нельзя наследоваться от своих классов.

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

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

В общем модуле нет доступа к контексту формы. Поэтому, нам нужно передать в процедуру элемент с таблицей.

Теперь изменим код в формах обоих документов:

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

Теперь наша процедура принимает на вход объект класса документ и вид движения (приход или расход). Вот так выглядит вызов этой процедуры:

В метод мы передаем ЭтотОбъект (this) и вид движения. В документе прихода — это приход. В документе расхода — расход.

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

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

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

Теперь мы можем вносить приходы и расходы товаров. Но как вывести пользователю информацию об остатках? Сделаем для этого отчет.

Отчет

Отчет — это класс для вывода пользователям сводной информации.

Создадим отчет «ОстаткиТоваров» (названия классов должны быть уникальны только в рамках своего базового класса). И сразу нажмём «Открыть схему компоновки данных»

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

Язык запросов

Язык запросов 1С повторяет часть возможностей языка запросов SQL. Далее запрос интерпретируется платформой в SQL’ный. С одним принципиальным отличием. 1Сный язык только для выборки данных. Изменять данные в БД запросами нельзя. Изменение происходит только с использованием объектной модели.

Конструктор запросов позволяет интерактивно построить запрос. Слева доступные таблицы в БД. По центру выбранные таблицы. А справа выбранные поля. Ещё много закладок, но об этом когда-нибудь потом.

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

Вот так выглядит текст запроса:

К тексту мы ещё вернёмся, но сначала донастроим отчет. Выведем теперь все поля пользователю:

Работа с отчетом

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

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

Для наглядности я создал ещё несколько документов.

Но что, если пользователь хочет изменить настройки отчета? Например, вывести организацию из документа? Нажмём «Изменить вариант»:

Это пользовательский интерфейс по настройке отчета. В нём можно переопределить полностью выводимые поля, структуру, отборы, сортировку и оформление. Добавить свои поля (используя язык выражений 1С).

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

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

Компоновка данных

Но как так выходит, что мы писали один запрос (с выборкой данных из таблицы регистра), а пользователь в результате выводит ещё и данные из таблицы документов, товаров и организаций? Дело в том, что система компоновки данных в 1С автоматически дорабатывает текст запроса так, чтобы вывести пользователю всё то, что он хочет. И наш запрос превратился в это:

Мы видим, что в запросе выбираются те поля, которые нужны. И не выбираются те, которые отключены. А так же выбираются поля «через точку». Товар.Код, Организация.ИНН и так далее.

Дело в том, что хоть язык запросов 1С и сделан по образу и подобию SQL, но при этом позволяет ещё делать «обращения через точку». Откроем запрос в конструкторе:

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

Оращение «через точку» используется повсеместно. Вот так выглядит возможность пользовательского отбора в отчете. Доступны все поля (включая подчиненные). Множество вариантов сравнения. Группировки отборов и так далее. Всё это платформа делает сама.

Вот такой запрос получается:

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

Итоги

Мы сделали простое приложение на 1С. Попутно рассмотрели подход в разработке и несколько самых популярных типов объектов. Написали пару простых процедур и запросов. Пообзывали 1Сные объекты «по-программистски». И теперь примерно понимаем, что вообще из себя представляет 1С.

Это моя первая статья на данном ресурсе. Буду продолжать раскрывать тему разработки в 1С. Если это будет интересно =)

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

На какую тему было бы интересно прочитать следующую статью?


31.09%
Больше запросов
37


27.73%
Больше интерфейса
33


27.73%
Больше примеров объектов
33


31.93%
Мобильная разработка
38

Проголосовали 119 пользователей.

Воздержались 52 пользователя.


Загрузить PDF


Загрузить PDF

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

  1. 1

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

  2. 2

    Определите заряд атома. Нейтральные атомы будут иметь столько же электронов, сколько показано в таблице Менделеева. Однако заряженные атомы будут иметь большее или меньшее число электронов — в зависимости от величины их заряда. Если вы работаете с заряженным атомом, добавляйте или вычитайте электроны следующим образом: добавляйте один электрон на каждый отрицательный заряд и вычитайте один на каждый положительный.

    • Например, атом натрия с зарядом -1 будет иметь дополнительный электрон в добавок к своему базовому атомному числу 11. Иначе говоря, в сумме у атома будет 12 электронов.
    • Если речь идет об атоме натрия с зарядом +1, от базового атомного числа 11 нужно отнять один электрон. Таким образом, у атома будет 10 электронов.
  3. 3

    Запомните базовый список орбиталей. По мере того, как у атома увеличивается число электронов, они заполняют различные подуровни электронной оболочки атома согласно определенной последовательности. Каждый подуровень электронной оболочки, будучи заполненным, содержит четное число электронов. Имеются следующие подуровни:

    • s-подуровень (любое число в электронной конфигурации, которое стоит перед буквой «s») содержит единственную орбиталь, и, согласно Принципу Паули, одна орбиталь может содержать максимум 2 электрона, следовательно, на каждом s-подуровне электронной оболочки может находиться 2 электрона.
    • p-подуровень содержит 3 орбитали, и поэтому может содержать максимум 6 электронов.
    • d-подуровень содержит 5 орбиталей, поэтому в нем может быть до 10 электронов.
    • f-подуровень содержит 7 орбиталей, поэтому в нем может быть до 14 электронов.
    • g-, h-, i- и k-подуровни являются теоретическими. Атомы, содержащие электроны в этих орбиталях, неизвестны. g-подуровень содержит 9 орбиталей, поэтому теоретически в нем может быть 18 электронов. В h-подуровне может быть 11 орбиталей и максимум 22 электрона; в i-подуровне —13 орбиталей и максимум 26 электронов; в k-подуровне — 15 орбиталей и максимум 30 электронов.
    • Запомните порядок орбиталей с помощью мнемонического приема:[1]

      Sober Physicists Don’t Find Giraffes Hiding In Kitchens (трезвые физики не находят жирафов, скрывающихся на кухнях).
  4. 4

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

    • Вот, например, простейшая электронная конфигурация: 1s2 2s2 2p6. Эта конфигурация показывает, что на подуровне 1s имеется два электрона, два электрона — на подуровне 2s и шесть электронов на подуровне 2p. 2 + 2 + 6 = 10 электронов в сумме. Это электронная конфигурация нейтрального атома неона (атомный номер неона — 10).
  5. 5

    Запомните порядок орбиталей. Имейте в виду, что электронные орбитали нумеруются в порядке возрастания номера электронной оболочки, но располагаются по возрастанию энергии. Например, заполненная орбиталь 4s2 имеет меньшую энергию (или менее подвижна), чем частично заполненная или заполненная 3d10, поэтому сначала записывается орбиталь 4s. Как только вы будете знать порядок орбиталей, вы сможете с легкостью заполнять их в соответствии с количеством электронов в атоме. Порядок заполнения орбиталей следующий: 1s, 2s, 2p, 3s, 3p, 4s, 3d, 4p, 5s, 4d, 5p, 6s, 4f, 5d, 6p, 7s, 5f, 6d, 7p.

    • Электронная конфигурация атома, в котором заполнены все орбитали, будет иметь следующий вид: 1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f14 6d107p6
    • Обратите внимание, что приведенная выше запись, когда заполнены все орбитали, является электронной конфигурацией элемента Uuo (унуноктия) 118, атома периодической системы с самым большим номером. Поэтому данная электронная конфигурация содержит все известные в наше время электронные подуровни нейтрально заряженного атома.
  6. 6

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

    • Заполняйте орбитали согласно приведенному выше порядку, пока не достигнете двадцатого электрона. На первой 1s орбитали будут находится два электрона, на 2s орбитали — также два, на 2p — шесть, на 3s — два, на 3p — 6, и на 4s — 2 (2 + 2 + 6 +2 +6 + 2 = 20.) Иными словами, электронная конфигурация кальция имеет вид: 1s2 2s2 2p6 3s2 3p6 4s2.
    • Обратите внимание: орбитали располагаются в порядке возрастания энергии. Например, когда вы уже готовы перейти на 4-й энергетический уровень, то сначала записывайте 4s орбиталь, а затем 3d. После четвертого энергетического уровня вы переходите на пятый, на котором повторяется такой же порядок. Это происходит только после третьего энергетического уровня.
  7. 7

    Используйте таблицу Менделеева как визуальную подсказку. Вы, вероятно, уже заметили, что форма периодической системы соответствует порядку электронных подуровней в электронных конфигурациях. Например, атомы во второй колонке слева всегда заканчиваются на «s2«, а атомы на правом краю тонкой средней части оканчиваются на «d10» и т.д. Используйте периодическую систему как визуальное руководство к написанию конфигураций — как порядок, согласно которому вы добавляете к орбиталям соответствует вашему положению в таблице. Смотрите ниже:

    • В частности, две самые левые колонки содержат атомы, чьи электронные конфигурации заканчиваются s-орбиталями, в правом блоке таблицы представлены атомы, чьи конфигурации заканчиваются p-орбиталями, а в нижней части атомы заканчиваются f-орбиталями.
    • Например, когда вы записываете электронную конфигурацию хлора, размышляйте следующим образом: «Этот атом расположен в третьем ряду (или «периоде») таблицы Менделеева. Также он располагается в пятой группе орбитального блока p периодической системы. Поэтому, его электронная конфигурация будет заканчиваться на …3p5
    • Обратите внимание: элементы в области орбиталей d и f таблицы характеризуются энергетическими уровнями, которые не соответствуют периоду, в котором они расположены. Например, первый ряд блока элементов с d-орбиталями соответствует 3d орбиталям, хотя и располагается в 4 периоде, а первый ряд элементов с f-орбиталями соответствует орбитали 4f, несмотря на то, что он находится в 6 периоде.
  8. 8

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

    • Чтобы понять эту концепцию, полезно будет написать пример конфигурации. Давайте напишем конфигурацию цинка (атомный номер 30), используя сокращение, включающее благородный газ. Полная конфигурация цинка выглядит так: 1s2 2s2 2p6 3s2 3p6 4s2 3d10. Однако мы видим, что 1s2 2s2 2p6 3s2 3p6 — это электронная конфигурация аргона, благородного газа. Просто замените часть записи электронной конфигурации цинка химическим символом аргона в квадратных скобках ([Ar].)
    • Итак, электронная конфигурация цинка, записанная в сокращенном виде, имеет вид: [Ar]4s2 3d10.
    • Учтите, если вы пишете электронную конфигурацию благородного газа, скажем, аргона, писать [Ar] нельзя! Нужно использовать сокращение благородного газа, стоящего перед этим элементом; для аргона это будет неон ([Ne]).

    Реклама

  1. Изображение с названием ADOMAH Table v2

    1

    Освойте периодическую таблицу ADOMAH. Данный метод записи электронной конфигурации не требует запоминания, однако требует наличия переделанной периодической таблицы, поскольку в традиционной таблице Менделеева, начиная с четвертого периода, номер периода не соответствует электронной оболочке. Найдите периодическую таблицу ADOMAH — особый тип периодической таблицы, разработанный ученым Валерием Циммерманом. Ее легко найти посредством короткого поиска в интернете.[2]

    • В периодической таблице ADOMAH горизонтальные ряды представляют группы элементов, такие как галогены, инертные газы, щелочные металлы, щелочноземельные металлы и т.д. Вертикальные колонки соответствуют электронным уровням, а так называемые «каскады» (диагональные линии, соединяющие блоки s,p,d и f) соответствуют периодам.
    • Гелий перемещен к водороду, поскольку оба этих элемента характеризуются орбиталью 1s. Блоки периодов (s,p,d и f) показаны с правой стороны, а номера уровней приведены в основании. Элементы представлены в прямоугольниках, пронумерованных от 1 до 120. Эти номера являются обычными атомными номерами, которые представляют общее количество электронов в нейтральном атоме.
  2. 2

    Найдите ваш атом в таблице ADOMAH. Чтобы записать электронную конфигурацию элемента, найдите его символ в периодической таблице ADOMAH и вычеркните все элементы с большим атомным номером. Например, если вам нужно записать электронную конфигурацию эрбия (68), вычеркните все элементы от 69 до 120.

    • Обратите внимание на номера от 1 до 8 в основании таблицы. Это номера электронных уровней, или номера колонок. Игнорируйте колонки, которые содержат только вычеркнутые элементы. Для эрбия остаются колонки с номерами 1,2,3,4,5 и 6.
  3. 3

    Посчитайте орбитальные подуровни до вашего элемента. Смотря на символы блоков, приведенные справа от таблицы (s, p, d, and f), и на номера колонок, показанные в основании, игнорируйте диагональные линии между блоками и разбейте колонки на блоки-колонки, перечислив их по порядку снизу вверх. И снова игнорируйте блоки, в которых вычеркнуты все элементы. Запишите блоки-колонки, начиная от номера колонки, за которым следует символ блока, таким образом: 1s 2s 2p 3s 3p 3d 4s 4p 4d 4f 5s 5p 6s (для эрбия).

    • Обратите внимание: Приведенная выше электронная конфигурация Er записана в порядке возрастания номера электронного подуровня. Ее можно также записать в порядке заполнения орбиталей. Для этого следуйте по каскадам снизу вверх, а не по колонкам, когда вы записываете блоки-колонки: 1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f12.
  4. 4

    Посчитайте электроны для каждого электронного подуровня. Подсчитайте элементы, в каждом блоке-колонке которые не были вычеркнуты, прикрепляя по одному электрону от каждого элемента, и запишите их количество рядом с символом блока для каждого блока-колонки таким образом: 1s2 2s2 2p6 3s2 3p6 3d10 4s2 4p6 4d10 4f12 5s2 5p6 6s2. В нашем примере это электронная конфигурация эрбия.

  5. 5

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

    • Cr (…, 3d5, 4s1); Cu (…, 3d10, 4s1); Nb (…, 4d4, 5s1); Mo (…, 4d5, 5s1); Ru (…, 4d7, 5s1); Rh (…, 4d8, 5s1); Pd (…, 4d10, 5s0); Ag (…, 4d10, 5s1); La (…, 5d1, 6s2); Ce (…, 4f1, 5d1, 6s2); Gd (…, 4f7, 5d1, 6s2); Au (…, 5d10, 6s1); Ac (…, 6d1, 7s2); Th (…, 6d2, 7s2); Pa (…, 5f2, 6d1, 7s2); U (…, 5f3, 6d1, 7s2); Np (…, 5f4, 6d1, 7s2) и Cm (…, 5f7, 6d1, 7s2).

    Реклама

Советы

  • Чтобы найти атомный номер атома, когда он записан в форме электронной конфигурации, просто сложите все числа, которые идут за буквами (s, p, d, и f). Это работает только для нейтральных атомов, если вы имеете дело с ионом, то ничего не получится — вам придется добавить или вычесть количество дополнительных или потерянных электронов.
  • Число, идущее за буквой — это верхний индекс, не сделайте ошибку в контрольной.
  • «Стабильности полузаполненного» подуровня не существует. Это упрощение. Любая стабильность, которая относится к «наполовину заполненным» подуровням, имеет место из-за того, что каждая орбиталь занята одним электроном, поэтому минимизируется отталкивание между электронами.
  • Каждый атом стремится к стабильному состоянию, а самые стабильные конфигурации имеют заполненные подуровни s и p (s2 и p6). Такая конфигурация есть у благородных газов, поэтому они редко вступают в реакции и в таблице Менделеева расположены справа. Поэтому, если конфигурация заканчивается на 3p4, то для достижения стабильного состояния ей необходимо два электрона (чтобы потерять шесть, включая электроны s-подуровня, потребуется больше энергии, поэтому потерять четыре легче). А если конфигурация оканчивается на 4d3, то для достижения стабильного состояния ей необходимо потерять три электрона. Кроме того, полузаполненные подуровни (s1, p3, d5..) являются более стабильными, чем, например, p4 или p2; однако s2 и p6 будут еще более устойчивыми.
  • Когда вы имеете дело с ионом, это значит, что количество протонов не равно количеству электронов. Заряд атома в этом случае будет изображен сверху справа (как правило) от химического символа. Поэтому атом сурьмы с зарядом +2 имеет электронную конфигурацию 1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p1. Обратите внимание, что 5p3 изменилось на 5p1. Будьте внимательны, когда конфигурация нейтрального атома заканчивается на подуровни, отличные от s и p. Когда вы забираете электроны, вы можете забрать их только с валентных орбиталей (s и p орбиталей). Поэтому, если конфигурация заканчивается на 4s2 3d7 и атом получает заряд +2, то конфигурация будет заканчиваться 4s0 3d7. Обратите внимание, что 3d7 не меняется, вместо этого теряются электроны s-орбитали.
  • Существуют условия, когда электрон вынужден «перейти на более высокий энергетический уровень». Когда подуровню не хватает одного электрона до половинной или полной заполненности, заберите один электрон из ближайшего s или p- подуровня и переместите его на тот подуровень, которому необходим электрон.
  • Имеется два варианта записи электронной конфигурации. Их можно записывать в порядке возрастания номеров энергетических уровней или в порядке заполнения электронных орбиталей, как было показано выше для эрбия.
  • Также вы можете записывать электронную конфигурацию элемента, записав лишь валентную конфигурацию, которая представляет собой последний s и p подуровень. Таким образом, валентная конфигурация сурьмы будет иметь вид 5s2 5p3.
  • Ионы не то же самое. С ними гораздо сложнее. Пропустите два уровня и действуйте по той же схеме в зависимости от того, где вы начали, и от того, насколько велико количество электронов.

Реклама

Об этой статье

Эту страницу просматривали 482 905 раз.

Была ли эта статья полезной?

Разработка конфигурации «с нуля»

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

Этап №1  Определиться со списком внедряемых подсистем. Для этого нужно запустить  обработку ПервоеВнедрениеБСП из комплекта поставки, которая позволяет выбрать подсистемы для внедрения с учетом их зависимостей друг от друга.

Рис. 1

Этап № 2. После определения состава подсистем нажать Сохранить настройки для конфигуратора  и задать имя файла для сохранения настроек.

Этап № 4. Создать новую пустую базу и выполнить следующие действия:

  •  Вызвать меню Конфигурация – Сравнить, объединить с конфигурацией из файла.
  •  Выбрать файл 1Cv8.cf из поставки БСП.
  •  На предложение выполнить полную загрузку конфигурации ответить Нет.
  •  На предложение постановки на поддержку ответить Да.
  •  Выбрать Действия – Загрузить настройки из файла. Указать файл, сохраненный на этапе №2
  •  Затем нажать Выполнить .   В случае внедрения не всех подсистем БСП при завершении процедуры сравнения и объединения конфигураций может появиться окно с информацией о наличии неразрешенных ссылок (см. пример в Внедрение подсистемы “Обмен данными” без подсистемы “Работа с почтовыми сообщениями”). Сообщения в этом окне необходимо пропустить, выбрав кнопку Продолжить.

Этап №  5 Действия после сравнения, объединения

  •  Установить в свойствах конфигурации имя конфигурации, например, «МояКонфигурация».
  •  Установить в свойствах конфигурации номер версии разрабатываемой конфигурации. Например, при начале разработки конфигурации можно установить номер 1.0.1.1.
  •  Скопировать общий модуль ОбновлениеИнформационнойБазы.
  •  Заменить в названии скопированного модуля на имя или сокращение имени конфигурации (например, ОбновлениеИнформационнойБазыМК).
  •  Заменить текст модуля на:
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
//  имя конфигурации и номер версии на
 Описание.Имя = "МояКонфигурация";
 Описание.Версия = "1.0.1.1";
 // Требуется библиотека стандартных подсистем.
 Описание.ТребуемыеПодсистемы.Добавить("СтандартныеПодсистемы");
 КонецПроцедуры
 Процедура ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт
 КонецПроцедуры
 Процедура ПередОбновлениемИнформационнойБазы() Экспорт
 КонецПроцедуры
 Процедура ПослеОбновленияИнформационнойБазы(Знач ПредыдущаяВерсия, Знач ТекущаяВерсия,
 Знач ВыполненныеОбработчики, ВыводитьОписаниеОбновлений, МонопольныйРежим) Экспорт
 КонецПроцедуры
 Процедура ПриПодготовкеМакетаОписанияОбновлений(Знач Макет) Экспорт
 КонецПроцедуры
 Процедура ПриДобавленииОбработчиковПереходаСДругойПрограммы(Обработчики) Экспорт
 КонецПроцедуры
 Процедура ПриОпределенииРежимаОбновленияДанных(РежимОбновленияДанных, СтандартнаяОбработка) Экспорт
 КонецПроцедуры
 Процедура ПриЗавершенииПереходаСДругойПрограммы(Знач ПредыдущееИмяКонфигурации, Знач ПредыдущаяВерсияКонфигурации, Параметры) Экспорт
 КонецПроцедуры

Этап 6.  В процедуре ПриДобавленииПодсистем  общего модуля ПодсистемыКонфигурацииПереопределяемый обязательно нужно добавить  строчку

МодулиПодсистем.Добавить("ОбновлениеИнформационнойБазыМК");

На рис 2 показан пример, где я создал конфигурацию “с нуля” с именем Преводчик

Рис 2

Если  не добавить эту строку  или не создавать общий модуль с обновления информационной базы по правилам на этапе 5, то  при старте в режиме запуска приложения  возникает ошибка такого рода:

{ОбщийМодуль.СтандартныеПодсистемыПовтИсп.Модуль(77)}: Ошибка при подготовке описаний подсистем: в общих модулях, указанных в процедуреПодсистемыКонфигурацииПереопределяемый.ПриДобавленииПодсистемы
 не найдено описание подсистемы, совпадающей с именем конфигурации

Previous ArticleПечать Pdf файла

Быстрая пошаговая демонстрация разработки приложения на платформе 1С:Предприятие 8.2.

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

Простая система кадрового учета

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

Каждая конфигурация должна храниться в отдельном каталоге (папке).

1. Создайте новую папку на любом диске нашего компьютера, например, «C:Наши кадры».

2. Запустите 1С:Предприятие. Откроется список информационных баз. Если вы не создавали ни одной информационной базы и не добавляли существующие базы, то список будет пустым.

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

3. Нажмите кнопку «Добавить». 

На первом шаге мастера выберите вариант «Добавление в список существующей информационной базы».

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

4. В следующем шаге укажите путь к папке, которую вы создали в 1 пункте нашего пошагового руководства (в нашем случае это C:Наши кадры). Нажмите кнопку «…», войдите в папку и нажмите «Выбрать».

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

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

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

6. Выберем режим запуска «Конфигуратор». Для этого нажмем на кнопку «Конфигуратор».

  1С может запускаться в двух режимах:

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

7. Так как в созданной папке пока ничего нет, то 1С запросит подтверждение на создание новой информационной базы.

8. Нажмите «Да». Далее выбираем вариант «Создание информационной базы без конфигурации для разработки новой конфигурации или загрузки выгруженной ранее информационной базы» (2 вариант) и нажмите кнопку «Далее». На следующем шаге нажмите кнопку «Готово».

9. Запустится конфигуратор. Откройте дерево конфигурации, в котором мы будем работать очень часто. Для этого выберите в меню «Конфигурация» — «Открыть конфигурацию» или нажмите на соответствующую пиктограмму.

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

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

Создание объектов конфигурации

10. Установите курсор на строку «Справочники» и щелкните кнопку  (или щелкните правой кнопкой мыши и выберите Добавить). При этом откроется Окно редактирования объекта конфигурации (своеобразный конструктор для создания справочника).

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

11. На первом шаге (вкладке) задайте «Имя» нашего справочника (идентификатор), например,  «Должности». После ввода Имени нажмите на клавиатуре клавишу «Enter», либо переместитесь мышкой на следующее поле. На основании «Имени» система автоматически создаст «Синоним».

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

Относитесь к «Имени» справочника очень серьезно. Имя должно быть лаконичным, понятным, отражающим суть справочника, например: «Страны», «Сотрудники», «Товары» и т.д.

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

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

12. Перейдите с помощью кнопки «Далее» ( в нижней части окна) или клика мышкой на вкладку «Данные». Задайте длину наименования 30 символов.

У каждого справочника есть уже заранее заданные (предопределенные) два поля «Код» и «Наименование». Вы можете редактировать длину наименования, длину кода, а также тип кода: «Число» или «Строка».

13. Закройте Окно редактирования справочника «Должности».

14. Создадим новый справочник «Сотрудники» (см. пункт 10).

Задайте имя справочника (идентификатор) «Сотрудники».

Задайте длину наименования 100 символов.

В наименовании у нас будет храниться ФИО сотрудника. Иногда бывают довольно длинные имена и фамилии, так что 100 символов в самый раз.

15. В этом справочнике кроме уже заданных полей (Код и Наименование) у нас будет еще несколько полей (реквизитов, атрибутов). Сейчас список дополнительных реквизитов (полей) у нас пустой. Нажмите кнопку «Добавить».

В результате откроется окно редактирования свойств реквизита (палитра свойств). Кстати, реквизит, атрибут и поле — это в принципе одно и то же. Просто в терминологии 1С принято использовать «реквизит».

16. Задайте в палитре свойств имя реквизита — «Должность». Укажите тип реквизита —  «СправочникСсылка.Должности», который мы создали раньше. Это говорит о том, что значения данного реквизита будут выбираться из справочника «Должности». Закрываем окно палитры свойств.

17. Создайте реквизит «Оклад» (тип Число, Длина 10, Точность 2). У значения типа «Число» точность указывает на количество знаков после запятой (в нашем случае 2 знака).

18. Создайте реквизиты ДатаПриема и ДатаУвольнения (тип Дата).

19. Теперь у нас есть два справочника и можно ввести некоторые данные.

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

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

20. Запустите систему в режиме 1С:Предприятие. Это можно сделать прямо из Конфигуратора, нажав на панели инструментов на  или клавишу F5. Появится окно 1С:Предприятия.

21. Откройте справочник Должности. Для этого щелкните в панели навигации (в левой части окна приложения) по надписи (ссылке) Должности. Откроется окно справочника.

22. Введите несколько должностей, используя кнопку Клавиша создать новый элемент спавочника в 1С 8.2 или клавишу INS. Например, директор, бухгалтер, программист.

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

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

23. Откройте справочник Сотрудники.

24. Заведите нескольких сотрудников. Например, Иванов Иван Иванович — директор, Петров Петр Петрович — бухгалтер, Сидоров Сергей Сергеевич — программист. Заполняем только реквизиты Наименование (ФИО) и Должность. Заметьте, что при указании должности открывается справочник Должности. Для сохранения нового элемента справочника (новой записи) нажмите «Записать и закрыть».

25. Закройте окно 1С:Предприятие и вернитесь в режим Конфигуратора.

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

перейти ко 2 части Пошагового примера разработки конфигурации в 1С 8.2

Понравилась статья? Поделить с друзьями:
  • Как найти пирамиды в китае
  • Как найти ширину прямоугольника зная его площадь
  • Как найти трех фей в игре винкс
  • Как найти червоточину eve online
  • Как найти свои фото в нете