Объекты 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С Сред, 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С Предприятие программа на языке 1С будет выполнена.

Сначала немного терминов:

  • Препроцессор — специальная программа, которая перерабатывает программный код из «вида» удобного для работы программиста, в «вид», удобный для работы копилятора;
  • Компилятор — специальная программа, которая умеет перерабатывать программный код в «машинный» код — выполняемый непосредственно процессором компьютера;
  • Интерпретатор — специальная программа, которая вместо компилирования кода в машинный код для процессора, выполняет его самостоятельно. Интерпретатор с предварительной компиляцией — компилирует программу не в машинный код, а в специальный «байт-код» удобный для последующего выполнения интерпретатором.

Как выполняются программы написанные на встроенном языке 1С?

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

1С ДеньНедели – номер дня в неделе

Функция 1С ДеньНедели(Дата) возвращает номер дня в неделе, где понедельник – 1, а воскресенье — 7.

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

Список значений 1С Загрузить значения, Выгрузить значения — экспорт, импорт значений

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

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

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

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

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

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

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

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

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

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

Строка 1С

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

К базовым возможностям языка программирования обычно относят работу с числами и строками. Обычно эти возможности зашиты в код компилятора (или реализованы «базовые» классы языка программирования).

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

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

Объекты метаданных 1С

Структура базы данных 1С описывается в конфигурации с помощью объектов метаданных 1С.

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

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