Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   v8.2 две ПОЧТИ одинаковые команды "Создать на основании" - куда деть клиентский код? (http://forums.kuban.ru/f1040/v8_2_dve_pochti_odinakovye_komandy_sozdat-_na_osnovanii_-_kuda_det-_klientskij_kod-4377889.html)

Uho 19.06.2013 16:59

v8.2 две ПОЧТИ одинаковые команды "Создать на основании" - куда деть клиентский код?
 
Есть документ, у него есть две команды "создать на основании" с одиночным параметром ДокументСсылка.БлаБлаБла

Команды соответственно создают на основании этого документа документ БлаБлаБла с некоторым отличием в его заполнении, а остальной клиентский код в ОбработкаКоманды() (да и серверный тоже) - одинаков

Собственно, вопрос: куда запихнуть этот код, дабы не дублировать его? Неужели только в общий клиентский модуль?

angro 19.06.2013 18:02

ну а просто
если типЗнч() = тип() тогда

иначе

КонецЕсли;
?

Reaper 19.06.2013 19:18

Стандарт вообще предполагает расположение алгорима в обработчике заполнения документа. Так что я даже и понять не могу толком, почему команды у тебя две, и почему код клиентский.

Uho 20.06.2013 09:36

1-angro > не понял...
2-Reaper > перед заполнением документа, нужно чтобы пользователь выбрал некоторые параметры, ну допустим, тупо значение из списка

angro 20.06.2013 10:54

(3) я тоже

Uho 20.06.2013 11:08

4-angro > :)))

У документа есть две команды типа "создать на основании":
"Создать документ с красным бантиком" и "Создать документ с зеленым бантиком"

Упрощенно в документе-основании есть список свойств, и перед заполнением документа (красного или зеленого) нужно выбрать одно из этих свойств, на основании которого будет заполняться документ (красный или зеленый).

Так вот, код выбора свойства - клиентский, он одинаков в двух командах, команды различаются только тем, что в процедуру заполнения документа передаются дополнительный параметр "красный бантик" или "зеленый бантик".

Не хотелось бы дублировать довольно большой кусок кода


Текущее время: 09:53. Часовой пояс GMT +3.