Имя: Пароль:
1C
1С v8
обращение по ссылкам
0 Avtokrator
 
08.08.13
11:54
Доброго времени суток, уважаемые мастера.
Довожу до ума УПП.
Подставляю расписание в Расходный кассовый ордер.\

Процедура ПриходныйКассовыйОрдерОбработкаЗаполнения(Источник, ДанныеЗаполнения, СтандартнаяОбработка) Экспорт
    #Если Клиент Тогда
                  Источник.СтатьяДвиженияДенежныхСредств = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "СтатьяДвиженияДенежныхСредств");
    
    #КонецЕсли
КонецПроцедуры


Но при таком коде значение в форму подставляется только после записи... как обратиться к открытой форме, но еще не сохраненной, через "Источник" ?
1 Maxus43
 
08.08.13
11:59
Ничего не понял. Первоначальное заполнение нового документа недостающими полями делается при Открытии формы, там даже в типовой процедуры эти есть. Но никак не в обработке заполнения, да ещё с инструкциями препроцессору
2 cw014
 
08.08.13
12:00
Рукалицо
3 Maxus43
 
08.08.13
12:02
и это... меняешь реквизит у ИСТОЧНИКА???? это новое слово в программированиии?
4 Maxus43
 
08.08.13
12:04
всё, я запутался. У процедуры ОбработкаЗаполнения 2 параметра вобще. Это подписка чтоли? тогда ладно
5 Maxus43
 
08.08.13
12:07
суть - интерактивные вещи пихай в процедуру формы

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

        // Заполнить реквизиты значениями по умолчанию.
        ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ЭтотОбъект);

    КонецЕсли;
6 Avtokrator
 
08.08.13
12:09
(4) Да, подписка.
(5) Спасибо, мысль понял, сейчас проверю.
7 ИС-2
 
naïve
08.08.13
12:17
(1) а чего нет? Событие вызывается при создании нового элемената, интекративно. Какой смысл делать заполнение в форме, если можно в модуле объекта?
8 ИС-2
 
naïve
08.08.13
12:18
(1) а инструкция он правильно поставил. На сервере ГЛ... не доступно
9 Maxus43
 
08.08.13
12:19
(7) для этого есть свои специализированные общие процедуры. В одном месте лучше всё писать, чем потом по подпискам искать и в других местах
10 Maxus43
 
08.08.13
12:20
(8) я не говорю что неправильно, это просто неправильное место, если цель довести типовую до ума.
Процедура  ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ЭтотОбъект); несёт данную функцию
11 Avtokrator
 
08.08.13
13:39
ЭлементыФормы.РасшифровкаПлатежа.ТекущиеДанные.СтатьяДвиженияДенежныхСредств = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "СтатьяДвиженияДенежныхСредств");
        
В форме вытащил так...
12 Maxus43
 
08.08.13
13:40
РасшифровкаПлатежа это ТЧ, туда и добавляй, не надо через элементы формы
13 Maxus43
 
08.08.13
13:40
у тебя будет криво работать, если в ТЧ несколько строк
14 Avtokrator
 
08.08.13
13:44
косяк свой понял, спасибо!
Ошибка? Это не ошибка, это системная функция.