Язык 1С

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

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

Мы изучим язык 1С между делом сейчас, за пять минут.

 
Общие принципы программирования

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

Программирование – это написание программного кода на программном языке.

Программный код – это последовательность команд (слов), которые поддерживает этот язык программирования.

Команды делятся на:

  • Переменные
  • Операторы
  • Функции и процедуры.

Рассмотрим их в первом приближении.

Читать дальше »

Регистры 1С

Документы – суть ведения учета в 1С. Каждый документ имеет результат, например пришло товаров +10 шт.

Отчеты – позволяют смотреть результаты. Суммируют эти результаты и показывают пользователю.

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

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

Сегодня мы поговорим про регистры 1С и их использование.

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

Документ, который записал движения в регистр 1С, называют Регистратор. Дата и время движения равны (в 99% случаев) дате документа. Дату движения называют Период.

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

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

Как документ проводится по регистрам?

Читать дальше »

Разделение данных 1С

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

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

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

Поговорим об этом подробнее.

Читать дальше »

Доступ к таблицам плана обмена 1С

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

Как узнать какие элементы базы были изменены?

Типовой способ ПланыОбмена.ВыбратьИзменения() работает медленно. Для начала само получение списка происходит не быстро. А потом еще и в цикле получение каждого (!) объекта. Как известно, получение объекта это — затратная операция в базе, а тут еще и в цикле.

Например у нас 10.000 измененных элементов. Нам нужно просто узнать – какие элементы справочника «Номенклатура» были изменены.

Непосильная задача?

Читать дальше »

Отладка 1С — где я?

Большинство программистов 1С знакомы как минимум с двумя методиками отладки: точки останова и узнать значение. Отладка очень полезна и эти две функции позволяют ей пользоваться на 90%.

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

Как найти себя в этой массе кода?

Читать дальше »


Реквизиты 1С

Что такое реквизиты 1С?

Мы с Вами недавно обсуждали справочники 1С и документы 1С. Работа пользователя со справочниками и документами в 1С состоит из заполнения полей на форме.

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

Рассмотрим подробно тему реквизитов в 1С.

Читать дальше »

Таблицы 1С

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

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

Поэтому в 1С видное место занимает работа с таблицами.

Таблицы в 1С также называют «табличные части». Они есть у справочников, документов и других объектов конфигурации 1С.

В языке 1С таблицы называют «таблица значений».

Сегодня мы поговорим про работу в 1С с таблицами.

Читать дальше »

СКД 1С

СКД 1С расшифровывается как Система Компоновки Данных. СКД 1С – это новый способ написания отчетов в 1С, который позволяет пользователю полностью настраивать отчет самостоятельно.

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

Написание отчетов СКД требует умение работать с запросами в 1С, что мы обсуждали в уроке по запросам 1С.

Какова технология создания отчета СКД 1С:

  • Написать запрос 1С в СКД 1С, который обеспечивает получение данных
  • Указать СКД 1С роль полей (вычисляемые поля, ресурсы)
  • Ввести настройки СКД 1С по умолчанию.

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

Какова технология создания отчета по предыдущим технологиям:

  • Написать запрос в программе 1С
  • Разработать форму настроек (уникальную для отчета), которая позволит изменять только выбранные программистом N настроек
  • Написать код (программу) выполнения запроса и построения печатной формы отчета.

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

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

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

Давайте посмотрим как создать отчет на СКД 1С самому с нуля.

Читать дальше »

Регламентные задания 1С

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

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

Такие задачи называют – регламентированными, то есть выполняемые согласно регламента.

В ИТ часто регламентированно выполняется мониторинг.

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

Аналогичные вещи существуют для вебмастеров – для проверки доступности сайта в течении суток.

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

Поговорим сегодня про них.

Читать дальше »

Значение 1С

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

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

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

Например:

Запрос = Новый Запрос("ВЫБРАТЬ Ссылка, Наименование Из Справочник.Контрагенты");

//разово выполнили запрос на сервере и переслали результат на компьютер пользователя
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();

//обратились к результату запроса, который находится в памяти компьютера пользователя
Наименование = Выборка.Наименование;
ИНН = Выборка.Ссылка.ИНН;

//ИНН мы в запросе не считывали, при обращении через ссылку к ИНН фоново генерируется полное считывание объекта справочника по ссылке в локальную память компьютера (бывает краткое, но ИНН не входит в кешируемые поля)

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

Поговорим про особенности работы со значениями в 1С.

Читать дальше »

Интерфейс 1С и подсистемы 1С

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

В программировании под словом интерфейс могут иметь ввиду несколько разных значений. Мы сейчас имеем ввиду «интерфейс пользователя».

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

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

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

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

Читать дальше »

Изменить 1С

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

Как это сделать?

Читать дальше »