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

  Маркет42 - Место для твоих разработок  

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

Я
   dizpers

09.05.12 — 20:38

Значение по-умолчанию для поля ввода можно задать только программно? Или где-то в конфигураторе можно указать?

  

Партнерская программа EFSOL Oblako

   Rizhij_Nikitos

1 — 09.05.12 — 20:39

В конфигураторе в свойствах поля можно это вроде сделать ..

   kosts

2 — 09.05.12 — 21:06

(0) в при открытии

если этоновый() тогда

   мойреквизит == «значение по умолчанию»;

конецесли;

   dizpers

3 — 09.05.12 — 21:06

Подскажи, где именно в свойствах это можно задать? Я что-то в упор не вижу.

   dizpers

4 — 09.05.12 — 21:07

(3) относится к (1)

   dizpers

5 — 09.05.12 — 21:08

(2) так вопрос собственно такой — можно ли где-то в свойствах объекта это указать, или только программно

   kosts

6 — 09.05.12 — 21:11

(5) вроде нету

   dizpers

7 — 09.05.12 — 21:21

Спасибо! Видимо только программно можно задать:)

Еще вопрос по (2) — мне нужна задать значение в поле ввода на форме документа, поле ввода связано с реквизитом формы. Нужно ли в этом случае делать проверку этоновый() ?

   Vahe

8 — 09.05.12 — 21:28

8.1 или 8.2?

   dizpers

9 — 09.05.12 — 21:33

(8) 8.1

PS

сделал просто

ЭлементыФормы.ПолеВвода.Значение = 10;

   echo77

10 — 09.05.12 — 21:46

(9) Если у поля ввода определено свойство «Данные», то то что вы пишите — это расово-неправильное решение

   dizpers

11 — 09.05.12 — 21:47

(10) Да, поле «Данные» определено. То есть лучше напрмую изменять значение прикрепленной переменной?

   m-serg74

12 — 09.05.12 — 22:04

Значение для заполнения этого поля по умолчанию — не то?

  

hhhh

13 — 10.05.12 — 00:35

(11) так это же одна и та же переменная. Только запись в 3 раза короче.

Частая задача — сделать так, чтобы форма нового объекта открывалась не «пустая», а уже заполненная некоторыми начальными данными. Для самых простых случаев можно использовать свойство ЗначениеЗаполнения, которое есть у реквизитов объектов конфигурации. В более сложных случаях можно использовать свойство ЗаполнятьИзДанныхЗаполнения. Если ни тот, ни другой способы не подходят, на встроенном языке можно описать собственный алгоритм начального заполнения данных нового объекта.

Свойство ЗначениеЗаполнения

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

У реквизитов объектов конфигурации существует свойство ЗначениеЗаполнения. Реквизит Склад имеет тип ссылки на справочник Склады, а в справочнике Склады существует предопределенный элемент ГлавныйСклад. Тогда прямо в конфигураторе можно указать, что в новых документах реквизит Склад будет сразу же заполнен ссылкой на ГлавныйСклад:

Cвойство ЗаполнятьИзДанныхЗаполнения

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

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

Собственный алгоритм заполнения реквизитов

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

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
                
     Если ДанныеЗаполнения = Неопределено Тогда 
          // «Простой» ввод нового объекта
                               
     ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("СправочникСсылка.Поставщики") Тогда 
          // Новый объект вводится на основании другого объекта. 
          // В этом случае в данные заполнения передается ссылка на объект, являющийся основанием.
          // В данном случае обрабатывается ввод на основании элемента справочника Поставщики.
                               
     ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда
          // Новый объект вводится командой из отобранного списка.
          // В данных заполнения будет структура, содержащая значения отбора:
          // «Поставщик» — СсылкаНаПоставщика
          // «Склад» — СсылкаНаСклад
                               
     КонецЕсли;
                               
КонецПроцедуры

Параметр СтандартнаяОбработка позволяет управлять дальнейшим развитием событий. Если ему присвоить значение Ложь, то никаких других действий по заполнению реквизитов формы платформа предпринимать не будет, а сразу создаст форму и вызовет ее серверное событие ПриСозданииНаСервере.

Если же не менять стандартное значение этого параметра, то после выхода из этого обработчика платформа попытается самостоятельно заполнить реквизиты объекта, подлежащие заполнению. Незаполненными она будет считать те реквизиты, которые имеют стандартное значение своего типа. Например, для типа Число это значение 0, для типа Строка — пустая строка, а для типа Ссылка — пустая ссылка.

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

  • Реквизит заполнен — сразу будет вызван обработчик события ПриСозданииНаСервере.
  • Реквизит не заполнен — платформа попытается заполнить его из ДанныеЗаполнения. После этого снова проверит, заполнен реквизит или нет:
    • Реквизит заполнен — сразу будет вызван обработчик события ПриСозданииНаСервере.
    • Реквизит не заполнен — платформа попытается заполнить его из ЗначениеЗаполнения. После этого будет вызван обработчик события ПриСозданииНаСервере.

Поиск:
1С:Предприятие • Документ • Заполнять из данных заполнения • Значение заполнения • Обработка заполнения

  1. На управляемой форме создаю поле ввода — список значений, заполняю список выбора этого поля значениями. При открытии формы это поле пустое, оно заполняется, только после интерактивного выбора значения… Подскажите, пожалуйста, как сделать так, чтобы поле уже было заполнено определенным значением из списка выбора при открытии?
    Собственно код:
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    ЭтаФорма.Элементы.Месяц.СписокВыбора.Очистить();
    ЭтаФорма.Элементы.Месяц.СписокВыбора.Добавить(«Январь»);
    ЭтаФорма.Элементы.Месяц.СписокВыбора.Добавить(«Февраль»);
    ЭтаФорма.Элементы.Месяц.СписокВыбора.Добавить(«Март»);

    И дальше…?

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

    Как сделать на форме поле выбора, заполненным по умолчанию, скажем, значением «Январь»? Большое спасибо.


  2. alexburn

    Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

    Реквизит формы или объекта ?


  3. nomad_irk

    Offline

    nomad_irk
    Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.889
    Симпатии:
    1.029
    Баллы:
    204

    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Элементы.Месяц.СписокВыбора.Добавить("Январь");
    Элементы.Месяц.СписокВыбора.Добавить("Февраль");
    Элементы.Месяц.СписокВыбора.Добавить("Март");
    ....сколько нужно месяцев....
    
    Месяц(это не поле на форме, а реквизит формы с типом "строка") = Элементы.Месяц.СписокВыбора[0].Значение;//Январь
    
    КонецПроцедуры
    Последнее редактирование: 1 июл 2015
  4. Ошибка:
    Поле объекта не обнаружено (Значение)
    Элементы.Месяц.Значение = Элементы.Месяц.СписокВыбора[0].Значение;

    — Объединение сообщений, 1 июл 2015

    Почему-то у списка Месяц нет реквизита Значение…(


  5. nomad_irk

    Offline

    nomad_irk
    Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.889
    Симпатии:
    1.029
    Баллы:
    204

  6. Огромное Вам спасибо! Все получилось!-Cat-

Похожие темы

  1. Garnet27
    Ответов:
    22
    Просмотров:
    24.604


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

38 / 38 / 25

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

Сообщений: 202

1

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

16.02.2011, 16:03. Показов 21520. Ответов 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

Понравилась статья? Поделить с друзьями:

Другие крутые статьи на нашем сайте:

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии