Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Значение по умолчанию для справочника          
Log1c Подменю пользователя
сообщение 05.07.12, 16:58
Сообщение #1

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 178
Из: Харьков
Спасибо сказали: 27 раз
Рейтинг: 0

Задача:
Есть справочник Задачи.
У этого справочника есть реквизит Стадия, у которого тип ПеречислениеСсылка.Стадии
В Перечислении Стадии есть значения "Рассматривается", "Отложено".

Вопрос: как при создании новой Задачи, по умолчанию заполнить реквизит Стадия значением "Рассматривается".

Что пробовал:

1.
Процедура ОбработкаЗаполнения(Основание) 
    Объект.Стадия = Перечисления.Стадии.Рассматривается;
КонецПроцедуры

но, я так понял, эта процедура не вызывается при вводе нового элемента справочника.

2.
&НаСервере
Процедура ПолучитьЗначениеПеречисления()
    Если Объект.Ссылка.Пустая() Тогда
        Объект.Стадия = Перечисления.Стадии.Рассматривается;
    КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    ПолучитьЗначениеПеречисления();
КонецПроцедуры

так работает, но наверно можно сделать как-то элегантней.


Signature
1С:Предприятие 7.7 БУ + ТиС + ЗП и кадры 7.70.031 для Украины
1С:Предприятие 8.3 УТП для Украины 1.2.28.1 (обычные формы)

DartRomanius Подменю пользователя
сообщение 05.07.12, 17:31
Сообщение #2

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Свойства реквизита - Значение Заполнения.


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

Спасибо сказали: Log1c,

Vofka Подменю пользователя
сообщение 05.07.12, 18:55
Сообщение #3

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

Если делать так
Если Объект.Ссылка.Пустая() Тогда
        Объект.Стадия = Перечисления.Стадии.Рассматривается;
    КонецЕсли;

то этот код лучше вынести в ПриСозданииНаСервере, избавитесь от лишнего серверного вызова.

Спасибо сказали: Alik 87, Log1c,

DartRomanius Подменю пользователя
сообщение 06.07.12, 13:14
Сообщение #4

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Цитата(Vofka @ 05.07.12, 19:55) *
Если делать так
Если Объект.Ссылка.Пустая() Тогда
        Объект.Стадия = Перечисления.Стадии.Рассматривается;
    КонецЕсли;

то этот код лучше вынести в ПриСозданииНаСервере, избавитесь от лишнего серверного вызова.


Я конечно извиняюсь, а чем мой вариант хуже? smile.gif
Да и код писать вообще не надо.

ЗЫ: Перечисление то по умолчанию предопределенным является. Или я не прав?

Сообщение отредактировал DartRomanius - 06.07.12, 13:15


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

Vofka Подменю пользователя
сообщение 06.07.12, 13:24
Сообщение #5

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

Цитата(DartRomanius @ 06.07.12, 14:14) *
Я конечно извиняюсь, а чем мой вариант хуже?

Так я ж не говорю, что хуже smile.gif

Цитата(DartRomanius @ 06.07.12, 14:14) *
Перечисление то по умолчанию предопределенным является. Или я не прав?

Перечисление может быть только предопределенным. А вы это к чему? smile.gif

DartRomanius Подменю пользователя
сообщение 06.07.12, 13:30
Сообщение #6

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Ну мало-ли, вдруг где-то в дебри полез. smile.gif


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

Log1c Подменю пользователя
сообщение 07.07.12, 12:00
Сообщение #7

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 178
Из: Харьков
Спасибо сказали: 27 раз
Рейтинг: 0

Цитата(DartRomanius @ 05.07.12, 18:31) *
Свойства реквизита - Значение Заполнения.


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

Цитата(Vofka @ 05.07.12, 19:55) *
Если делать так
Если Объект.Ссылка.Пустая() Тогда
        Объект.Стадия = Перечисления.Стадии.Рассматривается;
    КонецЕсли;

то этот код лучше вынести в ПриСозданииНаСервере, избавитесь от лишнего серверного вызова.


&НаСервере
Процедура ПриСозданииНаСервере()
    Объект.Стадия = Перечисления.Стадии.Рассматривается;        
КонецПроцедуры


возможно что-то не учел, но у меня эта процедура не вызывается, отладчиком смотрел.

Сообщение отредактировал Vofka - 07.07.12, 12:28
Причина редактирования: Выделяем код


Signature
1С:Предприятие 7.7 БУ + ТиС + ЗП и кадры 7.70.031 для Украины
1С:Предприятие 8.3 УТП для Украины 1.2.28.1 (обычные формы)

Vofka Подменю пользователя
сообщение 07.07.12, 12:29
Сообщение #8

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

Цитата(Log1c @ 07.07.12, 13:00) *
возможно что-то не учел, но у меня эта процедура не вызывается, отладчиком смотрел.

Процедура возникает на сервере при создании формы.

Log1c Подменю пользователя
сообщение 07.07.12, 13:25
Сообщение #9

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 178
Из: Харьков
Спасибо сказали: 27 раз
Рейтинг: 0

Цитата(Vofka @ 07.07.12, 13:29) *
Процедура возникает на сервере при создании формы.


Это я понял из названия процедуры.

В модуль формы вписал этот код
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Объект.Стадия = Перечисления.Стадии.Рассматривается;
КонецПроцедуры


Далее создаю новый элемент справочника и смотрю заполнился ли реквизит Стадия . Он не заполнился.


Signature
1С:Предприятие 7.7 БУ + ТиС + ЗП и кадры 7.70.031 для Украины
1С:Предприятие 8.3 УТП для Украины 1.2.28.1 (обычные формы)

Vofka Подменю пользователя
сообщение 07.07.12, 13:51
Сообщение #10

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

Цитата(Log1c @ 07.07.12, 14:25) *
Далее создаю новый элемент справочника и смотрю заполнился ли реквизит Стадия . Он не заполнился.

Неужели и сообщение никакое не выводит, если там написать Сообщить("работает") ?

Log1c Подменю пользователя
сообщение 07.07.12, 15:31
Сообщение #11

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 178
Из: Харьков
Спасибо сказали: 27 раз
Рейтинг: 0

Цитата(Vofka @ 07.07.12, 14:51) *
Неужели и сообщение никакое не выводит, если там написать Сообщить("работает") ?


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


Signature
1С:Предприятие 7.7 БУ + ТиС + ЗП и кадры 7.70.031 для Украины
1С:Предприятие 8.3 УТП для Украины 1.2.28.1 (обычные формы)

Vofka Подменю пользователя
сообщение 09.07.12, 9:01
Сообщение #12

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

А почему не заполняется данными документ с таким кодом:

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
    
    ДанныеЗаполнения.Вставить("Контрагент", Справочники.Контрагенты.КонечныйПотребитель);
    ДанныеЗаполнения.Вставить("НачалоСеанса", ТекущаяДата());
    
КонецПроцедуры


?

faceoff.gif Заполнять из данных заполнения smile.gif .
Вопрос снят.

DartRomanius Подменю пользователя
сообщение 09.07.12, 9:41
Сообщение #13

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Цитата(Log1c @ 07.07.12, 13:00) *
Спасибо, эффективное решение.
Правда если надо заполнить реквизит типа Дата, значением ТекущаяДата() надо выворачивать по другому.



&НаСервере
Процедура ПриСозданииНаСервере()
    Объект.Стадия = Перечисления.Стадии.Рассматривается;        
КонецПроцедуры


возможно что-то не учел, но у меня эта процедура не вызывается, отладчиком смотрел.



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


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

Vofka Подменю пользователя
сообщение 09.07.12, 9:50
Сообщение #14

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

Цитата(DartRomanius @ 09.07.12, 10:41) *
Как не вызывается?

ТС разобрался с этим ответ выше smile.gif

alex040269 Подменю пользователя
сообщение 09.07.12, 12:12
Сообщение #15

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Цитата(Log1c @ 05.07.12, 17:58) *
Если Объект.Ссылка.Пустая() Тогда


Не эффективно - лучше использовать:
Если Объект.ЭтоНовый() Тогда



Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 19.04.24, 15:17
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!