Типы стандартных реквизитов для документов в 1с

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

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

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

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

Добавление документа 1С в дерево метаданных

После создания, откроется конструктор документа, где на закладке Основные задаем имя документа и синоним.

Конструктор документа в 1С 8.3

Реквизиты документов создаются на закладке Данные в верхнем окне.

Реквизиты документов 1С 8.3

Можно создать неограниченное множество реквизитов, как ссылочных типов, так и примитивных типов.

Реквизиты документов 1С 8.3

Иногда, такие реквизиты у документов некоторые программисты называют «шапкой документа».

Табличные части документа 1С 8.3

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

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

Табличные части документа 1С 8.3

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

Добавление реквизита в табличную часть документа 1С 8.3

У табличной части могут быть реквизиты, как примитивных, так и ссылочных типов. Количество реквизитов не ограниченно.

Реквизиты в табличной части документа 1С 8.3

Стандартные реквизиты документа 1С

У любого документа есть стандартные реквизиты, которые автоматически создаются при создании документа в конфигураторе 1С.  Чтобы посмотреть на них, необходимо нажать на кнопку «Стандартные реквизиты» закладки «Данные»  в конструкторе документа.

Стандартные реквизиты документа 1С 8.3

Мы не можем удалить стандартный реквизит, или изменить тип стандартного реквизита, но можем поменять некоторые его свойства. Например, у созданного документа, я поменяю синоним для номера, пусть  у стандартного реквизита Номер будет синоним «Порядковый номер».

Откроем палитру свойств стандартного реквизита

Открытие палитры свойств стандартного реквизиты документа 1С 8.3

И поменяем синоним.

Синоним стандартного реквизиты документа 1С 8.3

Теперь в пользовательском режиме поле «Номер» называется по другому.

Синоним стандартного реквизиты документа 1С 8.3

Нумерация документов 1С

Каждый документ должен быть пронумерован, т.е. ему присвоится какой-то номер. Настройки нумерации документов задаются на закладке «Нумерация» конструктора документа.

Нумерация документов 1С

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

Документ, у которого номер имеет тип строка выглядит так.

Нумерация документов 1С тип номера строка

Если номер имеет тип число, то документ будет выглядеть  так

Нумерация документов 1С тип номера число

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

Нумерация документов 1С периодичность

Нумератор документов 1С

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

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

Создание нумератора документов 1С

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

Свойства нумератора документов 1С

Осталось указать созданный нумератор в конструкторе документов Приход и Расход.

Выбор нумератора документов 1С

Выбор нумератора документов 1С

Мы уже создали документ Приход, у которого номер был 1, если сейчас создать документ Расход, то у него номер будет равен 2.

Нумератор документов 1С

Остальные статьи по теме конфигурирования:

Справочники в 1С 8.3

Предопределенные элементы справочников 1С

Формы справочников в 1С 8.3

Журнал документов в 1С 8.3

Подсистемы 1С 8.3

Общие реквизиты в 1С

Обработки 1С

Более подробно и основательно работа с документами дается в моей книге:

Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

  1. Книга написана понятным и простым языком — для новичка.
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Научитесь понимать архитектуру 1С;
  4. Станете писать код на языке 1С;
  5. Освоите основные приемы программирования;
  6. Закрепите полученные знания при помощи задачника;

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

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

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu

Вступайте в мои группы:

Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009

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

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

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

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

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

Каждый справочник и документ 1С состоит из набора полей. Такие поля называются реквизиты 1С (для программиста 1С).

В конфигураторе, в дереве конфигурации 1С, раскройте любой справочник или документ и Вы увидите ветку Реквизиты. Это список реквизитов (полей) справочника.

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

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

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

Основные свойства реквизитов 1С:

  • Имя – наименование реквизита 1С в языке 1С (внимание – в имени реквизитов не должно быть пробелов и знаков препинания)
  • Синоним – наименование реквизита каким его увидит пользователь в режиме Предприятие
  • Тип – указывает какие данные можно будет хранить в реквизите 1С, нажмите на кнопку «…», чтобы изменить тип; основные типы:
    o Число — используется для цифр, а также для радиопереключателя
    o Строка — может быть ограничена по длине, дело в том, что не везде возможно использование неограниченной длины
    o Дата
    o Булево — для того, чтобы на форме была галочка (значения Истина/Ложь или Да/Нет)
    o СправочникСсылка или ДокументСсылка – выбор значения справочника или документа.

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

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

Стандартные реквизиты 1С

Как Вы заметили, на форме справочника есть реквизиты 1С, которые отсутствуют в списке в конфигураторе: группа, наименование, БИК.

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

Это – стандартные реквизиты 1С. Что это такое? У каждого объекта 1С есть набор реквизитов 1С по умолчанию. У справочников это, например – код и наименование. У документов это – дата и номер.

Стандартные реквизиты 1С можно посмотреть следующим образом:

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

Общие реквизиты 1С

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

Свойства общего реквизита 1С:

  • Автоиспользование – добавляет общий реквизит 1С сразу во все справочники и документы
  • Состав – позволяет добавить общий реквизит 1С только в нужные справочники и документы (автоиспользование тогда в значение Не использовать).

Как добавить реквизит 1С

Нажмем правой кнопкой на ветку Реквизиты 1С нужного справочника и выберем Добавить.

Введем нужно Имя реквизита 1С, например «АдресОфиса» и синоним «Адрес офиса». Тип оставим по умолчанию Строка, но поставим галочку Неограниченная длина.

Добавим еще один реквизит 1С точно так же, только выберем тип Булево, назовем его «РаботаетПоВыходным».

Как вывести реквизит на форму 1С (толстый клиент 1С)

Раскроем ветку Формы того же справочника. Чтобы открыть форму — выберем форму элемента и нажмем на нее два раза мышкой.

Потяните мышкой за край формы и растяните ее (необязательный пункт).

В панели конфигуратора нажмите кнопку «Размещение данных». Также можно использовать меню Форма / Размещение данных.

Вы видите – наши реквизиты на форму не выведены. Установите на них галочку. А также галочки Вставить надписи и Разместить автоматически.

Вуаля!

Как вывести реквизит на форму 1С (тонкий клиент 1С)

Раскроем ветку Формы того же справочника. Выберем форму элемента и нажмем на нее два раза мышкой.

На закладке Реквизиты раскройте строку Объект. Вы увидите список реквизитов, добавленных ранее в справочник.

Теперь просто перетяните из правого окна в левую нужный реквизит и он появится на форме.

Вуаля!

Реквизиты формы 1С

В толстом клиенте у формы есть свои собственные реквизиты. Они находятся на закладке Реквизиты.

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

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

Периодические реквизиты 1С

В 1С версии 7.7 были периодические реквизиты. Их смысл таков: значение у реквизита разное в разные даты. Например, значение на 1 сентября – одно, а на 1 октября – другое. У одного и того же реквизита.

В 1С 8 периодических реквизитов нет. Это реализуется следующим образом:

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

  • Добавляем измерение, у которого тип – нужный нам справочник (которому мы делаем периодический реквизит)

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

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

Загрузка…

Внимание! Перед вами ознакомительная версия урока, материалы которого могут быть неполными.

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

Помните на одном из прошлых уроков мы выяснили, что элементы справочника Еда ссылаются на элементы другого справочника Цвета. Как мы это узнали?

Очень просто:

01

Оказывается все реквизиты объектов в 1С имеют не только имена, но и типы. Как видно из рисунка тип реквизита Цвет у элементов справочника Еда  равен СправочникСсылка.Цвета, что указывает на то, что этот реквизит является ссылкой на один из элементов справочника Цвета.

Типы у реквизитов бывают следующие:

  • Число
  • Строка
  • Дата
  • Булево
  • Ссылка на один из прикладных типов (Справочник, Документ и так далее).

К примеру, тип реквизита Калорийность числовой:

02

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

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

  • Наименование — Строка. Название элемента справочника.
  • Код — Число или Строка в зависимости от настроек справочника.
  • ПометкаУдаления — Булево. Если установлен в Истина, значит элемент помечен на удаление.
  • ЭтоГруппаБулево. Означает является ли данный элемент группой.
  • Родительссылка на группу того же справочника, которая является родителем этого элемента. Имеет смысл только для многоуровневых справочников.

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

  • Номер — Число или Строка в зависимости от настроек документа.
  • ДатаДата. Означает дату совершения хозяйственной операции.
  • ПроведенБулево. Означает проведен ли данный документ. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь. Только проведенный документ считаются отражением свершившейся хозяйственной операции на предприятии.
  • ПометкаУдаленияБулево. Если установлен в Истина, значит документ помечен на удаление.

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

А значит типы реквизитов объекта полностью определяются типами столбцов этой таблицы.

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

Домашнее задание

а) Перечислите типы столбцов следующих таблиц базы данных Гастроном:

  1. Справочник.Еда
  2. Документ.ЗаказКлиента

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

Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся

Уровень сложности уроков идёт снизу вверх. Поэтому старайтесь заниматься последовательно, ничего не пропуская и не откладывая на потом.

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

Содержание: 

1. Зачем использовать стандартные реквизиты, если можно создать свои?

2. Как найти и использовать стандартный реквизит 

1.       Зачем использовать стандартные реквизиты, если можно создать свои?

Базовые версии 1С 8 более доступны по цене, однако, при этом имеют ряд ограничений, которые «всплывают», как только клиент захочет доработать тот или иной функционал программы. Один из таких сюрпризов – это отсутствие поддержки работы с расширениями 1С. Заметим, тем не менее, что фирма «1С» планирует в новых релизах (начиная с 8.3.19) платформы разрешить базовым версиям 1С 8 работать с расширениями при определённых ограничениях.

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

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

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

2.       Как найти и использовать стандартный реквизит?

В таком случае стоит обратить внимание на стандартные реквизиты, которые предлагает программа, в нашем случае это базовая версия 1С 8 Бухгалтерия предприятия 3.0: нет ли среди них «бесхозных», которые могли бы нам подойти? Проанализировав, как используются реквизиты табличной части Товары документа Счёт на оплату покупателю (с помощью консоли запросов, например), можно заметить, что среди прочих есть стандартный реквизит Содержание (строка в 1000 символов), который используется только если добавленная в список номенклатура является услугой, если же это товар (т.е. НЕ Номенклатура.Услуга), то строка Содержание не используется! Что ж, 1000 символов нам вполне достаточно для хранения данных о свойствах товара.

Для работы с этим стандартным реквизитом документа требуется сделать одно подготовительное действие, а именно вытащить его на форму документа <Ещё → Изменить форму…>, разместив в удобном месте и задав достаточную длину поля ввода (рис.1).

Рисунок 1. Покажем реквизит на форме

Далее, и это важный момент – организация хранения и доступа к данным внутри стандартного реквизита в 1С Бухгалтерия, в данном случае – строки в 1000 символов. Следует определить формат записи нескольких данных в строку. Например, число, означающее длину будет начиная с такой-то позиции внутри строки, или же будет некий признак, означающий, что перед нами именно ширина, например подстрока «Ширина, мм:». Если не предусматривается заполнения новых данных в специальном окне, то необходимо довести до пользователя информацию о том, каков формат строки.

Пример строки:

№ Заказа: Э-515 Ширина, мм: 1559 Высота, мм: 1050 Кол-во, шт.: 2

Рисунок 2. Заполнение реквизита несколькими значениями

Остаётся написать обработку, которая будет извлекать числа из этой строки (сама строка при этом, может формироваться и автоматически, например, при загрузке из файла электронной таблицы), вычислять площадь, новое значение Количества и Суммы, словом, то, что в отличной от базовой версии мы бы сделали в обработчике события ПриИзменении.

Таким способом в базовой версии 1С 8.3 Бухгалтерия можно разместить новые данные, не создавая новых сущностей, а используя только имеющиеся стандартные реквизиты. Конечно, следует уделять внимание вопросу безопасного кода в контексте корректного преобразования строки в число или наоборот, помнить о проблеме пробелов и спецсимволов, а также, уже пользователю – контролировать, чтоб избранный нами реквизит использовался по назначению и не был перезаписан вдруг какими-то другими данными. Это можно назвать недостатком использования «бесхозных» реквизитов для хранения данных о свойствах товара.

Специалист компании «Кодерлайн»

Дмитрий Колесников

1c:объекты:документы

Содержание

Документы

Описание

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

  • Номер — содержит номер документа, может быть строковым или числовым, в зависимости от настроек документа.

  • Дата — содержит дату документа

  • ПометкаУдаления — указывает на факт наличия пометки удаления, помеченный на удаление документ не может быть проведен

  • Ссылка — содержит ссылку на документ.

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

Момент времени

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

Дата и время документа.

При вводе документа система автоматически устанавливает текущие дату и время документу. Это поведение настраивается на уровне свойств документа.

Оперативное и неоперативное проведение документа

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

Оперативное проведение

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

Неоперативное проведение

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

Состояние документа

Документ всегда находится в каком то одном из трех состояний

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

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

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

Движения документа

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

Часто используемые классы

  • ДокументМенеджер позволяет:

    • Искать документы

      ТотСамыйДокумент = Документы.РасходИзКассы.НайтиПоНомеру("000001",'01.01.2008');

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

    • Строить выборки:

      ПараметрыОтбора = Новый Структура("Клиент", СпрИванов);
      ВыборкаДокументов = Документы.РасходИзКассы.Выбрать('01.01.2008', '31.12.2008', ПараметрыОтбора);

      Здесь мы отобрали все документы, у которых дата попадает в 2008 год и значение реквизита «Клиент» равно содержимому переменной «СпрИванов».

    • Создавать документы:

      НовыйДок = Документы.ПриходнаяНакладная.СоздатьДокумент();
      НовыйДок.Дата = ТеущаяДата();
      НовыйДок.Клиент = СпрИванов;
      //и тд
      НовыйДок.Записать();
  • ДокументВыборка – Позволяет обходить существующие в выборке документы, получать ссылки на них или читать значения их реквизитов.

  • ДокументСсылка – позволяет читать все данные объекта. Обычно в реквизитах хранятся именно ссылки на объекты.

  • ДокументОбъект – позволяет изменять данные объекта. Запись можно производить только в этом классе.

Ввод на основании

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

  • Документы.

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

  • Планы счетов.

  • Планы видов характеристик.

  • Планы видов расчетов.

  • Планы обмена.

Только авторизованные участники могут оставлять комментарии.

1c/объекты/документы.txt

· Последнее изменение: 2016/04/23 21:23 —

admin

Стандартные реквизиты

Стандартные реквизиты

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

Стандартные реквизиты

Для этого в палитре свойств ряда объектов существуют команды, открывающие списки стандартных реквизитов и стандартных табличных частей . Такие команды доступны для тех объектов, у которых имеются стандартные реквизиты и стандартные табличные части.
С помощью палитры свойств можно переопределять некоторые свойства стандартных реквизитов таким образом, чтобы они более полно соответствовали требованиям решаемой прикладной задачи. Например, для свойства Владелец справочника РасчетныеСчета можно задать синоним Контрагент. Тогда во всех формах представление этого реквизита (Владелец) по умолчанию будет выглядеть как «Контрагент:».
В том случае если свойства стандартного реквизита (или стандартной табличной части) не заданы, будут использованы свойства стандартных реквизитов по умолчанию.
По своему набору свойств стандартный реквизит практически ничем не отличается от любого другого реквизита, за исключением того, что нельзя изменить:
● имя стандартного реквизита,
● тип стандартного реквизита,
● имя стандартной табличной части,
● индексирование стандартного реквизита.
ВНИМАНИЕ! Наличие описания стандартного реквизита не меняет его имени, то есть все обращения к реквизиту во встроенном языке и в языке запросов остаются неизменными.

Ключевые слова: составной, тип, реквизита, значения

Понятие «тип реквизита» отличается от понятия «тип значения»

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

Реквизит может быть как одного типа, так и составного типа. В последнем случае его тип описывается объектом «ОписаниеТипов», т.е. список возможных типов, значения которых могут храниться в этой колонке. Например, СправочникСсылка.М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.Колонки.ЗначениеПеречисления.ЭлементУправления.Значение);

Понравилась статья? Поделить с друзьями:
  • Титульный лист бизнес плана образец заполненный
  • Титульный лист для бизнес плана образец скачать
  • Тихвинское кладбище санкт петербург часы работы
  • Тихонравова 38 2 юбилейный управляющая компания
  • Ткацкая 5 строительный супермаркет время работы