Меню

1с добавить константу в настройку



Использование констант в 1С 8

Константы 1С 8.3 — это объект метаданных, который хранит в себе редко изменяющуюся информацию.

Как правило, в константах хранят информацию о настройках системы. Например: валюта регламентированного учета, заголовок системы, значения для функциональных опций и т.д.

Разберем основные свойства, настройки и особенности технической реализации констант в 1С на уровне СУБД.

Свойства и настройка константы в 1С

У менеджера объекта две основных функции в программном коде:

  • Константы. .Получить(); — получение текущего значения константы;
  • Константы. .Установить( ); — установка нового значения константы.

Рассмотрим основные свойства палитры свойств объекта метаданных — константа:

  • Тип — тип константы ничем не ограничен.
  • Модуль менеджера значения — модуль константы, в котором описываются следующие обработчики: ОбработкаПроверкиЗаполнения, ПередЗаписью, ПриЗаписи.
  • Режим управления блокировкой данных — управляемый или автоматический режим блокировок 1С.
  • Использовать стандартные команды — флаг, отвечающий за использование стандартного отображения команды на интерфейсе конфигурации. Часто этот флаг может стать ответом на вопрос — Почему не отображается константа в интерфейсе?
  • Основная форма — форма из списка общих форм, которая установлена как основная для редактирования значения константы.

Видео по созданию и использованию констант:

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания — попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

Особенности реализации констант на уровне СУБД и 1С

Особенности условно можно разделить на два типа по версиям платформы 1С:

  • до релиза 8.2.14 — все константы в системе хранились в одной таблице. При изменении одной записи блокируется вся таблица. Необходимо быть очень аккуратным при использовании этого объекта метаданных;
  • после релиза 8.2.14 — для каждой константы сделали свою таблицу. Параллельность работы повысилась.

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Источник

1с добавить константу в настройку

Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.

Константы

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

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

Константы в языке 1С 8.3, 8.2 (в примерах)

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

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).

Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:

Источник

Программирование в 1С для всех

В платформе 1С 8.3 имеется объект метаданных Константы. Смысл констант в языке программирования 1С несколько другой, чем в других языках. В 1С константы хранят постоянную или условно постоянную информацию, которая редко изменяется. Здесь я опираюсь на слово «изменяется». Если в других языках программирования пользователь не может менять константу, то в платформе 1С имеется такая возможность, но по определению делать он это должен крайне редко. В этой статье мы будем учиться работать с константами: научимся создавать их, научимся работать с константами в командном интерфейсе 1С 8.3, узнаем, что такое форма констант и научимся программно обращаться к константе: получать значение константы и записывать константу.

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

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

После выполнения этой команды, константа будет создана, а в правой части рабочего стола откроется палитра свойств новой константы. Здесь мы можем указать название константы и её тип. Пусть наша первая константа будет называться НазваниеОрганизации (тип строка (200)).

Создадим еще несколько констант с примитивными типами.

Дата начала работы организации (тип Дата).

Процент налога на прибыль (тип число)

Константы в командном интерфейсе 1С

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

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

В моей учебной конфигурации имеется подсистема НСИ, в эту подсистему я и добавлю все новые константы

Сделать это можно двумя способами.

Первый. Открыть редактор нужной подсистемы, и на закладке Состав включить вхождение нужной константы в подсистему.

Второй. У константы вызвать контекстное меню, в котором выполнить команду «Дополнительно».

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

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

Разберем, почему они там оказались.

Во-первых, если мы войдем в командный интерфейс подсистемы НСИ, в которую я добавил все константы, то найдем их в группе команд «Панель действий. Сервис», в эту группу платформа поместила команды на открытие констант автоматически, после того, как мы добавили константы в подсистему.

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

Например, если мы снимем это свойство у константы «Процент налога на прибыль».

То команда на открытие этой константы исчезнет, как и из командного интерфейса подсистемы.

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

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

Форма констант 1С

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

Создадим форму констант. Для этого нужно выделить ветку метаданных Константы, вызвать контекстное меню, и выполнить команду «Создать форму констант…» этого меню.

Откроется конструктор общих форм.

Где советую обратить внимание на Тип Формы, и на свойство Использовать стандартные команды. Первое указывает, что это форма константа, а при установке второго будут созданы стандартные команды на открытие этой формы.

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

После того, как выбрали нужные константы, нажимаем кнопку Готово, и управляемая форма констант будет создана.

Замечу, что форма добавилась в ветку Общие формы ветки Общие дерева метаданных 1С.

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

В открывшемся окне включим форму констант в подсистему 1С.

Также эту форму можно добавить в подсистему, напрямую во время редактирования подсистемы.

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

Как в командном интерфейсе подсистемы в конфигураторе.

Так и в пользовательском режиме

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

Что делать, если форма уже создана, но позже добавили новую константу, например «ИНН Организации».

Тогда следует добавить новую константу на форму. Для этого, нужно открыть форму на редактирование, развернуть в закладке Реквизиты дерево НаборКонстант, найти в этом дереве новую константу и перетащить её в элементы формы.

Как получить константу 1С

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

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

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

Вы заметили, что с менеджером команды я работаю в серверном контексте (под директивой &НаСервереБезКонтекста, но можно использовать и директиву &НаСервере ). Это потому что менеджер констант имеете доступность Сервер, Толстый клиент и прочее «тяжелые» режимы. В тонком клиенте нельзя обратиться к менеджеру констант!

Установить значение константы

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

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

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

Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»

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

Книга написана понятным и простым языком — для новичка.

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

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

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

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

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

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


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

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Источник

Подсистема локальных констант для любой конфигурации

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

Для решения данной проблемы предлагаю Вашему вниманию подсистему локальных констант.

Константы хранятся в справочнике:

Для указания множества значений создана табличная часть. При получении множества значений данные выгружаются в массив. Получение константы выполняется в привелигерованном режиме с помощью функции «Получить» общего модуля «ЛК_Знч», поэтому для работы подсистемы пользователям без полных прав не требуется выдавать отдельные роли. Поиск константы выполняется по реквизиту «ИмяДляРазработчика».

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

Подсистема поставляется в виде cf файла, добавляется в конфигурацию через сравнение и объединение с основной конфигурацией.

Данная подсистема разрабатывалась и тестировалась на платформе 8.3.18.1128.

Обновление от 21.10.2020:

— поиск выполняется по реквизиту «ИмяДляРазработчика»

Скачать файлы

Специальные предложения

(2)Спасибо за подсказку по общему модулю, так будет оптимальнее.

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

Оптимизирую публикацию в ближайшее время.

(12) А, понял. То есть ты намекаешь на то, не проверяю ли я все сериализованные XML-тексты в настройках на наличие в них удаляемых ссылок? Ну конечно же нет. Я даже не представляю зачем это делать.

Ну, будет возвращаться битая ссылка, в случае физического удаления объекта, да. И что? Точно так же как настройки отчетов хранят в себе ссылки, и при физическом удалении объектов — ни как не крашат систему, никакого контроля за этим не существует. Для того потом и разработчик, чтобы проверять полученные значения на актуальность.

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

Как показывает практика: таких локальных констант в базе немного. Максимум несколько десятков.

Там что мешает завести ещё несколько десятков констант? И удобнее, и функциональнее. Возможность добавить значение только из режима пользователя не особо важно: их использовать приходится в подписках, проверках — т.е. всё равно конфу обновлять.

(14) Константы в sql хранятся в одной таблице.
Таблица из 370 строк — это очень маленькая таблица.

Плюсы:
1. При обновлении конфигурации своя константа не мешает.
2. В коде можно явно к ней обратится.
3. В коде видно прямое обращение к объекту (не функция, которая запросом где-то там ищет, а прямое).
4. Если не заполнено, вернёт пустую ссылку по типу значения — т.е. не упадёт при обращении к реквизиту.
5. При переносе конфы нужно только проинициализировать новое значение (это и в рекламируемой приблуде так же). Для программиста очень важно, ибо программируешь на одной базе, а в рабочую переносишь вечером (а то и ночью — мы же клиентоориентированные) — чем меньше телодвижений, тем лучше.

Минусы:
1. Нужно руками добавлять в конфу и монопольно её обновлять.
2. Нужно руками инициализировать первоначальное значение (это и в рекламируемой приблуде так же)

Кстати, в рекламирумой приблуде нужно писать везде заглушки — если не найдёт. Причём ничего универсального придумать нельзя, так как не всегда понятно какого типа ненайденное значение. Придётся через «Если НайденноеЗначение = Неопределено тогда . » А если это каскад вызываемых процедур, так ещё и тащить то что не найдено, чтобы везде прервать корректно.

(15)Так-то, с 8.2.14 на каждую константу создаётся отдельная таблица.

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

Удобство — не надо лупить объекты метаданных, при вычистке кода и настроек, не надо убивать объекты метаданных.

Поэтому, как альтернатива, может жить — почему бы нет? Очень часто бывает, что функционал запускается временно, и через короткое время выпиливается. Для этого константы добавлять/изменять может быть излишне.

Обновление 04.11.20 17:20

См. также

Вам нравятся запросы в 1С? Промо

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

03.07.2019 20742 4 m-rv 86

Интерактивная справка по объектам 1С (автономное расширение)

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

29.09.2020 6103 30 sapervodichka 33

Конвейер проверки качества кода

Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

04.09.2019 24934 22 Stepa86 45

Алгоритмы поиска пути в графе

Реализуем алгоритмы поиска пути в графе на платформе 1С 8.3, такие как алгоритм А*, поиск в ширину, жадный поиск, алгоритм Дейкстры и вконце волновой.

09.07.2019 17693 11 RonX01 10

ВСТАВИТЬ В Справочник.Номенклатура (Код, Наименование) ЗНАЧЕНИЯ («001», «Новый товар») Промо

Вас не обманывают ваши глаза, это запрос на изменение данных! И это работает без прямого доступа к БД, регистрации и смс.

01.06.2018 30569 86 m-rv 57

Работа с публикациями «Инфостарт»

Работа с рублевыми публикациями на сайте «Инфостарт»: ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.

13.09.2018 21846 13 RocKeR_13 16

HTTP Сервисы: Путь к своему сервису. Часть 3

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 2». В предыдущих частях мы использовали только Get, в этой части поговорим о других методах и длительных операциях.

27.08.2018 37853 56 dsdred 17

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

09.08.2018 28302 26 informa1555 26

Заполняем по шаблону (по умолчанию) Промо

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

08.02.2018 28412 19 mvxyz 17

Работа с данными выбора

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

17.07.2018 47922 17 kalyaka 16

Источник

Читайте также:  1с sql настройка shared memory
Adblock
detector
Наименование Файл Версия Размер