Разделы сайта
Выбор редакции:
- Что такое дипиай: основные понятия и как правильно настроить dpi на мышке
- Сколько золота содержится в процессорах Какие металлы есть в телефоне
- Грязный биткоин: как отмывают деньги через криптовалюты
- Как починить зарядку от ноутбука
- Справочная информация - промэлектроника
- Фигуры на CSS: вводный курс
- Как взять деньги в долг в МТС?
- Как войти в личный кабинет мегафон Как войти в личный кабинет с планшета
- Как выполнить тест оперативной памяти?
- Как сделать новую строку в ячейке Excel?
Реклама
Основной реквизит формы. Реквизиты управляемой формы (1Cv8) Как добавить новый реквизит в 1с |
Как добавить дополнительный реквизит к элементу справочника в 1С Бухгалтерия 8.3 (редакция 3.0)2016-12-07T18:20:33+00:00Бывает так, что нам не хватает возможностей уже имеющихся в 1С. И не всегда при этом нужно обращаться к программисту. Я расскажу про один из таких случаев применительно к новой 1С:Бухгалтерия 8.3 (редакция 3.0). Пусть нам не хватает полей для внесения информации о наших контрагентах. И мы хотим добавить новое поле, которое будет называться "Статус" и иметь одно из трёх значений - "Высокий", "Средний" и "Низкий". О том как добавить такое поле, не заходя в конфигуратор, я расскажу ниже по шагам. 1. Зайдите в раздел "Администрирование" и выберите там пункт "Общие настройки" (): 2. Найдите и установите галку "Дополнительные реквизиты и сведения", если она ещё не установлена. Нажмите ссылку "Дополнительные реквизиты": 3. В левой части открывшегося окна настроек выберите пункт "Контрагент". Нажмите кнопку "Создать" на панели инструментов. 4. Открылось окно создания нового реквизита для элементов справочника "Контрагенты". Введите "Статус" в поле Наименование. В качестве типа значения оставьте "Дополнительное значение", хотя на будущее учтите, что возможны и другие типы значений (строка, число, дата и прочее). Но нам нужно сейчас именно дополнительно значение, так как мы хотим предоставить пользователю ограниченный выбор из трёх вариантов. 5. Для создания каждого из вариантов перейдите на закладку "Значения", нажмите там кнопку "Создать", введите наименование значения (например, "Высокий") и нажмите кнопку "Записать и закрыть". 6. И так пока не создадутся все три значения с названиями "Высокий", "Средний" и "Низкий" как показано на рисунке ниже. Нажмите кнопку "Записать и закрыть". 7. Как видите, в списке дополнительных реквизитов у Контрагента появился реквизит Статус. 8. Теперь, если мы зайдем в любой элемент справочника контрагенты, мы увидим в самом низу формы новое поле Статус ( если не видите - раскройте свёрнутую на форме группу "Дополнительные реквизиты" ): 9. В это поле мы можем подставить одно из трёх значений, созданных нами. По этому полю можно делать отбор в форме списка, его можно выводить в отчеты и прочее. Реквизиты формы обеспечивают ее связь с данными. При этом один (и только один) из реквизитов может быть назначен основным; он не обязательно может быть того типа данных, к объекту которого мы рисуем форму. Но от типа данных основного реквизита будет зависеть поведение формы. Кроме изменения поведения формы, происходит изменение контекста модуля формы. Наряду с методами и свойствами формы, в нем становятся доступны методы и свойства объекта, являющегося значением основного реквизита. Важно, что формы типа "Произвольная форма" не имеют основного реквизита. В этом случае поведение формы определяется только настройками пользователя. Рассмотрим вопросы по основным реквизитам. Вопрос 10.05 экзамена 1С:Профессионал по платформе. Для чего служит основной реквизит формы?
Правильный ответ шестой, см. выше. Вопрос 10.06 экзамена 1С:Профессионал по платформе. Для чего нужны реквизиты формы?
Правильный ответ третий - и то, и другое. Вопрос 10.07 экзамена 1С:Профессионал по платформе. Что бы произвольной управляемой форме назначить основной реквизит...
Правильный ответ второй: Вопрос 10.08 экзамена 1С:Профессионал по платформе. Что бы произвольной обычной форме назначить основной реквизит...
Правильный ответ четвертый: Основной реквизит выделяется жирным: Вопрос 10.09 экзамена 1С:Профессионал по платформе. При наличии одного основного реквизита формы можно ли добавить еще один основной реквизит?
Правильный ответ первый, основной реквизит строго один, т.к. связь с объектом должна быть однозначна. Вопрос 10.113 экзамена 1С:Профессионал по платформе. Какой из реквизитов формы, представленной на рисунке, является основным?
Работа пользователя со справочниками и документами в 1С состоит из заполнения полей на форме. Реквизиты 1С – это поля справочника и документа, которые отображаются на форме, чтобы пользователь их заполнил. Рассмотрим подробно тему реквизитов в 1С. Что такое Реквизиты 1С Каждый справочник и документ 1С состоит из набора полей. Такие поля называются реквизиты 1С (для программиста 1С). В конфигураторе, в дереве конфигурации 1С, раскройте любой справочник или документ и Вы увидите ветку Реквизиты. Это список реквизитов (полей) справочника. Поглядите как те же реквизиты 1С выглядят на форме справочника 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С версии 7.7 были периодические реквизиты. Их смысл таков: значение у реквизита разное в разные даты. Например, значение на 1 сентября – одно, а на 1 октября – другое. У одного и того же реквизита. В 1С 8 периодических реквизитов нет. Это реализуется следующим образом: Общий реквизит в 1С 8.3 — это объект метаданных платформы, позволяющий использовать один реквизит для многих объектов конфигурации (справочников, документов, планов счетов и т.д). Объект создан в основном для облегчения труда разработчика и разделения данных. Общие реквизиты были первоначально реализованы в версии 1С 7.7, но сразу в платформу 8 версии разработчики его не включили. Механизм общих реквизитов был введен разработчиками 1С только в релизе 8.2.14. Общие реквизиты очень удобно добавлять, чтобы не изменять стандартные объекты в конфигурации, я часто их использую наряду с . После добавления общего реквизита его можно использовать и в запросах и выводить на форму объектов — внешне он ничем не отличается от обычного реквизита. Единственное ограничение общих реквизитов — невозможность использования их в . Рассмотрим основные настройки и свойства общих реквизитов, отличные от других объектов конфигурации: Состав — список объектов, к которым будет использован общий реквизит, настройка напоминает настройку плана обмена. Получите 267 видеоуроков по 1С бесплатно: Автоиспользование — настройка определяет, будет ли использоваться общий реквизит для тех объектов, у которых в составе указан режим использования «Автоматический». Разделение данных — эту настройку рассмотрим отдельно. Разделение данных в 1С с помощью общего реквизитаРазделение данных — механизм, аналогичный механизму . Однако производительность данного механизма более эффективна, и он настраивается проще. Механизм позволяет настроить отображение только элементов, которые может видеть пользователь. К примеру, можно разграничить все объекты (документы, справочники и т.д.), где установлена определенная организация. Настройка разделения данных с помощью общих реквизитов 1СДля настройки в общем реквизите необходимо указать разделение данных — Разделять . Сразу после нажатия система предложит создать параметры учета по умолчанию: При этом необходимо будет при старте системы указать параметры сеанса, как это сделать, с примером было описано в статье . На этом настройка окончена — пользователю будет доступна только та информация, которая указана в выбранных параметрах сеанса. Пример использования общего реквизитаРазберем настройку общего реквизита в 1С 8.3 на примере каркасной конфигурации и реквизита Организация: В системе имеется 3 документа, где необходимо указание реквизита Организация: это Приходная Накладная, Расходная Накладная, Начисление Зарплаты. Настройка проста:
Все, настройка окончена! Смотрим результат: Система отображает общий реквизит «как свой»: и в запросах, и в реквизитах формы, и в других местах. Вот такое волшебство! 🙂 Не добавляется общий реквизит 1С 8.3И Data Transfer Object к структуризации кода, управляемой формы в среде 1С 8.2. ВведениеНачнем с небольшого описания понятия «управляемая форма» и связанных концепций платформы 1С. Знатоки платформы могут пропустить этот раздел.В 2008 году стала доступна новая версия платформы 1С: Предприятие 8.2 (далее Управляемое приложение), которая полностью меняет весь слой работы с интерфейсом. Сюда относится и командный интерфейс, и формы, и оконная система. При этом не только меняется модель разработки пользовательского интерфейса в конфигурации, но и предлагается новая архитектура разделения функциональности между клиентским приложением и сервером.
Основные отличия управляемых форм для разработчика:
Все дальнейшие рассуждения будут о правой части иллюстрации, о том, как структурировать код модуля и какие принципы позволят реализовать эффективное клиент-серверное взаимодействие. Обозначим проблемуПрошло уже несколько лет как новая версия платформы 1С активно используется и выпущено множество решений (конфигураций) как фирмой 1С, так и ее многочисленными партнерами.Сложилось ли за это время у разработчиков единое понимание принципов клиент-серверного взаимодействия при создании форм, и изменился ли подход к реализации программных модулей в новых архитектурных реалиях? Рассмотрим структуру кода (модуль формы) в нескольких формах одной типовой конфигурации и попробуем найти закономерности.
Зачем нужна структура кода?
Почему существующий стандарт разработки от фирмы 1С не помогает?Посмотрим опубликованные на дисках ИТС и в различных «Пособиях разработчика…» принципы, рекомендуемые при написании управляемой формы.
Шаблоны проектирования или мудрость поколенийКлиент-серверное взаимодействие используется в различных программных технологиях не один десяток лет. Ответ на обозначенные в предыдущем разделе вопросы давно известен и суммирован в двух базовых принципах.
Примеры шаблонов в платформе 1СПрикладной программный интерфейс доступный разработчику при разработке управляемой формы, содержит много примеров данных принципов.Например метод ОткрытьФорму(), типичный «огрубленный» интерфейс. ПараметрыОткрытия = Новый Структура("Параметр1, Параметр2, Параметр3", Значение1, Значение2, Значение3); Форма = ОткрытьФорму(ИмяФормы, ПараметрыОткрытия); Сравните с принятым в v8.1 стилем. Форма = ПолучитьФорму(ИмяФормы); Форма.Параметр1 = Значение1; Форма.Параметр2 = Значение2; Форма.Открыть(); В контексте управляемой формы множество «Объектов переноса данных». Можно выделить системные
и определяемые разработчиком
.
Пример 1С v8.1: // на клиенте в контексте формы ЗаполнитьКэшПользователей(ПодразделениеСсылка) Пример 1С v8.2: // на сервере в контексте формы ОбработкаОбъект = РеквизитФормыВЗначение("Объект"); ОбработкаОбъект.ЗаполнитьКэшПользователей(ПодразделениеСсылка); ЗначениеВРеквизитФормы(ОбработкаОбъект, "Объект"); Объекты переноса данных, структура которых определяется разработчиком это небольшое подмножество типов доступных и на клиенте и на сервере. Наиболее часто в качестве параметров и результатов методов «огрубленного» интерфейса используются:
&НаСервереБезКонтекста Функция СерверИзменитьСтатусЗаказов(Заказы, НовыйСтатус) Ошибки = Новый Соответствие(); // [заказ][описание ошибки] Для Каждого Заказ Из Заказы Цикл НачатьТранзакцию(); Попытка ДокОб = Заказ.ПолучитьОбъект(); …. другие действия, возможно не только с заказом… Исключение ОтменитьТранзакцию(); Ошибки.Вставить(Заказ, ОписаниеОшибки()); КонецПопытки; КонецЦикла; Возврат Ошибки; КонецФункции // СерверИзменитьСтатусЗаказов() Структурируем кодГлавные цели, которые должен отражать модуль управляемой формы и подходы к решению.
//////////////////////////////////////////////////////////////////////////////// // <(c) Автор=""", ИмяПользователя>" Дата=""", ДатаВремя,"ДФ=dd.MM.yyyy">"/> // <Описание> // > // Описание> //////////////////////////////////////////////////////////////////////////////// // ПЕРЕМЕННЫЕ МОДУЛЯ //////////////////////////////////////////////////////////////////////////////// // НА СЕРВЕРЕ //******* СОБЫТИЯ НА СЕРВЕРЕ ******* &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) //Вставить содержимое обработчика КонецПроцедуры //******* ИНТЕРФЕЙС УДАЛЕННОГО ДОСТУПА ******* //******* БИЗНЕС-ЛОГИКА НА СЕРВЕРЕ ******* //////////////////////////////////////////////////////////////////////////////// // ОБЩИЕ МЕТОДЫ КЛИЕНТА И СЕРВЕРА //////////////////////////////////////////////////////////////////////////////// // НА КЛИЕНТЕ //******* БИЗНЕС-ЛОГИКА НА КЛИЕНТЕ ******* //******* КОМАНДЫ ******* //******* СОБЫТИЯ НА КЛИЕНТЕ ******* //////////////////////////////////////////////////////////////////////////////// // ОПЕРАТОРЫ ОСНОВНОЙ ПРОГРАММЫ Связанные вопросыВ заключение обозначим несколько направлений, о которых полезно подумать при программировании клиент-серверного взаимодействия.
|
Популярное:
Новое
- Сколько золота содержится в процессорах Какие металлы есть в телефоне
- Грязный биткоин: как отмывают деньги через криптовалюты
- Как починить зарядку от ноутбука
- Справочная информация - промэлектроника
- Фигуры на CSS: вводный курс
- Как взять деньги в долг в МТС?
- Как войти в личный кабинет мегафон Как войти в личный кабинет с планшета
- Как выполнить тест оперативной памяти?
- Как сделать новую строку в ячейке Excel?
- Отображение и скрытие нулевых значений Почему в экселе убирается ноль