Серия «1С Без Воды»

14

1С Без Воды. Знакомство с конфигуратором. Начинаем свой проект

Серия 1С Без Воды

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

Первое наше действие при работе с новой конфигурацией это нам нужно открыть саму конфигурацию для работы. Делается это одноименной кнопкой расположенной на верхней панели или сочетанием клавиш Ctrl+Shift+C.

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

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

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

  • Справочник. Хранят в себе справочную информацию, например список сотрудников, список номенклатуры и т.д.

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

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

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

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

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

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

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

Назовем наше приложение например - Учет домашних финансов. Имя даем в соответствии с правилами именования переменных.

Теперь давайте познакомимся с Подсистемами. Если говорить упрощенно то подсистемы служат для группировки данных в разделах меню. Например для нашего приложения как вариант нам могут понадобиться разделы - Учет доходов, Учет расходов, Администрирование. В учете доходов и расходов мы будем создавать соответствующие документы для отражения наших доходов и трат. Администрирование чисто технический раздел где могут находится какие-то вспомогательные инструменты или настройки. Давайте создадим эти подсистемы. Находятся подсистемы в разделе - Общее -> Подсистемы.

Выделим Подсистемы и нажмем Insert (Либо команда добавить на панели меню конфигурации или через правую кнопку мыши)

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

Вы можете заметить пару изменений после добавления подсистем (и переименования конфигурации). Звездочка возле надписи Конфигурация значит что мы что-то поменяли в конфигурации но еще не сохранили, синий бочёнок значит что мы еще не применили наши изменения к конфигурации базы данных, давайте сохраним нашу конфигурацию нажав Ctrl + S либо значок сохранения на верхней панели и увидим что к надписи конфигурации добавился знак <!> что значит то что я написал ранее - изменения не применены. Что это значит и что еще за конфигурация базы данных. Давайте немного подробнее разберем в следующем разделе.

Основная конфигурация. Конфигурация базы данных.

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

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

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

Закроем окно и применим наши изменения, нажмем на синий бочёнок либо клавишу F7 и бочёнок посереет, а знак <!> исчезнет.

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

Справочники.

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

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

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

У многих объектов есть такое понятие как реквизиты. Это свойства связанные именно с этим объектом, например реквизит Имя, мы будем так же далее добавлять и свои реквизиты, в нашем окне они находятся на вкладке данные. Здесь надо обратить внимание что есть стандартные реквизиты и реквизиты которые добавляем мы сами.

У справочника нас интересуют 2 стандартных реквизита - Код, Наименование. Посмотреть весь список стандартных реквизитов (для любопытных) можно нажав кнопку стандартные реквизиты, некоторые помечены серым и они недоступны потому-что не заданы соответствующие настройки.

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

Далее наверное нам бы хотелось видеть а куда именно мы потратили деньги или каким образом заработали? В учете есть такое понятие как статьи доходов и расходов. Вот они нам и помогут определять куда ушли или откуда пришли денежки (например траты на еду, зарплата, продажа бу и прочее). Давайте создадим 2 справочника аналогичным образом - СтатьиДоходов, СтатьиРасходов. Длину наименования укажем 100. Вкладку подсистемы при создании справочников не трогаем и рассмотрим другой способ добавления объектов в подсистемы. Двойным кликом откроем нашу подсистему УчетДоходов и перейдем на вкладку Состав.

Здесь мы раскроем Справочники и поставим галочку на справочнике СтатьиДоходов. Аналогичным образом включим справочник СтатьиРасходов в подсистему УчетРасходов.

Думаю для начала этих справочников нам хватит.

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

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

Показать полностью 21
55

1С Без Воды. Синтаксис языка

Серия 1С Без Воды

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

Объявление переменной

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

Условные операторы

Тут все просто как в анекдоте:

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

Если какое-то выражение выдает нам Истину то выполняем одно действие иначе другое действие. Простейшее условие выглядит так:

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

Другие варианты Если

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

Циклы, массивы

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

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

Цикл Для.

Начиная от значения Счетчик и по ограничение (10) добавляем в массив значения счетчика, По 10 значит что 10 последнее значение счетчика так же добавится в массив.

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

Небольшое отступление. Кому-то покажется странным запись вида Массив.Количество(). Здесь используется оператор точки. Помните когда мы учили приоритеты операций самый высокий был у точки и у фигурных скобок? Так вот точка это оператор доступа к данным некоего объекта, в нашем случае массива, у примитивных типов такого нет. Через точку мы как бы обращаемся к инструментам объекта или к хранящимся в нем данным.

Здесь мы через цикл для считываем последовательно данные массива, в качестве ограничения у нас выражение Массив.Количество() - 1, почему отнимаем единицу? Например у нас в массиве 10 значений, метод количество значит вернет число 10. То есть на последнем шаге цикла в значении счетчика у нас будет 10. Далее мы считываем это значение через Массив[Счетчик], что равносильно Массив[10], а мы помним что индекс начальной ячейки 0 и не трудно догадаться что индекс последней ячейки будет 9 и мы пытаемся прочитать значение из несуществующей ячейки. Поэтому мы получим ошибку на последнем шаге цикла если не отнимем единицу.

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

Гораздо проще да? Не надо ничего отнимать и обращаться по индексу, очень популярный цикл.

Ну и напоследок темы циклов рассмотрим цикл Пока. С помощью него удобно сделать бесконечный цикл прерываемый только при наступлении какого-то события. Либо выполнять какие-то действия пока результат проверки равен истине

Здесь у нас новый оператор не равно <> часто используют его но для наглядности можно использовать конструкцию НЕ Счетчик = 0, а так же здесь показан способ уменьшения значения переменной, можно аналогично увеличивать значение только используя знак плюс.

Для тру программистов конструкций инкремента и декремента (++, --) а так же конструкций += и -= в 1с нету. Грустно, знаю.

Для тру программистов конструкций инкремента и декремента (++, --) а так же конструкций += и -= в 1с нету. Грустно, знаю.

Еще небольшое отступление, возможно у кого-то возникнет вопрос а почему мы через знак равно который служит для присваивания значения переменной проверяем равенство? Ну вот привыкайте, присваивание и равенство пишутся одинаково, и когда встретите такую конструкцию - Результат = Число1 = Число2 - знайте что в результат присвоится булево, в зависимости от того равно Число1 Числу2 (Истина) или нет (Ложь);

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

В первом цикле мы прерываем цикл по достижении значения счетчика 5. Во втором шаге мы пропускаем все шаги где остаток от деления на 2 значения счетчика не равен 0 ( то есть это нечетное число).

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

Показать полностью 11
66

1С Без Воды. Синтаксис и немного про контекст

Серия 1С Без Воды

Ну вы даете конечно, такой реакции я не ожидал. Но хватит эмоций сегодня наконец-то приступим к синтаксису языка. Код будем писать в консоли кода и да меня тут уже упрекали про наличие воды не смотря на такое громкое название, но поверьте некоторые вещи надо объяснять ибо совсем без воды и без объяснений это родная справка 1с. Мы немного поговорим про контекст, в консоли кода вы можете видеть такие 2 кнопки

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

Переменные, присваивание и примитивные типы данных.

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

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

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

Но мы тут еще упомянули присваивание. Это значок =. Слева от равно у нас имя переменной а справа значение которое мы хотим присвоить переменной. В нашем примере значение это число. Оно относится к примитивному типу. Вот какие еще есть примитивные типы в 1С - Число, Строка, Дата, Булево, Неопределено. Есть еще и другие типы но о них мы поговорим чуточку позже (NULL, Тип - ага знаю звучит как тафталогия тип Тип, но позже мы разберем что это значит). Давайте создадим и покажем (Сообщить()) отдельные переменные для наших типов.

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

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

Выражения, операции.

Давайте на примере выражения с операцией сложения рассмотрим что такое выражение и операция.

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

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

Арифметические операции

Ну тут прям школа школа.

Сложение, вычитание, умножение, деление думаю пояснять не надо. Да и про унарный минус думаю должно быть ясно что так мы просто обозначаем (или откуда-то получаем) отрицательные числа. А остаток от деления тут тоже школьная математика деление в столбик, если мы делим 10 литровых бутылок между 3 людьми то целиком по 1 литру каждому человеку достанутся только 3 литрушки и останется 1 литрушка не разделенная, ее мы конечно же заберем себе... шучу надо просто оставить ее напоследок и там уже пофиг будет кто сколько наливает. Так, чет мы отвлеклись.

Операции конкатенации

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

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

Логические операции

Результатом работы логических операций является тип Булево - Истина или Ложь. Это различные операции сравнения.

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

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

В логические операции думаю можно так же включить и так называемые булевы операции - И, ИЛИ, НЕ.

Приоритеты операций

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

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

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

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

P.S. Мы тут рассмотрели по сути только примитивные типы, операции выражения и приоритеты. Может быть вам этого мало в рамках одной статьи и нужно как-то более укрупненно писать? Напишите свое мнение, а может быть наоборот надо дробить на более мелкие статьи, я на данный момент пишу по наитию, так как мне хочется подать вам информацию.

P.S. P.S. И еще момент на момент возникновения идеи этих постов была у меня мысль применять нейронку хотя бы для редактирования текста, исправления ошибок. Но в потоке сознания посты клепаю без всяких нейронок. Пользуюсь только документацией 1С. Напишите сильно ли вам режет глаз такой вот сырой текст? Надо ли обрабатывать нейронкой или просто проверкой орфографии и пунктуации или итак сойдет?

Показать полностью 13
173

1С Без Воды. Настройка окружения

Серия 1С Без Воды

Вижу что предыдущая статья по 1С имеет отклик поэтому продолжаем.

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

Мы скачаем специальное расширение написанное и поддерживаемое очень хорошими людьми, расширение называется просто - Универсальные инструменты 1С для управляемых форм. Ну ок, может не совсем просто но главное для нас то что это мегаполезный набор инструментов для разработчиков, администраторов и просто продвинутых пользователей 1С. На этапе изучения синтаксиса языка нам из этого набора нужен будет такой инструмент как - Консоль кода. Еще один из самых популярных инструментов это Консоль запросов, ей мы воспользуемся немного позже. Приступим к скачиванию и установке. Переходим по ссылке. Листаем до раздела Assets и качаем там по ссылочке UI_nossl.cfe

Расширение файла cf это выгруженная конфигурация, а cfe это расширение конфигурации. Более подробно о конфигураторе, конфигурациях и расширениях так же в дальнейших материалах.

Далее нам нужно это расширение добавить в нашу конфигурацию. Открываем конфигуратор и идем в раздел меню - Конфигурация -> Расширения конфигурации.

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

Жмем ок и двойным кликом открываем наше расширение.

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

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

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

В окне со списком расширений конфигурации снимем у нашего расширения галочки - Безопасный режим и Защита от опасных действий.

Теперь если мы запустим режим предприятия через F5 мы можем полюбоваться на раздел - Инструменты.

Очень удобно все расположено и все понятно, правда? Нет... Давайте на будущее немного поднастроим расположение панелей в режиме предприятия.

Зайдем в раздел Настройки - > Настройки панелей

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

Жмем ок и открываем Инструменты. Видим нашу консоль кода, запускаем ее.

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

Как от этого избавиться? Нам нужно добавить пользователя информационной базы. Давайте вернемся в конфигуратор и сделаем это. Но прежде чем добавить пользователя надо затронуть такой небольшой момент как роли (ну как небольшой, тема для отдельного курса). На данном этапе мы можем представить роли для себя просто как набор прав доступа для объектов по аналогии прав доступа в файловой системе - чтение, запись, удаление и прочее. Так вот у пользователя должна быть назначена какая-либо роль, если пользователь в системе один то роль должна обладать полными правами. Давайте добавим такую роль и добавим пользователя. Здесь мы уже идем в конфигураторе в раздел слева - Дерево метаданных. Открываем раздел Общие -> Роли и жмем правой кнопкой Добавить или Insert (insert удобнее).

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

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

Далее добавляем пользователя. Главное меню Администрирование -> Пользователи.

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

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

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

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

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

Показать полностью 24
813

1С Без Воды. Введение

Серия 1С Без Воды

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

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

Платформа, конфигуратор, конфигурации.

Что из себя представляет сама по себе программа 1с? ( как ее только не называют, бухгалтеры восьмеркой, программой, разрабы платформой) Это программный продукт от фирмы 1с который называется 1С Предприятие, либо же Технологическая платформа 8.3. 8.3 это версия сейчас наиболее распространенная, недавнее время назад вышла еще новая версия 8.5 но мы ее пока затрагивать не будем (возможно сделаю пост об отличиях, но если есть навыки в 8.3 то 8.5 глобальных отличий не имеет). Эта самая технологическая платформа или для краткости просто платформа позволяет с помощью конфигуратора создавать конфигурации. Что такое конфигуратор и конфигурации? Проведем аналогию конфигуратор это редактор конфигураций, то есть это основной инструмент для разработки, например аналогом конфигуратору может служить какой-нибудь офисный редактор типа Word, или среда разработки другого языка программирования. А файл созданный в Word это уже будет неким аналогом нашей разрабатываемой конфигурации. Так вот конфигурация это наше разрабатываемое прикладное решение. Есть конфигурации которые пишет сама фирма 1с, самая популярная из них это 1С Бухгалтерия, такие конфигурации называются типовыми. Итак мы выяснили чтобы разрабатывать в 1с нам нужно установить технологическую платформу, запустить конфигуратор и создать свою конфигурацию.

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

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

Для начала нужно зарегистрироваться на этом сайте

Жмем - Войти

Жмем - Войти

Жмем - Нет логина?

Жмем - Нет логина?

Заполняем все поля, не забываем про галочку согласия с условиями

Заполняем все поля, не забываем про галочку согласия с условиями

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

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

Далее сохранить и можем заходить в личный кабинет еще раз по кнопке войти.

Так выглядит начальная страница, жмем на вкладку Продукты и выбираем 1С предприятие.

Так выглядит начальная страница, жмем на вкладку Продукты и выбираем 1С предприятие.

И здесь будет раздел - Комьюнити-лицензии, это то что нам нужно. У вас список будет пустой.

И здесь будет раздел - Комьюнити-лицензии, это то что нам нужно. У вас список будет пустой.

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

После активации лицензии мы можем наконец то прямо тут же скачать и саму платформу.

Для наших целей качаем версию 8.3.27.2130. Если вы продвинутый линуксоид или маковод то выбираем соответствующий раздел в меню слева.

Для наших целей качаем версию 8.3.27.2130. Если вы продвинутый линуксоид или маковод то выбираем соответствующий раздел в меню слева.

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

Приступаем к установке платформы, каких-то особых нюансов здесь нет в основном жмем Далее и все. Распаковываем архив в любую удобную папку. Ищем там файл setup.exe и запускаем.

На экране установки жмем далее и в конце установки видим на рабочем столе ярлык 1С.

На экране установки жмем далее и в конце установки видим на рабочем столе ярлык 1С.

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

Жмем Активировать компьюнити-лицензию и вводим там наши логин и пароль когда мы регистрировались на сайте <!--noindex--><a href="https://pikabu.ru/story/1s_bez_vodyi_vvedenie_14002408?u=https%3A%2F%2Fdeveloper.1c.ru%2F&t=https%3A%2F%2Fdeveloper.1c.ru%2F&h=99256e9aacdae450f047fb1d4e9c4b7cf1500b74" title="https://developer.1c.ru/" target="_blank" rel="nofollow noopener">https://developer.1c.ru/</a><!--/noindex-->. После этого лицензия уже должна будет заработать.

Жмем Активировать компьюнити-лицензию и вводим там наши логин и пароль когда мы регистрировались на сайте https://developer.1c.ru/. После этого лицензия уже должна будет заработать.

Итак мы готовы к созданию нашей первой информационной базы.

Информационная база, режимы запуска.

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

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

Но преждем чем что-то запускать надо конечно же сначала добавить информационную базу. Для этого нам уже нужны кнопки ниже. Жмем Добавить.

У нас будет новая база по этому здесь все оставляем по умолчанию.

У нас будет новая база по этому здесь все оставляем по умолчанию.

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

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

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

Шаблоны баз по простому говоря в основном служат для первой установки типовой конфигурации 1с. Выбираем нижний пункт.

Указываем любое наименование.

Указываем любое наименование.

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

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

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

Здесь я рекомендую завести отдельную папку для баз. Каждая база это набор файлов поэтому каждую базу надо так же добавлять в свою папку. И для одной базы путь может быть примерно такой - D:\Базы1С\УчебнаяБаза

Здесь так же оставляем все как есть.

Здесь так же оставляем все как есть.

Жмем готово, ждем немножко и наша база появится в списке информационных баз. Ура, мы можем запускать конфигуратор. Запускаем.

Красота? Если выскочит окошко Лицензия не обнаружена то активируем комьюнити-лицензию по описанию выше.

Красота? Если выскочит окошко Лицензия не обнаружена то активируем комьюнити-лицензию по описанию выше.

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

И к финалу этого поста давайте преодолеем боязнь пустого холста и что-то сделаем. Так сказать "hello world" по 1сному. Но вывести обычный текст я считаю немного скучным и мы сделаем немного по другому. Мы создадим свою внешнюю обработку и запустим ее в режиме 1С Предприятие. Внешняя обработка по простому это такое мини приложение 1с только в виде внешнего файла который можно открыть в предприятии и запустить его.

Внешняя обработка.

Жмем Файл - Новый. Или сочетание клавиш Ctrl+N. Рекомендую привыкать к горячим клавишам сразу.

Выбираем - Внешняя обработка.

Называем ее как-нибудь

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

И сразу - Готово.

И сразу - Готово.

Открывается редактор формы. Кратко что у нас есть за разделы.

Наша задача следующая - добавить поле куда мы будем вводить текст и кнопку при нажатии которой мы этот же текст увидим внизу. Для ввода текста добавим реквизит формы.

Здесь можно добавить реквизит 3 способам, 3й вариант это кнопка клавиатуры Insert.

Называть реквизиты, имена переменных и других объектов 1с нужно по специальным правилам.

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

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

Замечаем что в разделе снизу он тоже отобразился в том виде в каком будет виден пользователю.

Замечаем что в разделе снизу он тоже отобразился в том виде в каком будет виден пользователю.

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

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

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

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

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

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

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

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

Наша мини обработка готова осталось ее сохранить и запустить.

Сохраняем (сочетание клавиш Ctrl+S), имя файла подставляется автоматически такое же каким мы назвали нашу обработку при создании.

Сохраняем (сочетание клавиш Ctrl+S), имя файла подставляется автоматически такое же каким мы назвали нашу обработку при создании.

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

Наша база пустая поэтому наблюдаем такое пустое окно. В нем нам нужно открыть нашу обработку. Сочетание клавиш Ctrl+O либо через меню представленное на скрине.

Соглашаемся с предупреждением безопасности нажав Да.

И видим форму нашей обработки. Ну и вводим какой-либо текст и жмем на нашу команду. И наблюдаем внизу строку сообщения с введенным нами текстом.

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

Показать полностью 38
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества