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

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

Поле ввода как задать значение по умолчанию

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

1C Значение по умолчанию

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

Как в 1С установить значение по умолчанию для поле ввода

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

Как в 1С установить значение по умолчанию

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

установить значение по умолчанию для поле ввода

И написать в нем вот такую строчку кода.

Объект.ПолеВвода = "0001"
Как в  установить значение по умолчанию для поле ввода 1с

Результат будет тот же самый.

1С Поле ввода как установить значение по умолчанию

Как видите все достаточно просто. Вообще ситуации могут быть разные поэтому если что-то не получается обязательно напишите об этом.

(0) обычно пишут типовую обычную для всех документов процедуру и вызывают в ПриОткрытии()

   Если ЭтоНовый() Тогда // проверить объект на то, что он еще не внесен в ИБ

       // Заполнить реквизиты значениями по умолчанию.
       Если ЗначениеНеЗаполнено(ПараметрОснование) И ЗначениеНеЗаполнено(ПараметрОбъектКопирования) Тогда
           ЗаполнитьШапкуДокумента(ЭтотОбъект, глТекущийПользователь, мВалютаРегламентированногоУчета, «Покупка»);
       КонецЕсли;
       ЗаполнитьОбязательныеРеквизитыШапкиНовогоДокумента(ЭтотОбъект, глТекущийПользователь);

               УстановитьНомерДокумента(ЭтотОбъект);

   КонецЕсли;
//—————————————
Процедура ЗаполнитьШапкуДокумента(ДокументОбъект, ТекПользователь, ВалютаРегламентированногоУчета = Неопределено, ТипОперации = «») Экспорт

   Перем ТипЦен;
   Перем ОрганизацияПлательщикНДС;

   МетаданныеДокумента = ДокументОбъект.Метаданные();

   Если ЕстьРеквизитДокумента(«ОтражатьВНалоговомУчете», МетаданныеДокумента) Тогда

       ДокументОбъект.ОтражатьВНалоговомУчете = НЕ ПолучитьЗначениеПоУмолчанию(ТекПользователь, «НеОтражатьДокументыВНалоговомУчете»);

   КонецЕсли;

       Если ЕстьРеквизитДокумента(«ОтражатьВБухгалтерскомУчете», МетаданныеДокумента) Тогда

       //По умолчанию все документы требуют отражения в бухгалтерском учете
       ДокументОбъект.ОтражатьВБухгалтерскомУчете = Истина;

   КонецЕсли;
// и т.д.
КонецПроцедуры // ЗаполнитьШапкуДокумента()

Функция ЕстьРеквизитДокумента(ИмяРеквизита, МетаданныеДокумента) Экспорт

   Возврат НЕ (МетаданныеДокумента.Реквизиты.Найти(ИмяРеквизита) = Неопределено);

КонецФункции // ЕстьРеквизитДокумента()

Инициализация реквизитов при создании нового объекта

Один из методов упрощения работы пользователя — это заполнение реквизитов нового объекта (элемент справочник, документ) значениями по умолчанию. Реализовать заполнение реквизитов можно двумя способами:

  1. в обработчике события формы элемента — ПриСозданииНаСервере;
  2. в обработчике события объекта — ОбработкаЗаполнения.

Первый способ не рекомендуется использовать, но все-равно его рассмотрим. Создадим в модуле формы обработчик события ПриСозданииНаСервере. В обработчике проверим факт создания нового объекта, если объект новый, то произведем заполнение реквизитов.


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

// Если ссылка у объекта пустая, значит он еще не записан,
// а следовательно он является новым объектом.
ЭтоНовыйОбъект = Объект.Ссылка.Пустая();

// Если объект новый, то выполняем заполнение реквизитов.
Если ЭтоНовыйОбъект Тогда
Объект.Ответственный = Пользователи.ТекущийПользователь();
Объект.Комментарий = "Документ создан " + Формат(ТекущаяДата(), "ДФ=dd.MM.yyyy");
КонецЕсли;

КонецПроцедуры

Второй способ намного проще, т.к. он предусмотрен платформой и рекомендован к использованию. Создадим в модуле объекта обработчик события ОбработкаЗаполнения и напишем программный код по заполнению реквизитов объекта без каких-либо проверок, потому что данное событие возникает при интерактивном вводе нового объекта. Более подробное описание обработчика события см. в синтакс-помощнике.


Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)

ЭтотОбъект.Ответственный = Пользователи.ТекущийПользователь();
ЭтотОбъект.Комментарий = "Документ создан " + Формат(ТекущаяДата(), "ДФ=dd.MM.yyyy");

КонецПроцедуры

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

Заполнение полей формы по умолчанию

Автор Рустем Иманулов, 01 мар 2017, 11:23

0 Пользователей и 1 гость просматривают эту тему.

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


в свойствах документа задаешь в «вводится на основании», что основанием может быть такой-то элемент такого-то справочника. И потом в обработке заполнения в модуле объекта это обрабатываешь.


ПриСозданииНаСервере() и ПриКопировании() две различных процедуры и выполняются в различных местах. Первая на Форме, вторая в МодулеОбъекта.
ПриСозданииНаСервере()
    Если Объект.Ссылка.Пустая() Тогда
        Объект.Поле1Справочник = …..;
    КонецЕсли;
…..

Ну и
ПриКопировании()
    Объект.Поле1Справочник = …..;

….
Обратите внимание при копировании условие можно опустить.


Цитата: AsadRoman от 01 мар 2017, 13:17
ПриСозданииНаСервере() и ПриКопировании() две различных процедуры и выполняются в различных местах. Первая на Форме, вторая в МодулеОбъекта.
ПриСозданииНаСервере()
    Если Объект.Ссылка.Пустая() Тогда
        Объект.Поле1Справочник = …..;
    КонецЕсли;
…..

Ну и
ПриКопировании()
    Объект.Поле1Справочник = …..;

….
Обратите внимание при копировании условие можно опустить.

Объект.Поле1МойСправочник = МоёПоле *;  Я правильно понял?   В процедуре ПриКопировании ругается что переменная «Объект» не определена.


Спасибо за Сказать спасибо


Спасибо!Разобрался.

Объект.МОЕПОЛЕ=Справочники.МОЙСПРАВОЧНИК.НайтиПоКоду(«000000001») 

Добавлено: 02 мар 2017, 14:59


То же самое немогу сделать с Перечислениями.
Как Тащить значение из Перечислений в поле-аналогично


Перечисления[«Важность»][«Высокая»]

Спасибо за Сказать спасибо


Содержание:

1.     Установка значения по умолчанию в 1С

2.     Автоматическое заполнение в 1С 

1.    Установка значения по умолчанию в 1С

Для удобства и оперативности в конфигурации 1С: Бухгалтерия 8 есть возможность указания значения реквизитов по умолчанию. Настроить значение по умолчанию в 1С 8 Бухгалтерия, редакция 3.0 можно у таких реквизитов как:

·          Организация

·          Подразделение

·          Склад

·          Статья движения денежных средств

·          Статья затрат

Как задать значение по умолчанию? Для этого в разделе Главное – Настройки – Персональные настройки можно установить для пользователя основные организацию, подразделение и склад:


Персональные настройки в конфигурации 1С Бухгалтерия 8


 

Заполнение персональных настроек в конфигурации 1С Бухгалтерия 8

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

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

2.    Автоматическое заполнение в 1С

Можно также настроить автоматическое заполнение статей движения денежных средств в 1С Бухгалтерия 8. Для автоматического заполнения в 1С Бухгалтерия в карточке статьи необходимо указать в каких операциях эта статья будет устанавливаться автоматически:

Настройка автоматического заполнения в конфигурации 1С Бухгалтерия 8

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

Можно также в справочнике статей движения денежных средств перейти на закладку Основные статьи и указать какие статьи по умолчанию будут устанавливаться в документах при том или ином виде операции:

Справочник Статьи движения денежных средств в конфигурации 1С Бухгалтерия 8

При попытке установить одну и ту же статью в разных видах операций конфигурация 1С Бухгалтерия 8 выдаст ошибку.

В статье затрат также есть возможность указать в каких документах будет стоять по умолчанию эта статья:

Настройка статей затрат в конфигурации 1С Бухгалтерия 8 

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

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

Наталья Януш

38 / 38 / 25

Регистрация: 14.12.2009

Сообщений: 202

1

Значение по умолчанию

16.02.2011, 16:03. Показов 21522. Ответов 9


Добрый день, тока начинаю осваивать 1С, начал сразу с 8ки

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



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

16.02.2011, 16:03

Ответы с готовыми решениями:

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

-Создайте функцию с двумя аргументами,…

Как сделать значение по умолчанию для параметра, если оно должно быть значением по умолчанию для типа T?
Как сделать значение по умолчанию для параметра, если оно должно быть значением по умолчанию для…

Значение полей по умолчанию : «нет значения поля по умолчанию»; «Null»;»0″
Форумчане, доброго времени суток!
Подскажите. пожалуйста, как правильно указывать значение поля по…

Значение по умолчанию
Имеется БД, в ней есть поле для заполнение "Заказ №" , в которое данные вводится по маске, и там…

9

308 / 308 / 1

Регистрация: 16.01.2011

Сообщений: 1,073

16.02.2011, 16:24

2

тут книжки посмотри



0



38 / 38 / 25

Регистрация: 14.12.2009

Сообщений: 202

16.02.2011, 16:31

 [ТС]

3

Цитата
Сообщение от fimbulwinter
Посмотреть сообщение

тут книжки посмотри

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



0



308 / 308 / 1

Регистрация: 16.01.2011

Сообщений: 1,073

16.02.2011, 16:45

4

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



0



38 / 38 / 25

Регистрация: 14.12.2009

Сообщений: 202

16.02.2011, 16:47

 [ТС]

5

Цитата
Сообщение от fimbulwinter
Посмотреть сообщение

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

Управление торговлей 10.2



0



308 / 308 / 1

Регистрация: 16.01.2011

Сообщений: 1,073

16.02.2011, 17:11

6

Сервис->Настройки пользователя->Настройки->Основные значения для подстановки в документы и справочники->Прочие значения->Основная организация



0



smatch

38 / 38 / 25

Регистрация: 14.12.2009

Сообщений: 202

16.02.2011, 17:39

 [ТС]

7

Цитата
Сообщение от fimbulwinter
Посмотреть сообщение

Сервис->Настройки пользователя->Настройки->Основные значения для подстановки в документы и справочники->Прочие значения->Основная организация

Сервис->Настройки пользователя->Настройки->Основные значения для подстановки в документы и справочники->
а дальше нет прочих значений, но конфигурация тут изменена очень сильно от стандартной.

можно ли в конфигурации это сделать?

1C
1
2
3
4
5
Процедура ПриОткрытии()
    Если Организация.Значение=Неопределено Тогда
       Организация.Значение="Д";
    КонецЕсли;
КонецПроцедуры

результатов не дал



0



308 / 308 / 1

Регистрация: 16.01.2011

Сообщений: 1,073

16.02.2011, 17:54

8

зачем? существуют общие механизмы, рабочие.
ну если так интересно то вообще то Организация это ссылка на объект справочника Организаций.
Тогда при открытии Организация = Справочник.Организации.НайтиПоНаименованию(«Damage inc.»), либо Организация = Справочник.Организации.НайтиПоКоду(«00000001»)
как то так



0



38 / 38 / 25

Регистрация: 14.12.2009

Сообщений: 202

16.02.2011, 21:21

 [ТС]

9

Цитата
Сообщение от fimbulwinter
Посмотреть сообщение

зачем? существуют общие механизмы, рабочие.
ну если так интересно то вообще то Организация это ссылка на объект справочника Организаций.
Тогда при открытии Организация = Справочник.Организации.НайтиПоНаименованию(«Damage inc.»), либо Организация = Справочник.Организации.НайтиПоКоду(«00000001»)
как то так

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

Сервис->Настройки пользователя->Настройки->Основные значения для подстановки в документы и справочники->Прочие значения->Основная организация

для конфигурации с которой я столкнулся, неприменимо



0



308 / 308 / 1

Регистрация: 16.01.2011

Сообщений: 1,073

16.02.2011, 21:39

10

а что если завтра у тебя добавится организация(изменится наименование, код), которая будет дефолтно выбераться в документы? Будешь переписывать все модули?



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

16.02.2011, 21:39

Помогаю со студенческими работами здесь

Значение по умолчанию
Вопрос абсолютного новичка. Пытаюсь программировать на HTML и JavaScript буквально со вчерашнего…

Значение по умолчанию
В C++ можно устанавливать встроенным типам данных значения по умолчанию вот таким способом:
int i…

Значение по умолчанию
Не получается значение по умолчанию, которое должно быть от текущей даты + 4 года.
пишу…

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

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

10

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

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

Предположим, что при добавлении строки в таблицу формы ТаблицаПредложений нужно заполнять реквизит таблицы ИдентификаторСтроки представлением уникального идентификатора. Пример кода процедуры обработки события ПриНачалеРедактирования:

&НаКлиенте
Процедура ТаблицаПредложенийПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)   	
            	//Получаем текущую строку таблицы
            	ТекСтрока = Элемент.ТекущиеДанные;
//Проверяем, что текущая строка определена и это новая строка таблицы
            	Если ТекСтрока <> Неопределено
                           	И НоваяСтрока Тогда
                           	//Устанавливаем значение по умолчанию
                           	ТекСтрока.ИдентификаторСтроки = Строка(Новый УникальныйИдентификатор);
            	КонецЕсли;                   	
КонецПроцедуры

Эту статью хорошо дополняют

Понравилась статья? Поделить с друзьями:
  • 1с изменить реквизиты в нескольких документах
  • 1с как получить типы реквизитов по метаданным
  • 1с найти по реквизиту неверно указан реквизит
  • 1с обработка выбора дополнительного реквизита
  • 1с обработка изменение реквизитов справочника