Имя: Пароль:
1C
1С v8
Вопрос по конвертации
,
0 МешочекЗнаний
 
04.03.16
09:01
Добрый день.

Пытаюсь сделать выгрузку. В источнике нет склада, который есть в приёмнике.

Что сделал:
1)Создал ПКО Реализация->Реализация
2)В конвертации свойств для склада сделал "При выгрузке" Значение = Справочники.Склады.НайтиПоНаименованию("Оптовый");

В итоге при загрузке пустое поле.
1 Мимохожий Однако
 
04.03.16
09:03
Может быть, при загрузке?
2 МешочекЗнаний
 
04.03.16
09:05
(1) Есть только "Перед выгрузкой",  "При выгрузке", "После выгрузки"
3 Мимохожий Однако
 
04.03.16
09:06
После выгрузки попробуй
4 Мимохожий Однако
 
04.03.16
09:07
Вообще-то в яндексе куча примеров...
5 luter-89
 
04.03.16
09:12
(1) Посмотри демо базу КД
6 SadrArt
 
04.03.16
09:16
Я бы сделал в событии "При загрузке" ПКО Реализация->реализация
Объект.Склад = Справочники.Склады.НайтиПоНаименованию("Оптовый");
7 Cyberhawk
 
04.03.16
09:21
Если ПКО для склада есть, то нужно в обработчике "Поля поиска" инициализировать переменную СсылкаНаОбъект.
Не будешь же ты в кажжом ПКО / ПКС, где есть склад, писать обработчик...
8 Абыр
 
04.03.16
09:22
(0)
Предположу, что
1) не создано ПКО Склад => Склад
2) даже если оно есть, то не указано как ПКО для ПКС по складу в ПКО Реализация->Реализация
9 Абыр
 
04.03.16
09:23
+ (8) т.е. в ПКС вы указываете значение, но не указываете правило, как его конвертировать. Скриншот ПКС бы всё сразу прояснил)
10 Cyberhawk
 
04.03.16
09:23
(8) По пункту 2 вроде и не нужно указывать - оно по типу приемника в ПКС само должно подхватиться
11 МешочекЗнаний
 
04.03.16
09:29
(6) Получилось!

Теперь у меня задача сложнее.

В реализации есть строковое поле адрес - пользователи сами руками из екселя вбивают. Как подцепить склад в зависимости от адреса?

У меня были мысли наподобие Если в источнике адрес = "Г Москва Ул Мира Дом 35" то в приёмнике склад "Валоровский" и т.д. Только как это реализовать.
12 SadrArt
 
04.03.16
09:41
(7) [Не будешь же ты в кажжом ПКО / ПКС, где есть склад, писать обработчик...]
По сабжу не ясно много ПКО / ПКС, где есть склад, а спрашивается для конкретного ПКО.
13 Wirtuozzz
 
04.03.16
09:42
(0) Заполни поле склад после загрузки документа.
14 Wirtuozzz
 
04.03.16
09:45
(11) В ПКО после загрузки пиши:
если "" Тогда
Объект.Склад = "";
ИначеЕсли "" Тогда
Объект.Склад = "";
......
Иначе
Объект.Склад = "";
Объект.Комментарий= "Винить того то, т.к. сравнивать по строке которую вбивает обезъяна не правильно"
Конецесли;
15 МешочекЗнаний
 
11.03.16
09:51
(14) Как писать?
Если Источник.адрес = "Г Москва Ул Мира Дом 35"  Тогда
Объект.Склад = Справочники.Склады.НайтиПоНаименованию("Склад (Мира 35)");
КонецЕсли;

Ругается что не видит источника.
16 Alex S D
 
11.03.16
10:10
Ясен пень. Источника при загрузке уже нет
17 Alex S D
 
11.03.16
10:11
Если объект.адрес...
18 Rie
 
11.03.16
10:15
(0) Воспользуйся полями поиска. Передай код или что там уникально характеризует склад.
И если не найден (СсылкаНаОбъект - пустая), то присвой
СсылкаНаОбъект = какойтамскладнужен;
(это выполняться будет уже в приёмнике, так что склад найдётся).