Подготовка к 1 уроку
Для того, чтобы приступить к изучению уроков и иметь возможность закреплять на практике полученные знания по 1С Вам необходимо:
1. Скачать программу (платформу) 1С: Предприятие 8.2 версии не ниже, чем 1С 8.2.17.169. Данную версию программы Вы можете скачать по ссылке ниже или на сайте компании 1С.
Скачать платформу 1С: Предприятие 8.2 (учебная версия)
2. Установить программу 1С: Предприятие 8.2 на Ваш компьютер.
Для этого разархивируйте скачанный архив и запустите файл setup.exe. Вам придется несколько раз нажать на кнопку «Далее». Настройки программы можно оставить по умолчанию.
3. Запустить программу 1С Предприятие 8.2 на Вашем компьютере.
Сделать это можно с помощью ярлыка на Вашем рабочем столе или с помощью кнопки «Пуск».
Как установить конфигурацию 1 урока
В процессе изучения уроков может возникнуть ситуация, когда вы захотите загрузить конфигурацию, созданию на том или ином уроке. Для этих целей мы на каждом уроке будем выкладывать для скачивания конфигурацию, созданную на соответствующем уроке.
Скачать конфигурацию, созданную на 1 уроке
Для ее установки нужно:
1. Скачать файл по ссылке выше и разархивировать его. В архиве находится файл 1Cv8.1CD (1CD — это расширение файла, если у вас не отображаются расширения для зарегистрированных типов файлов, то вы увидите файл 1Cv8).
2. Поместить файл в отдельный каталог (рекомендуем создавать каталог (папку) с понятным и явным образом характеризующим конфигурацию именем).
3. Запустить 1С и в окне запуска 1С нажать кнопку «Добавить».
4. Во всплывшем диалоговом окне выбрать вариант «Добавление в список существующей информационной базы». Задать название информационной базы и указать путь к каталогу с файлом конфигурации.
Количество просмотров: 47607
С этим файлом связано 8 файл(ов). Среди них: ЛБ 6 Абдуллаев.docx, 7.docx, ЛР8 Юшков (1).docx, Лабораторная работа 7.pdf, РЕФЕРАТ Что такое «проект» и «управление проектом». Основные хар, Лабораторная работа 3.pdf, Документ Microsoft Word (2).docx, wesdrty.docx.
Показать все связанные файлы
Подборка по базе: Практическая работа № 1Беспалова В.Н..docx, письменная работа 1.docx, Контрольная работа по теме «Важнейшие классы неорганических соед, ПИСЬМЕННАЯ РАБОТА.docx, практическая работа 2.docx, Практическая работа «Целостный педагогический процесс_ единство , Практическая работа № 1_ Бондаренко Н.Н..rtf, Практическая работа 2-1.docx, Практическая работа №2 Тема_ Планирование стратегии управления о, Проверочная работа.docx
Содержание
Введение 2
Лабораторная работа № 1. Знакомство с системой. Режимы запуска системы. Знакомство с объектами системы «Перечисление» и «Справочник». 3
Лабораторная работа № 2. Разделение прикладного решения на подсистемы. Знакомство с объектом системы «Документ». Назначение табличной части Документа. 5
Лабораторная работа № 3. Регистры накопления. Знакомство с регистрами накопления остатков. Настройка рабочего стола. Знакомство с объектом конфигурации Форма. 6
Лабораторная работа № 4. Регистры накопления. Знакомство с регистрами накопления оборотов. Объект системы Константа. Работа с объектом конфигурации Форма. 8
Лабораторная работа № 5. Встроенный язык программирования 1С:Предприятие 8.2. Расположение программных модулей. Структура программных модулей. Примитивные типы данных. Базовый синтаксис языка 1С. 10
Лабораторная работа № 6. Свойства Общих модулей. Создание системы напоминаний. Продвинутая работа с формами. Программное описание поведения формы при взаимодействии с пользователем. 12
Лабораторная работа № 7. Продвинутая работа с формами. Программная установка отбора. Использование функции Формат(). Знакомство с отчетами. Построение отчета с использованием объектной модели. 14
Лабораторная работа № 8. Отчеты. Создание отчета с использованием языка запросов. Использование конструктора запросов и консоли запросов. 15
Методические указания к самостоятельной работе 18
Введение
Целью изучения дисциплины является приобретение базовых навыков предметно-ориентированного программирования и конфигурирования в сложных информационных системах на примере технологической платформы «1С:Предприятие».
Задачами дисциплины являются:
- получение практических навыков конфигурирования с целью построение несложной базы данных для ведения учета;
- базовое освоение языка запросов для эффективного получения данных из информационной системы;
- получение необходимых для построения несложных отчетов навыков работы с механизмом компоновки данных;
- приобретение начальных навыков программирования для решения учетных задач.
Лабораторная работа № 1. Знакомство с системой. Режимы запуска системы. Знакомство с объектами системы «Перечисление» и «Справочник».
Цель работы:Знакомство с системой. Режимы запуска системы. Знакомство с объектами системы «Перечисление» и «Справочник».
Формируемые компетенции: ПК-13
Теоретическая часть
Конфигурация — прикладное решение, разработанное на технологической платформе «1С:Предприятие».
Информационная база 1С — единое хранилище для конфигурации и данных, характеризуемое определенным адресом хранения. Возможны два варианта хранения информационной базы 1С: файловый и клиент-серверный вариант. Для использования клиент-серверного варианта дополнительно необходимо ПО сторонних разработчиков (одна из СУБД:Microsoft SQL Server, PostgreSQL, IBM DB2 или Oracle). При использовании файлового варианта хранения информационная база 1С представляет собой один файл — 1Cv8.1CD. Этот файл имеет специальный формат, поддерживаемый системой 1С:Предприятие 8. На наших уроках мы рассматривает файловый вариант хранения информационной базы. Если в данном определении используются непонятные Вам термины, то не стоит расстраиваться — более подробно данная тема будет рассматриваться на 3 уроке.
Режим запуска 1С:
«Конфигуратор» — специальном режиме запуска системы 1С:Предприятие 8.2 для разработки и модификации прикладного решения. В данном режиме разработчик определяет общую архитектуру прикладного решения и структуру данных , создает макеты и экранные формы, с помощью встроенного языка в модулях объектов задает алгоритмы поведения объектов. Второй «профессией» «Конфигуратора» является администрирование, которое включает в себя ведение списка пользователей, настройку прав доступа, резервное копирование информационной базы, мониторинг системных событий (журнал регистрации настраивается в конфигураторе; просматривается как в конфигураторе, так и в режиме 1С:Предприятии) и выполнение других действий для поддержания работоспособности системы.
«1С:Предприятие» — режим работы конечного пользователя. В данном режиме пользователь вводит данные в базу данных, формирует отчеты, печатает документы и т.д.
Дерево объектов конфигурации – окно, представляющее всю конфигурацию в виде древовидной структуры, каждая ветвь которой описывает определенную составляющую конфигурации. Корневые ветви дерева объединяют объекты конфигурации, логически связанные между собой и имеющие общее назначение, например, справочники, документы, журналы документов, перечисления и т.д.
Правило именования в 1С — имена реквизитов, переменных, процедур и функций в 1С могут содержать буквы русского и английского алфавитов (строчные и прописные), символы подчеркивания и символы цифр. Имя не может начинаться с цифр.
Справочник — объект прикладного решения, позволяющий хранить в информационной базе данные, имеющие одинаковую структуру и списочный характер. Это может быть, например, список сотрудников, перечень товаров, список поставщиков или покупателей. Справочники используются в тех случаях, когда необходимо исключить неоднозначный ввод информации. Например, для того, чтобы покупатель, продавец, кладовщик, директор понимали, о каком товаре идет речь, каждый должен называть его одинаково. И в этом случае необходим справочник. Обычно в торговом предприятии он имеет вид прайс-листа, а если такой справочник хранится в компьютере, то в него заносят всю возможную номенклатуру товаров, с которыми работает торговая фирма.
Система 1С:Предприятие позволяет вести практически неограниченное количество необходимых справочников. Каждый справочник представляет собой список однородных объектов: сотрудников, организаций, товаров и т. д. Каждый такой объект (отдельный сотрудник, отдельная организация и т.д.) называется элементом справочника.
С точки зрения пользователя, следует иметь в виду, что в Конфигураторе создается не сам справочник, как список возможных значений, а разрабатывается заготовка справочника, его шаблон. В процессе конфигурирования описывается структура информации, которая будет храниться в справочнике, разрабатывается экранное и, если необходимо, печатное представление справочника, задаются различные особенности его «поведения».
В качестве обязательных реквизитов каждый справочник имеет Код и Наименование. Код элемента справочника может быть как числовым, так и текстовым. Система 1С:Предприятие предоставляет широкие возможности по работе с кодами элементов справочника: автоматическое присвоение кодов, автоматический контроль уникальности кода и другие.
Помимо кода и наименования, в справочниках системы 1С:Предприятие может храниться любая дополнительная информация об элементе справочника. Для хранения такой информации в справочнике могут быть созданы дополнительные реквизитов. Используя механизм реквизитов справочника, легко организовать, например, картотеку сотрудников. Например, справочник Сотрудники почти наверняка будет иметь атрибуты Должность, Оклад и другие.
Иерархия справочников. Справочники могут поддерживать иерархическое расположение элементов. Например, в справочнике Товары могут быть созданы группы: Бытовая техника, Косметика, Продукты и т.д., в которых располагаются элементы, относящиеся к этим группам. Кроме того группы справочника могут включать в себя и другие группы, создавая тем самым многоуровневую иерархическую структуру.
В справочниках возможен и другой вид иерархии, при котором элементы справочника будут относиться не к группам, а к другим элементам этого же справочника. Такой вид иерархии может использоваться, например, при создании справочника Подразделения, где одно подразделение может включать в себя несколько других подразделений.
Подчинение справочников. Разные справочники могут находиться в состоянии подчинения, т.е. элементы одного справочника могут быть подчинены элементам или группам другого справочника. Например, справочник ЕдиницыИзмерения может быть подчинен справочнику Номенклатура. Тогда для каждого элемента номенклатуры можно будет указать единицы измерения, в которых она поступает на склад.
Перечисление — объекты прикладного решения, позволяющий хранить в информационной базе наборы значений, которые не изменяются в процессе работы прикладного решения. Например, это может быть перечисление возможных ставок НДС (Без НДС, НДС 20 и т.д.), перечисление состояния заказов (Запланировано, В Работе, Выполнено) и пр.
Оборудование и материалы: для выполнения данной лабораторной работы необходим компьютер с установленной операционной системой Windows 7 и программными продуктами: MSWord, AdobeReader, 1С: Предприятие 8.3.
Указания по технике безопасности: к выполнению лабораторных работ допускаются студенты, ознакомившиеся с правилами работы в лаборатории, прошедшие инструктаж безопасности.
Задания:для выполнения лабораторной работы необходимо выполнить следующее:
- Изучить рекомендуемую литературу.
- Выполнить лабораторную работу.
- Ответить на контрольные вопросы.
- Оформить отчет.
Содержание отчета: отчет по лабораторной работе должен быть выполнен в редакторе MSWord и оформлен согласно требованиям. Требования по форматированию: Шрифт TimesNewRoman, интервал – полуторный, поля левое – 3 см., правое – 1,5 см., верхнее и нижнее – 2 см. Абзацный отступ – 1,25. Текст должен быть выравнен по ширине.
Отчет должен содержать титульный лист с темой лабораторной работы, цель работы и описанный процесс выполнения вашей работы. В конце отчеты приводятся выводы о проделанной работе.
В отчет необходимо вставлять скриншоты выполненной работы и добавлять описание к ним. Каждый рисунок должен располагаться по центру страницы, иметь подпись (Рисунок 1 – Создание подсистемы) и ссылку на него в тексте.
Контрольные вопросы:
- Для каких целей используется режим запуска системы Конфигуратор?
- Какие обязательные (стандартные) реквизиты есть у всех справочников в системе 1С?
- В каком режиме запуска системы следует добавлять новый контакт (Сидоров Алексей Иванович) в наш справочник Контакты?
- Какой тип данных имеет в справочнике Контакты реквизит Вид контакта?
- В каком режиме запуска системы следует добавлять в справочник Контакты новый вид контакта (у нас есть 2 вида контакта: личный и деловой)?
- Какой тип значения следует выбрать для нового реквизита справочника Контакты — Электронная почта?
Лабораторная работа № 2. Разделение прикладного решения на подсистемы. Знакомство с объектом системы «Документ». Назначение табличной части Документа.
Цель работы:научиться осуществлять выделение подсистемы.
Формируемые компетенции: ПК-13
Теоретическая часть
Подсистема — логическое разделение прикладного решения (конфигурации) на сегменты, блоки, разделы. С помощью подсистем осуществляется визуальное разделение прикладного решения на функциональные блоки. Подсистемы составляют основу для формирования интерфейса прикладного решения.
Документ — объект прикладного решения, позволяющий хранить информацию о совершенных хозяйственных операциях или о произошедших событиях. В организации это могут быть, например, расходные накладные, приказы о приеме на работу или увольнении, счета для оплаты и т.д.
В системе 1С:Предприятие документ является основной учетной единицей. Каждый документ содержит сведения о конкретной хозяйственной операции или событии и характеризуется своим номером, датой и временем. Дата и времяявляются наиболее важными характеристиками документов, так как позволяют устанавливать строгую временную последовательность совершения операций. Все документы (вне зависимости от их вида) образуют единую последовательность. Фактически, эта последовательность отражает последовательность событий — как они происходили реально. Внутри одной даты последовательность документов определяется их временем, при этом время документа является не столько средством отражения реального (астрономического) времени ввода документа, сколько средством, позволяющим четко упорядочить документы внутри одной даты.
Логика работы документов сильно отличается от логики работы других объектов конфигурации. Документ обладает способностью проведения. Факт проведения документа означает, что событие, которое он отражает, повлияло на состояние учета (более подробно мы будем говорить об этом на 3 уроке нашего курса).
Оборудование и материалы: для выполнения данной лабораторной работы необходим компьютер с установленной операционной системой Windows 7 и программными продуктами: MSWord, AdobeReader, 1С: Предприятие 8.3.
Указания по технике безопасности: к выполнению лабораторных работ допускаются студенты, ознакомившиеся с правилами работы в лаборатории, прошедшие инструктаж безопасности.
Задания:для выполнения лабораторной работы необходимо выполнить следующее:
- Изучить рекомендуемую литературу.
- Выполнить лабораторную работу.
- Ответить на контрольные вопросы.
- Оформить отчет.
Содержание отчета: отчет по лабораторной работе должен быть выполнен в редакторе MSWord и оформлен согласно требованиям. Требования по форматированию: Шрифт TimesNewRoman, интервал – полуторный, поля левое – 3 см., правое – 1,5 см., верхнее и нижнее – 2 см. Абзацный отступ – 1,25. Текст должен быть выравнен по ширине.
Отчет должен содержать титульный лист с темой лабораторной работы, цель работы и описанный процесс выполнения вашей работы. В конце отчеты приводятся выводы о проделанной работе.
В отчет необходимо вставлять скриншоты выполненной работы и добавлять описание к ним. Каждый рисунок должен располагаться по центру страницы, иметь подпись (Рисунок 1 – Создание подсистемы) и ссылку на него в тексте.
Контрольные вопросы:
- Для чего предназначен объект Подсистемы?
- У каких объектов системы может быть табличная часть?
- С помощью какого объекта следует фиксировать в системе складского учета факт поступления товара на склад?
- Мы принимаем на работу нового сотрудника с помощью документа Прием на работу. В каком объекте следует хранить информацию о предыдущих местах работы нового сотрудника?
Лабораторная работа № 3. Регистры накопления. Знакомство с регистрами накопления остатков. Настройка рабочего стола. Знакомство с объектом конфигурации Форма.
Цель работы:знакомство с регистрами накопления, настройками рабочего стола и формами.
Формируемые компетенции: ПК-13
Теоретическая часть
Регистр накопления — это прикладной объект конфигурации. Это специальное хранилище (таблица), в которой рассчитываются (накапливаются) числовые данные в разрезе нескольких измерений. Например, в таком регистре можно накапливать информацию об остатках товаров в разрезе номенклатуры и склада, или информацию об объемах продаж в разрезе номенклатуры и подразделений компании. Регистр накопления — это посредник между документами и отчетами. Его использование ускоряет формирование отчетов, связанных с получением различных итоговых значений.
Измерения регистра описывают разрезы, в которых хранится информация, а в ресурсах регистра накапливаются нужные числовые данные.
Существует два вида регистров накопления: регистры накопления остатков и регистры накопления оборотов.
Регистр накопления остатков — это регистр накопления, позволяющий хранить как итоговые значения ресурсов — остатки, так и изменения этих ресурсов — обороты.
Регистр накопления оборотов — это более «специализированным» вид регистра накопления и позволяет хранить только изменения ресурсов — обороты. Существование регистра накопления оборотов связано с тем, что существует большое количество ситуаций, когда требуется накапливать только обороты, а значения остатков не имеют смысла. Типичным примером использования регистра накопления оборотов является регистр Выручка или регистр себестоимость продаж, хранящий только информацию об объемах продаж.
Чем хорош регистр накопления?:
имеет конструктор для описания изменений в регистре при проведении документов (не пишем код руками);
позволяет получить нужные итоги на любой момент времени или документ;
«помнит» какие именно изменения в итоги внес тот или иной документ;
все необходимые изменения в итогах, связанные с отменой проведения документа, изменением проведенного документа и удалением проведенного документа рассчитываются системой автоматически (если надо – можно прописать в ручную);
обеспечивает контроль уникальности записей, хранящихся в регистре накопления. Благодаря этому в регистре накоплений не может находиться двух записей, относящихся к одной и той же строке одного и того же документа.
Движения документа — это записи в регистрах, которые создаются в процессе проведения документа и отражают изменения, производимые документом.
Рабочий стол — это своеобразный «помощник» пользователя. Каждый рабочий день начинается с «общения» с ним. Это первое, что мы видим при запуске нашего прикладного решения.
Формы — это объекты конфигурации, предназначенные для отображения и редактирования информации, содержащейся в базе данных. Формы могут как принадлежать конкретным объектам конфигурации (справочникам, документам. отчетам и т.д.), так и существовать отдельно от них и использоваться всей конфигурацией в целом.
Например, справочник Контрагенты может иметь несколько форм, каждая из которых будут использоваться для определенных действий: редактирования элемента справочника, отображения списка справочника, выбора одного из элементов справочника и т.д.
У регистра накопления могут быть лишь 3 вида форм:
форма списка — это тоже самое что мы открываем через меню все функции — регистр накопления, в данной форме нельзя вносить изменения в регистр, но можно делать различные отборы и сортировки;
форма набора записей — это похожая форма, но в ней можно редактировать записи регистра: добавлять, удалять и изменять их;
произвольная форма — выводим что считаем нужным — в нашем случае на 3 уроке курса мы выводим в нее текущие остатки.
Ключевые слова: составной, тип, реквизита, значения
Понятие «тип реквизита» отличается от понятия «тип значения»
Конкретное значение не может быть составного типа. Одно конкретное значение может быть только одного типа данных.
Реквизит может быть как одного типа, так и составного типа. В последнем случае его тип описывается объектом «ОписаниеТипов», т.е. список возможных типов, значения которых могут храниться в этой колонке. Например, СправочникСсылка.М1, СправочникСсылка.М2, Строка, Число, ДокументСсылка.Д1.
В каждой строке (элементе, записи) содержится какое-то свое значение, но каждое из них — одного типа. Например, «СправочникСсылка.М1». Если же в ячейке колонки, имеющей составной тип, даже не выбран (не назначен) тип значения, то оно содержит значение «Неопределено» (это значение и одновременно тип). Если же тип выбран (кнопкой Т или установлен программно), то ячейка содержит пустое значение этого типа, например, пустую ссылку на элемент справочника (см. v8: Пустые ссылки), пустую строку «» или 0.
Чтобы реквизиту составного типа установить конкретный тип, достаточно присвоить ему пустое значение этого типа.
Более подробное описание работы со составными типами
Взято с itland.ru
http://itland.ru/forum//index.php?showtopic=2577
Вопрос:
Какие существуют особенности работы с составными типами данных.
Ответ
Этот вопрос имеет два стороны:
1) Сторона элемента формы.
Для элемента формы мы можем установить только ограничение на типы которые можно выбрать.
Т.е. с помощью кода:
МассивТипов=Новый Массив(); МассивТипов.Добавить(Тип("СправочникСсылка.Контрагенты")); ЭлементыФормы.ПолеВвода1.ОграничениеТипа=Новый ОписаниеТипов(МассивТипов);
Мы ограничиваем возможный типы только одним «СправочникСсылка.Контрагенты».
НО это не действует на значение которое хранится в источнике данных.
Поэтому если реквизит который связан с «ПолеВвода1» имеет «составной» тип, например Любая ссылка,
он будет неопределенного типа даже после «ЭлементыФормы.ПолеВвода1.ОграничениеТипа=Новый ОписаниеТипов(МассивТипов);»
2) Сторона источника данных.
Здесь ограничение на тип накладывается либо в конфигураторе, либо в момент создания этого элемента из языка.
Но если у реквизита установлен «составной» тип значение реквизита будет неопределенно до тех пор, пока ему не будет присвоено значение конкретного типа.
Присвоить конкретное значение можно либо из языка, либо выбрав это значение в форме.
Из выше описанного можно сделать вывод:
Если у реквизита установлен «Составной» тип данных, то даже при ограничении возможных типов у элемента формы до одного возможного, у пользователя будет запрошен тип который нужно будет присвоить реквизиту.
Если мы хотим оградить пользователя от лишних движений, т.е. выбора единственно возможного типа, нам нужно предварительно установить тип реквизита.
Сделать это можно следующим образом:
//"Значение1" это реквизит связанный с "ПолеВвода1". Значение1 = ЭлементыФормы.ПолеВвода1.ОграничениеТипа.ПривестиЗначение(Значение1);
Добавление от ezh (особенности при работе с элементами в табличном поле):
1.
Вместо этого:
ЭлементыФормы.ПолеВвода1.ОграничениеТипа=Новый ОписаниеТипов(МассивТипов);
Пишем это:
ЭлементыФормы.ИмяТабличнойЧасти.Колонки.ИмяКолонки.ЭлементУправления.ОграничениеТипа = Новый ОписаниеТипов(МассивТипов);
2.
Вместо этого:
Значение1 = ЭлементыФормы.ПолеВвода1.ОграничениеТипа.ПривестиЗначение(Значение1);
Пишем это:
ЭлементыФормы.ИмяТабличнойЧасти.ТекущаяСтрока.ИмяКолонки = ПривестиЗначение(ЭлементыФормы.ИмяТабличнойЧасти.ТекущаяСтрока.ИмяКолонки);
// можно так, а можно как в примере ниже...
Вот работающий пример:
МассивТипов = Новый Массив(); МассивТипов.Добавить(Тип("ПеречислениеСсылка."+Элемент.Значение)); ОписаниеТипов = Новый ОписаниеТипов(МассивТипов); ЭлементыФормы.ТабличнаяЧасть1.Колонки.ЗначениеПеречисления.ЭлементУправления.ОграничениеТипа = ОписаниеТипов; // ЭлементыФормы.ТабличнаяЧасть1.ТекущаяСтрока.ЗначениеПеречисления = ОписаниеТипов.ПривестиЗначение(ЭлементыФормы.ТабличнаяЧасть1.ТекущаяСтрока.ЗначениеПеречисления); ЭлементыФормы.ТабличнаяЧасть1.Колонки.ЗначениеПеречисления.ЭлементУправления.Значение = ОписаниеТипов.ПривестиЗначение(ЭлементыФормы.ТабличнаяЧасть1.Колонки.ЗначениеПеречисления.ЭлементУправления.Значение);
В данной статье мы подробно рассмотрим основные типы значений в 1С – примитивные, ссылочные, системные типы значений, а также познакомимся с основными приемами работы с типами значений.
Содержание
Вместо предисловия
Статья не ставит целью пересказ встроенной справки или руководства разработчика. Подразумевается, что читатели самостоятельно могут посмотреть необходимую информацию в синтакс-помощнике, глоссарии терминов 1С, или другой документации.
Примитивные типы значений в 1С
Значения примитивных типов не содержат в себе ничего, кроме литерала своего типа. Например, значение типа число может определяться литералом 12345, типа строка – “12345”, типа булево – Истина, и т.д.
Всего примитивных типов в 1С шесть:
- Число
- Строка
- Дата
- Булево
- Неопределено
- NULL
Значения примитивных типов могут преобразовываться к другим типам. Для явного преобразования используются соответствующие методы глобального контекста – например, Строка(12345) приведет число к строке, Дата(“20210101”) – преобразует строку в дату 01.01.2021, и др.
Но самое интересное начинается при неявном преобразовании типов. Значения преобразуются по определенным правилам. Так, например, второй операнд и последующие преобразуются к первому операнду выражения, до тех пор, пока это подразумевается используемыми операторами Т.е. если первым идет число, последующие операнды также будут преобразовываться к числу, если строка – к строке.
Но если в выражении попадается оператор, который работает только с конкретным типом, то будет повторное преобразование к этому типу.
Пример:
Строка1 = 1; Строка2 = "2"; Строка3 = Строка1 + Строка2; // Вернет число 3 Строка4 = Строка2 + Строка1; // Вернет строку "21" Строка5 = "2" + 2 - 2 ; // Вернет число 20, т.к. оператор "минус" не работает со строковыми выражениями, и оба его операнда преобразуются к числу.
Значение типа Неопределено – это специальное значение, которое используется как значение по умолчанию для полей составных типов, а также для обозначения неуказанного значения. Объявленные переменные, в которые еще не поместили значение, будут иметь тип Неопределено.
Значение Null – это литерал, обозначающий отсутствие значения в выборке данных. Прежде всего это значение используется при работе с запросами, например, при левом соединении двух таблиц, отсутствующие значения в левой таблице будут заменены значениями Null. Также значение Null будет иметь реквизит иерархического справочника для элемента-группы, если в свойствах реквизита указано, что данный реквизит используется только для элементов. Аналогично для реквизитов, которые используются только для групп, их значения в обычных элементах справочника будут равны Null.
Прикладные типы значений
Прикладные типы значений создаются платформой, когда разработчик добавляет новые прикладные объекты – документы, справочники, регистры и т.д. При этом при создании одного прикладного объекта становятся доступны сразу несколько прикладных типов данных. Например, при добавлении в конфигурацию справочника “Пользователи”, платформа создаст следующие типы:
- СправочникСсылка.Пользователи
- СправочникОбъект.Пользователи
- СправочникМенеджер.Пользователи
- СправочникСписок.Пользователи
- СправочникВыборка.Пользователи
Каждый прикладной тип служит для определенной функциональности – например, ссылка нужна для доступа к свойствам конкретного элемента на чтение, объект – для возможности редактировать свойства это элемента, выборка – для перебора коллекции элементов, и т.п.
Изначально прикладные типы платформой не поддерживаются, и существуют только в конкретном прикладном решении. Следует иметь в виду, что при создании двух разных справочников, даже с одинаковым набором реквизитов, например “Покупатели” и “Поставщики”, для платформы это будут разные типы данных, несмотря на одинаковый реквизитный состав, и унаследованную базовую функциональность типа “Справочники”.
Интерфейсные типы данных в 1С
К интерфейсным типам относятся типы данных, позволяющие организовать интерактивное взаимодействие прикладного решения с пользователем. Прежде всего, это типы, связанные с формами и их элементами, например “КнопкаФормы”, “ПолеФормы” и др. Также к интерфейсным типам данных относятся значения, позволяющие работать с избранным, историей, окном клиентского приложения, и т.д.
Общие типы данных
Платформа предоставляет специфичные объекты языка, отвечающие за различную функциональность: ТабличныйДокумент, Диаграмма, ПостроительЗапроса, Картинка и др.
В отличие от примитивных типов, значения общих типов представляют собой совокупность значений свойств конкретного объекта. Каждое значение общего типа называется “экземпляром объекта”, и создается ключевым словом Новый – Новый ТекстовыйДокумент, Новый ХранилищеЗначения, и т.д.
Универсальные коллекции значений
Для работы с временными наборами данных в течение сеанса работы пользователя используются универсальные коллекции, такие как Массив, ТаблицаЗначений, Структура и др. Они не являются объектами базы данных, и в ней не хранятся. Универсальные коллекции используются для сбора, группировки, анализа и обработки данных.
Значения типа универсальной коллекции создаются при помощи ключевого слова Новый, например – Новый СписокЗначений, Новый ДеревоЗначений.
Платформа также предоставляет разработчику связанные типы значений, такие как КолонкаТаблицыЗначений, СтрокаДереваЗначений, КлючИЗначение, для работы с содержимым универсальных коллекций.
Следует учитывать, что два одинаковых экземпляра универсальной коллекции для платформы будут разными объектами, даже если эти два экземпляра полностью идентичны.
Составные типы значений
Реквизиты объектов конфигурации могут иметь составной тип. Например, для реквизита “Платежный документ” может быть указаны типы “Приходная накладная”, “Авансовый отчет”, “Оприходование товаров”. В этом случае разработчик указывает, что реквизит имеет составной тип, и отмечает нужные типы на этапе конфигурирования, а пользователь в процессе эксплуатации может выбрать в реквизит значение одного из доступных типов. Следует иметь в виду, что в каждый конкретный момент времени значение имеет только один конкретный тип. Если значение составного типа не указано, тип будет Неопределено. Одновременно двух типов значение составного типа быть не может.
Проверка типа конкретного значения
При реализации прикладной логики, часто возникает необходимость проверить, к какому типу принадлежит то или иное значение. Например, если в параметр процедуры передана структура – реализуется одно поведение, а если единственное значение – то другое.
Для такой проверки используется два метода глобального контекста: Тип и ТипЗнч.
Пример. Реквизит Плательщик имеет составной тип – плательщиками могут быть Сотрудники и Контрагенты. Нам нужно проверить, что выбранное значение реквизита является элементом справочника Контрагенты:
Если ТипЗнч(Плательщик) = Тип("СправочникСсылка.Контрагенты") Тогда
Как определить, что значение является справочником или документом?
Иногда в коде нужно определить, что переданное значение или параметр является справочником или документом. Например, это может быть необходимо в общей подписке на события при записи объектов. Для этого следует использовать методы ТипВсеСсылки() и Содержит().
Пример. В подписке ПриЗаписи мы получаем параметр Источник, который может быть как любым элементом любого справочника, так и любым документом.
Если Справочники.ТипВсеСсылки().Содержит(ТипЗнч(Источник)) Тогда // Это справочник ИначеЕсли Документы.ТипВсеСсылки().Содержит(ТипЗнч(Источник)) Тогда // Это документ КонецЕсли;
Задание типа значения для реквизита с типом СписокЗначений в управляемых формах
В управляемых формах невозможно задать тип значения для реквизита, который имеет тип СписокЗначений, хотя в обычных формах такая возможность есть. Если реквизит с типом СписокЗначений является реквизитом формы, то здесь особых сложностей нету, достаточно в обработчике события формы ПриСозданииНаСервере написать код по установке типа для значения списка:
ТипыСписка = "Строка";
ДоступныеТипы = Новый ОписаниеТипов(ТипыСписка);
ЭтаФорма.РеквизитСписокЗначений.ТипЗначения = ДоступныеТипы;
Как видно из примера, тип значения устанавливается через свойство списка значений ТипЗначения, которое имеет тип ОписаниеТипов.
Другое дело, когда форма содержит таблицу значений, у которой имеется реквизит с типом СписокЗначений. В такой ситуации через обработчики событий формы к этому реквизиту не достучаться, поэтому нужно использовать обработчики событий элемента формы, связанного с данным реквизитом.
1. Реквизит ТЧ с типом СписокЗначений |
Для этого напишем код по установке типа значения в обработчике события элемента формы НачалоВыбора:
Процедура РеквизитыТаблицыСписокДоступныхЗначенийНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ТипыСписка = "Строка";
ДоступныеТипы = Новый ОписаниеТипов(ТипыСписка);
Элемент.Родитель.ТекущиеДанные.РеквизитСписокЗначений.ТипЗначения = ДоступныеТипы;
КонецПроцедуры
Что бы для типа значения задать составной тип, необходимо в конструктор объекта ОписаниеТипов передать первым параметром массив типов:
ТипыСписка = Массив;
ТипыСписка.Добавить(Тип("Строка"));
ТипыСписка.Добавить(Тип("Число"));
ДоступныеТипы = Новый ОписаниеТипов(ТипыСписка);
ЭтаФорма.РеквизитСписокЗначений.ТипЗначения = ДоступныеТипы;
Единственный минус составного типа в списке значений — это отсутствие множественного выбора (кнопки Подбор), придется добавлять по одному значению в список. а это просто печалит.