Имя: Пароль:
1C
1С v8
Создание разных объектов по условию (КД)
,
0 John83
 
14.12.16
14:44
Нужно чтобы при выгрузке реализации создавалась она же или передача товаров при выполнении условия.
В ПКО ПередВыгрузкой пишу

Если Источник.ПередачаВПереработку = Истина Тогда    
    ВыгрузитьПоПравилу(Источник,
                        Неопределено,
                        Неопределено,
                        Неопределено,
                        "ПередачаТоваров",
                        ,
                        ,
                        );    
КонецЕсли;

Но выгружается и реализация и переработка.
А как сделать, чтобы выгружалось что-то одно?
И дальше как сделать поиск по этому же условию?
1 Cool_Profi
 
14.12.16
14:48
Если Источник.ПередачаВПереработку = Истина Тогда    
    ВыгрузитьПоПравилу(Источник,
                        Неопределено,
                        Неопределено,
                        Неопределено,
                        "ПередачаТоваров",
                        ,
                        ,
                        );    
возврат;
КонецЕсли;
2 John83
 
14.12.16
14:50
(1) пишет
Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(10,9)}: Оператор Возврат (Return) не может употребляться вне процедуры или функции
3 Cool_Profi
 
14.12.16
14:51
Тогда так

Если Источник.ПередачаВПереработку = Истина Тогда    
    ВыгрузитьПоПравилу(Источник,
                        Неопределено,
                        Неопределено,
                        Неопределено,
                        "ПередачаТоваров",
                        ,
                        ,
                        );    
Иначе
  отказ = Истина;
КонецЕсли;
4 John83
 
14.12.16
14:54
(3) тогда не выгрузится реализация
5 mikecool
 
14.12.16
14:55
(4) эээ, добавь иначеесли и еще условие
6 Cool_Profi
 
14.12.16
14:55
(4) А такой большой мальчик...
ИначеЕсли ....
  ВыгрузитьПоПравилу...


или вообще, ИмяПКО = ""...
7 Жан Пердежон
 
14.12.16
14:57
пиши в ПВД
8 John83
 
14.12.16
15:13
(5)(6) для тех, кому мама не разрешает долго гулять
что писать в ИначеЕсли?

Если ПередачаВПереработку Тогда
ВыгрузитьПоПравилу("ПередачаВПереработку");
ИначеЕсли НЕ ПередачаВПереработку Тогда
// тогда что?
КонецЕсли
9 John83
 
14.12.16
15:16
(7) не пойму, как в ПВД обратиться к источнику
10 Cool_Profi
 
14.12.16
15:16
Если ПередачаВПереработку Тогда
ВыгрузитьПоПравилу("ПередачаВПереработку");
ИначеЕсли НЕ ПередачаВПереработку Тогда
ВыгрузитьПоПравилу("ИмяПравилаДляВыгрузкиНеВПерерабоку");
КонецЕсли

И или уже смотри "спокойной ночи"..
11 Defender aka LINN
 
14.12.16
15:17
(0) Сделай 2 ПКО и если выгружать *НЕ* нужно, то Отказ=Истина
Если документ выгружается по ссылке, то еще добавить установку нужного ПКО в свойствах.
А то, что в (0) и его вариации - выкинуть
12 John83
 
14.12.16
16:43
(11) ну да... так изначально и сделал - поэтому и создавалась и реализация и переработка
13 John83
 
14.12.16
16:45
еще одна проблема
в реализации договор с покупателем, а в переработке с поставщиком - тут тоже нужно создавать новое ПКО по переносу договора?
14 gorakh
 
14.12.16
16:48
(13) Да. Или юзай обработчик "после загрузки"
15 John83
 
14.12.16
16:54
(14) а что можно можно в ПослеЗагрузки сделать?
16 Азазелло
 
14.12.16
20:23
(0) Такие задачи в ПКО не решаются. Когда дело доходит до ПКО, хочется задать вопрос "Где ж раньше ты был!?" :)
На то и нужно ПВД, чтобы определять, что и по какому ПКО выгружать.
Доступ к Источнику в ПВД - через параметр Объект. (см. справку по обработчикам событий в КД 2.0)
17 Мимохожий Однако
 
14.12.16
20:33
(15) Удалить лишнее ))
18 John83
 
15.12.16
11:47
(16) как я понял, Объект - это выгруженный объект, т.к. на Объект.ПередачаВПереработку ругался, что не обнаружен ПередачаВПереработку.
С договором из (13) тоже посоветуешь новый ПКО создать?