Имя: Пароль:
1C
1С v8
Конвертация данных 2 Исходящие данные
0 Быдло замкадное
 
07.10.20
12:53
Как передать строку в исходящие данные?!
Есть живой пример?

Пишу в ПКО документа:
Перед выгрузкой:

ВходящиеДанные = Новый Структура;
ВходящиеДанные.Вставить("КодБК", "АХАХАХАХА");

ИЛИ:

ИсходящиеДанные = Новый Структура;
ИсходящиеДанные .Вставить("КодБК", "АХАХАХАХА");

и в формируемом файле нет это строки "АХАХАХАХА" вообще. Каааак сделать то, что только не пробовал уже
1 fisher
 
07.10.20
13:06
Данные передаются по следующим правилам:

1.      ПВД.ИсходящиеДанные -> ПКО.ВходящиеДанные
2.      ПКО.ВходящиеДанные -> ПКС.ВходящиеДанные
3.      ПКС.ИсходящиеДанные -> ПКО.ВходящиеДанные
2 fisher
 
07.10.20
13:07
Оно и не должно попадать в файл. Это для передачи между обработчиками при конвертации в источнике.
3 fisher
 
07.10.20
13:10
Вообще в типовой ситуации вся конвертация производится в источнике. В файл пишется только результат конвертации - готовый образ объектов-приемника для загрузки.
4 Быдло замкадное
 
07.10.20
13:12
(2) "Оно и не должно попадать в файл." ппц а как мне передать произвольную инфу?
В приемнике есть реквизит, которого нет в источнике. Но заполнить надо.

Для понимания например: Если в источнике в поле комментарий написано "Васька дурак" то в приемнике надо Реквизит1 = Справочники.Контрагенты.ВаськаДурак;

В источнике нет справочника контрагенты, в приемнике нет реквизита Комментарий.
Можно реализовать?
5 Быдло замкадное
 
07.10.20
13:13
вот хочу куда то записать "Васька дурак", а потом уже ПРИ ЗАГРУЗКЕ это анализировать.
ПОтому что при выгрузке я даже не могу написать СПравочники.Контрагенты. Нет такого...
6 Жан Пердежон
 
07.10.20
13:15
в ПКС "Передавать данные в параметр"
7 fisher
 
07.10.20
13:16
(4) С предопределенными вообще просто. ЕМНИП, оно при загрузке хавает текстовые значения для предопределенных. Для непредопределенных можно создать ПКО, которое будет искать нужные по коду.
Т.е. в ПКС для Реквизит1 пишешь в ПередВыгрузкой
Если Источник.Комментарий = "Васька дурак" Тогда
    Значение = "ВаськаДурак";
КонецЕсли;
8 Быдло замкадное
 
07.10.20
13:21
(7) с Васькой это пример. Мне на самом деле в базе источнике надо искать справочник по реквизиту.
Т.е.
Справочники.ВидыНалоговИПлатежейВБюджет.НайтиПоРеквизиту("КодБК", "Васька дурак");

Это уже детали.
Я хочу хоть как-то передать текстовую строку, что бы ее анализировать при загрузке можно было.

(6) попробовал так, в файле все равно нет "Васька дурак" :(
9 fisher
 
07.10.20
13:21
Если (4) системный пример и надо кучу разных комментариев конвертить в контрагентов, то можно создать ПКО для контрагентов у которого на входе будет строка и просто назначить это ПКО в ПКС "Комментарий". КД очень гибкая, нужно только один раз разобраться и "вхрустнуть" мозги в ее логику.
10 Быдло замкадное
 
07.10.20
13:22
(6) а нет вру, через параметр выгрузилось.. щас буду думать как прочитать этот параметр при загрузке
11 fisher
 
07.10.20
13:24
(8) > Я хочу хоть как-то передать текстовую строку, что бы ее анализировать при загрузке можно было.
Я понял, что ты хочешь. Но КД реализует другую логику - конвертация в источнике. Переть супротив - быть ССЗБ.
12 fisher
 
07.10.20
13:27
(8) >  в базе источнике надо искать справочник по реквизиту
Просто создаешь ПКО для этого справочника, где нужный реквизит отмечаешь как поле поиска, на вход - строка, а в ПКС для этого реквизита пишешь Значение=Источник;
После этого просто назначаешь это ПКО во всех ПКС где надо и в этих ПКС пишешь Значение=<нужное значение>;
В итоге КД будет находить их сама штатно при загрузке плюс это будет переиспользуемое ПКО.
13 Быдло замкадное
 
07.10.20
13:28
Получилось через параметр, спасибо (6)

после загрузки объекта:
Объект.Налог = Справочники.ВидыНалоговИПлатежейВБюджет.НайтиПоРеквизиту("КодБК", ПараметрыОбъекта.Получить("КодБК"));
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn