|
Вопрос по КД. Передача значений из одного ПКС в другое | ☑ | ||
---|---|---|---|---|
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
|
А, ну у тебя выборка пустая была видать
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |