Имя: Пароль:
1C
 
Вопрос по КД. Передача значений из одного ПКС в другое
,
0 memogolik
 
14.12.15
10:03
Есть ПКО по переносу справочника номенклатура.
(источника в обоих ПКС нет, только приемник)
1ое ПКС хранит оборотную тару
2ое ПКС хранит булевский флаг по оборотной таре(ведется учет или нет),
В первом ПКС получаю номенклатуру запросом.  
После в зависимости от того, есть ли значение в запросе хочу установить во второе ПКС истина или ложь.
Подскажите, как это можно сделать? Можно ли переменную из одного ПКС передать в другой? Как это сделать?
Заранее спасибо за ответы.
1 Cyberhawk
 
14.12.15
10:07
Покажи на картинке взаимосвязь твоих двух ПКС
2 memogolik
 
14.12.15
10:10
(1) Если первое ПКС переносит непустое значение заполнено, то второе ПКС должно перенести Истина, иначе ЛОЖЬ.
3 Cyberhawk
 
14.12.15
10:10
Эти два ПКС принадлежат одному ПКО?
4 memogolik
 
14.12.15
10:11
да
5 echo77
 
14.12.15
10:12
Перед выгрузкой

Значение = ЗначениеЗаполнено(Источник.ПредыдущийРеквизит)
6 memogolik
 
14.12.15
10:14
(5) в обоих ПКС нет источника, только приемник
7 Cyberhawk
 
14.12.15
10:15
(6) То что в ПКС нет источника влияет на значение переменной "Значение", а в переменной "Источник" будет находиться объект-источник ПКО
8 Cyberhawk
 
14.12.15
10:16
Ну а чтоб передать из одного ПКС в другой переменную, в объект-источник ПКО загони ее в доп. свойства
9 memogolik
 
14.12.15
10:18
(8) можно примерчик или ссылочку?

Ошибка в обработчике события ПередВыгрузкой (свойства)
    ПКО                    =  Номенклатура  (Справочник: Номенклатура)
    ПКС                    =  23  (--> ПоставляетсяВМногооборотнойТаре)
    Объект                 =  Мороженое  (Номенклатура)
    СвойствоПриемника      =  ПоставляетсяВМногооборотнойТаре  (Булево)
    Обработчик             =  ПередВыгрузкойСвойства
    ОписаниеОшибки         =  Поле объекта не обнаружено (НоменклатураМногооборотнаяТара)
    ПозицияМодуля          =  (1)
    КодСообщения           =  55
10 Godofsin
 
14.12.15
10:28
Заполни в ПослеЗагрузки и все.
11 Cyberhawk
 
14.12.15
10:31
(9) А не, с объектом-источником не получится, ведь в переменной "Источник" сидит ссылка, а не объект. Тогда используй переменную "ВходящиеДанные" - в одном ПКС добавляй в эту структуру свойство, а в другом - считывай добавленное свойство
12 Naumov
 
14.12.15
10:57
Если реквизит, значение которого пытается автор получить во втором ПКС, не является свойством объекта-источника, значит как-то вычисляется?
Что мешает алгоритм еще раз в конце концов прогнать?
13 memogolik
 
14.12.15
11:03
(12) два раза запрос делать....
(11) что то не получается. В первром ПКС:

ВходящиеДанные = Новый Структура;
    Пока Выборка.Следующий() Цикл
            Если ЗначениеЗаполнено(Выборка.Значение) Тогда
                Значение = Выборка.Значение;
                ВходящиеДанные.Вставить("ПоставляетсяВМногооборотнойТаре",Истина);    
            Иначе
                ВходящиеДанные.Вставить("ПоставляетсяВМногооборотнойТаре",Ложь);    
            КонецЕсли;    
    КонецЦикла;

Во втором ПКС:
Если НЕ Источник.ЭтоГруппа Тогда    
    Значение = ВходящиеДанные.ПоставляетсяВМногооборотнойТаре;
КонецЕсли;    

Ошибка:
ПКО                    =  Номенклатура  (Справочник: Номенклатура)
    ПКС                    =  23  (--> ПоставляетсяВМногооборотнойТаре)
    Объект                 =  Батончик Баунти 40гр/24шт  (Номенклатура)
    СвойствоПриемника      =  ПоставляетсяВМногооборотнойТаре  (Булево)
    Обработчик             =  ПередВыгрузкойСвойства
    ОписаниеОшибки         =  Поле объекта не обнаружено (ПоставляетсяВМногооборотнойТаре)
    ПозицияМодуля          =  (2)
    КодСообщения           =  55
14 Cyberhawk
 
14.12.15
11:16
(13) А теперь ИсходящиеДанные попробуй заюзать вместо Входящих...
15 memogolik
 
14.12.15
11:18
Спасибо. Ошибка чисто в коде была. Все работает при помощи "ВходящихДанных"
16 Cyberhawk
 
14.12.15
11:19
А, ну у тебя выборка пустая была видать