Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 07:58

Помогите Расширением заполнить поле ввода значением по умолчанию

Автор Sanches_de_la_Vega, 19 авг 2022, 11:05

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

Sanches_de_la_Vega

Помогите, пожалуйста.
В БП 3.0 последний релиз.
Задача в документе ПоступлениеНаРасчетныйСчет в форме ФормаДокументаОднострочная реквизит поля ввода СпособПогашенияЗадолженности с типом ПеречислениеСсылка.СпособыПогашенияЗадолженности, при открытии установить в значение "По документу".
Сделать это расширением конфигурации.

antoneus


Sanches_de_la_Vega

Там обработка автозаполнения, если СпособПогашенияЗадолженности по документу, то выпадает поле выбора - Сделка, где выбирается документ соответствующий договору. Я делаю ПриОткрытииПосле в модуле формы:
Объект.СпособПогашенияЗадолженности = Перечисления.СпособПогашенияЗадолженности.НайтиПоНпименованию("По документу");
Вот это не получается.

LexaK

Sanches_de_la_Vega, так вот же у вас ошибка!!!
ЦитироватьПеречисления.СпособПогашенияЗадолженности.НайтиПоНпименованию("По документу");

НайтиПоНпименованию - написано с ошибкой!

(да, и очень трудно будет вам помочь, так как у нас нет, такой, вашей платформы, которая позволяет искать перечисление по имени!!!  :xfbnsdfb:  )
если помогло нажмите: Спасибо!

Sanches_de_la_Vega

Я так понимаю это сарказм???)))
Это я при написании ошибся. А как искать перечисление, по индексу?

LexaK

Sanches_de_la_Vega, а в расширение перетащили это перечисление?
а на клиенте для получения перечисления надо использовать функцию ПредопределенноеЗначение(...)  см. СП
если помогло нажмите: Спасибо!

Sanches_de_la_Vega

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

ls600

Sanches_de_la_Vega, в расширении попробуйте написать такой код
&НаСервере
Процедура Расш1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)

Если Параметры.Ключ.Пустая() Тогда //Если документ новый

РасшифровкаПлатежаСпособПогашенияЗадолженности = Перечисления.СпособыПогашенияЗадолженности.ПоДокументу;

ПоступлениеНаРасчетныйСчетФормыКлиентСервер.ВидимостьДоступностьПолейПриИзмененииСпособаПогашения(ЭтаФорма); //Видимость Поля сделка

КонецЕсли;

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


Этот код сработает если организация подставляется автоматически. Иначе придется искать другой вариант. Так же обратите внимание что табличная часть не используется.
Поле Организация не заполнена т.к в базе используются несколько организаций.

Sanches_de_la_Vega

ls600, Спасибо огромнейшее, я бы еще не скоро добрался бы до этой процедуры: ВидимостьДоступностьПолейПриИзмененииСпособаПогашения(ЭтаФорма), я про нее ни чего не знал. Теперь мне осталось заполнить Сделку в соответствии с ДоговоромКонтрагента, но это я сначала сам измучаюсь и если не получится взову к помощи. Еще раз, спасибо за помощь.

Sanches_de_la_Vega

Рано я порадовался, СпособыПогашенияЗадолженности.ПоДокументу ПриСозданииНаСервере заполняется, но стоит изменить значение любого другого поля, опять устанавливается значение "Автоматически"

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск