Имя: Пароль:
1C
1С v8
КД 2.0 Запустить процедуру обработки выбора после загрузки
,
0 Aswed
 
05.04.19
14:54
Загружаю данные в БП 3. Заполняю реквизиты и есть реквизит заполнение которого зависит от того как заполнен другой реквизит. Соответственно при выборе первого реквизита конфа сама подбирает и подставляет во второй реквизит верное значение.
Хочу что бы после загрузки и заполнения первого реквизита выполнялась процедура обработки его выбора, которая сама и заполняла второй реквизит.
Теперь главное.
КАК!? это сделать????
Пол дня уже ломаю голову ни могу найти способ.
1 OldCondom
 
05.04.19
14:56
>> КАК!? это сделать????
запустить процедуру обработчика "при выборе первого реквизита"
2 Aswed
 
05.04.19
14:56
(1)  запустить процедуру обработчика "при выборе первого реквизита" - как это сделать при загрузке данных через универсальный обмен?
3 OldCondom
 
05.04.19
14:58
(2) вызвать эту процедуру к примеру в "После записи".
4 OldCondom
 
05.04.19
14:59
если метод клиентский - переписать на серверное исполнение. Что-то мне подсказывает, там плевое дело.
5 Aswed
 
05.04.19
15:00
(3)

Вот эта процедура, в форме документа

&НаКлиенте
Процедура НалогПриИзменении(Элемент)
    
    СписаниеСРасчетногоСчетаФормыКлиент.ИнициализироватьСвойстваПлатежа(ЭтотОбъект); // Только создаем структуру, если она еще не создана.
    
    Если ЗначениеЗаполнено(Объект.Налог) Тогда
        НалогПриИзмененииНаСервере(Новый Массив, СтрокаПоискаПоКБК);
    Иначе
        ЭтоУплатаНДФЛ = Ложь;
    КонецЕсли;
    ОтобразитьГиперссылкуПерейтиВТаблицу();
    
КонецПроцедуры


Как прописать её запуск в КД после записи?
6 OldCondom
 
05.04.19
15:01
Объект.НалогПриИзмененииНаСервере(Новый Массив, СтрокаПоискаПоКБК);
7 OldCondom
 
05.04.19
15:02
ой. Даже не надо Объект писать
8 OldCondom
 
05.04.19
15:02
НалогПриИзмененииНаСервере(Новый Массив, СтрокаПоискаПоКБК); - скопируй ее в обработчик КД и вызывай.
9 OldCondom
 
05.04.19
15:03
или еще проще - посмотри, что там вообще делается и реализуй эти изменения в обработчике "После записи".
10 Aswed
 
05.04.19
15:09
(9) Да я как бы так и сделал. Там хренова тонна чего пришлось переносить. Потому что половина на сервере а половина на клиенте считалось. Отсюда и возник вопрос, хочется запускать тупо одну процедуру, без вот этих переписывания.
11 OldCondom
 
05.04.19
15:13
Значит что-то не так делал. Все свистелки с изменениями чего-то при изменении другого как правило вынесены в экспорт в различных модулях, как правило общих. Если много чего пришлось переделывал, значит взял лишнего мусора.
Пример - проставить счету бух учета в ТЧ документов. Можно городить 3 этажа из говна и палок, а можно найти конечную процедуру в общем модуле.
12 OldCondom
 
05.04.19
15:14
Что за конфа?
13 OldCondom
 
05.04.19
15:14
а, бп3, вижу
14 OldCondom
 
05.04.19
15:23
Ну и что ты заливаешь?
Процедура НалогПриИзмененииНаСервере(Форма, ПричиныИзменения, СтрокаПоискаПоКБК) Экспорт

Модуля "СписаниеСРасчетногоСчетаФормы". Скопируй и удали все телодвижения именно с Формой, оставь только с Объект.
15 Aswed
 
05.04.19
15:25
(14) Так я это и сделал то в итоге. Но блин хочется же простоты)))) Вызов одной процедуры и вперед)
16 OldCondom
 
05.04.19
15:28
Увы, такого не будет. Понимаю о чем ты, хочется чтобы все делалось как в форме, когда пользователь кликает, не вдаваясь в подробности, что именно там изменяется. Но фиг.
Правда когда долго ковыряешься в конфе, уже понимаешь, какие реквизиты нужны и где они заполняются и надо ли их трогать. Там уже проще.
17 Aswed
 
05.04.19
15:29
(16) Да)))) Именно этого хотелось.
Жаль не выйдет(