|
|
|||
dizpers
09.05.12 — 20:38 |
Значение по-умолчанию для поля ввода можно задать только программно? Или где-то в конфигураторе можно указать? |
||
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С:Предприятие • Документ • Заполнять из данных заполнения • Значение заполнения • Обработка заполнения
-
На управляемой форме создаю поле ввода — список значений, заполняю список выбора этого поля значениями. При открытии формы это поле пустое, оно заполняется, только после интерактивного выбора значения… Подскажите, пожалуйста, как сделать так, чтобы поле уже было заполнено определенным значением из списка выбора при открытии?
Собственно код:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ЭтаФорма.Элементы.Месяц.СписокВыбора.Очистить();
ЭтаФорма.Элементы.Месяц.СписокВыбора.Добавить(«Январь»);
ЭтаФорма.Элементы.Месяц.СписокВыбора.Добавить(«Февраль»);
ЭтаФорма.Элементы.Месяц.СписокВыбора.Добавить(«Март»);И дальше…?
КонецПроцедуры
Как сделать на форме поле выбора, заполненным по умолчанию, скажем, значением «Январь»? Большое спасибо.
-
Offline
alexburn
Модераторы
Команда форума
Модератор- Регистрация:
- 5 янв 2009
- Сообщения:
- 15.150
- Симпатии:
- 560
- Баллы:
- 204
Реквизит формы или объекта ?
-
Offline
nomad_irk
Гуру в 1С- Регистрация:
- 20 окт 2008
- Сообщения:
- 9.889
- Симпатии:
- 1.029
- Баллы:
- 204
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Элементы.Месяц.СписокВыбора.Добавить("Январь"); Элементы.Месяц.СписокВыбора.Добавить("Февраль"); Элементы.Месяц.СписокВыбора.Добавить("Март"); ....сколько нужно месяцев.... Месяц(это не поле на форме, а реквизит формы с типом "строка") = Элементы.Месяц.СписокВыбора[0].Значение;//Январь КонецПроцедуры
Последнее редактирование: 1 июл 2015 -
Ошибка:
Поле объекта не обнаружено (Значение)
Элементы.Месяц.Значение = Элементы.Месяц.СписокВыбора[0].Значение;— Объединение сообщений, 1 июл 2015 —
Почему-то у списка Месяц нет реквизита Значение…(
-
Offline
nomad_irk
Гуру в 1С- Регистрация:
- 20 окт 2008
- Сообщения:
- 9.889
- Симпатии:
- 1.029
- Баллы:
- 204
-
Огромное Вам спасибо! Все получилось!
- Похожие темы
-
- Ответов:
- 22
- Просмотров:
- 24.604
38 / 38 / 25 Регистрация: 14.12.2009 Сообщений: 202 |
|
1 |
|
Значение по умолчанию16.02.2011, 16:03. Показов 21520. Ответов 9
Добрый день, тока начинаю осваивать 1С, начал сразу с 8ки в общем вопрос простой. В накладной вводиться название своей организации, и каждый раз приходиться выбирать ее из справочника.
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
16.02.2011, 16:03 |
Ответы с готовыми решениями: Создать функцию с двумя аргументами, имеющими значение по умолчанию; вывести на экран значения по умолчанию -Создайте функцию с двумя аргументами,…
Значение полей по умолчанию : «нет значения поля по умолчанию»; «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 |
тут книжки посмотри спасибо, гуглить книжки умею, но видимо вы не внимательно читали, я не просил помочь мне с книгами. Просил помочь со значением по умолчанию, спасибо за заботу )
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 |
на здоровье. Вообще то не плохо было бы определиться с наименованием конфигурации.. Управление торговлей 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 |
|||
Сервис->Настройки пользователя->Настройки->Основные значения для подстановки в документы и справочники->Прочие значения->Основная организация Сервис->Настройки пользователя->Настройки->Основные значения для подстановки в документы и справочники-> можно ли в конфигурации это сделать?
результатов не дал
0 |
308 / 308 / 1 Регистрация: 16.01.2011 Сообщений: 1,073 |
|
16.02.2011, 17:54 |
8 |
зачем? существуют общие механизмы, рабочие.
0 |
38 / 38 / 25 Регистрация: 14.12.2009 Сообщений: 202 |
|
16.02.2011, 21:21 [ТС] |
9 |
зачем? существуют общие механизмы, рабочие. спс завтра попробую. Сервис->Настройки пользователя->Настройки->Основные значения для подстановки в документы и справочники->Прочие значения->Основная организация для конфигурации с которой я столкнулся, неприменимо
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 |
Помогаю со студенческими работами здесь Значение по умолчанию Значение по умолчанию
Значение по умолчанию Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 10 |