Имя: Пароль:
1C
1С v8
Как передать параметр из источника в приемник в КД
0 Pseos
 
23.01.12
14:58
Добрый день, уважаемые!

Переношу документы ПКО из бухгалтерии в УПП.
При этом статьи ДДС из Бухи не должны переноситься, если не найдены в УПП.
Задача: отобразить ненайденные статьи в комментарии, добавив в существующий комментарий статью из Бухи.

Документы у меня перенеслись четко, статьи ДДС подставились найденные, но не создавались новые, а как добавить в комментарий статьи из бухгалтерии не знаю.

Пробывал через параметры, но увы... ничего не получается.
Помогите советом.
1 Pseos
 
23.01.12
15:19
Пожалуйста, очень надо!
2 Жан Пердежон
 
23.01.12
15:24
в ПКС - галка "передать данные в параметр"
в ПКО юзать соответствие "ПараметрыОбъекта"
3 Pseos
 
23.01.12
15:31
В ПКС ставил передавать Статью ДДС из бухгалтерии в параметр,
присваивал значение перед выгрузкой "Значение = Источник.СтатьяДвиженияДенежныхСредств;".

В ПКО после загрузки писал "ПараметрыОбъекта.Получить("ДДС")", где ДДС - имя параметра. В параметре выставлял галки при занрузке и при выгрузке, но... ничего.
В чем ошибка?
4 Pseos
 
23.01.12
15:48
Как можно по значению в источнике изменять данные в приемнике?
5 Жан Пердежон
 
23.01.12
15:52
(3) что ты ожидаешь увидеть в приемнике?
6 Pseos
 
23.01.12
15:55
Я хочу в приемнике получить значение статью ДДС из источника, чтобы это значение можно было вставить в комментарий.
Может быть это делается не так, подскажите.
7 Жан Пердежон
 
23.01.12
15:56
статья ддс - элемент справочника, комментарий - строка...
8 Pseos
 
23.01.12
15:59
Это я понимаю, как можно строковое значение(Наименование) статьи ДДС из источника запихнуть в комментарий приемника?
Пока я даже не могу просто прочитать значение параметра после загрузки.
9 Жан Пердежон
 
23.01.12
16:03
ПКС перед выгрузкой:
Значение = Источник.СтатьяДДС.Наименование;
10 Pseos
 
23.01.12
16:04
Тоже так подумал, пробую
11 ssh2006
 
23.01.12
16:10
Одно ПКС у тебя будет для выгрузки статьи в документ (передавать данные в приемник). По нему будут выгружаться статьи и заполняться при загрузке найденные.
Создай еще одно ПКС где статью уже передавай в параметр и в нем перед выгрузкой:
Значение = Источник.СтатьяДДС.Наименование;
В обработчике после загрузки проверяй заполнена ли статья у объекта. Если нет, то дописывай в комментарий то что есть в параметре
12 Pseos
 
23.01.12
16:14
11. Я так и хотел сделать. Скажите а в параметре надо ставить при загрузке и передавать при выгрузке
13 ssh2006
 
23.01.12
16:18
(12) мне кажется ты путаешь с параметрами самой конвертации. см (2)
14 Pseos
 
23.01.12
16:20
13. Да попутал.
А правильно обращаться к параметрамобъекта ПараметрыОбъекта["СтДДС"] или ПараметрыОбъекта.Получить("СтДДС").
Ничего про параметры не знаю в КД :(
15 ssh2006
 
23.01.12
16:22
(14) одинаково. ПараметрыОбъекта это
Соответствие (Map)
Получить (Get)
Синтаксис:
Получить(<Ключ>)
Параметры:
<Ключ> (обязательный)
Тип: Произвольный. Ключ значения.
Возвращаемое значение:
Значение элемента соответствия.
Описание:
Получает значение по ключу. Работает аналогично оператору [].
16 Fish
 
23.01.12
16:23
(14) Вот хороший сайтик про КД с примерами: http://www.mykod.info/
17 Pseos
 
23.01.12
16:30
15,16. Спасибо. Может быть кто-то подскажет как значение из источника можно вставить в комментарий приемника. Если есть пример выложите пожалуйста.
18 ssh2006
 
23.01.12
16:38
(17) прочитай книгу http://v8.1c.ru/metod/books/book.jsp?id=121
Можно найти в интернете.
19 Pseos
 
23.01.12
16:42
Читал, спасибо. Но своего или похожего примера не нашел.
Как Вы решили бы эту задачу, может я вообще не в ту степь пошел?
20 ssh2006
 
23.01.12
16:46
(19) попробуй как в (11) сделать. Суть в том, что после загрузки ты проверяешь, заполнена ли статья в документе. Т.к. новые статьи не создаются при загрузке, то если статья в загруженном объекте не заполнена, то значит она или не найдена или не заполнена в источнике. Вот тогда и бери из параметра текстовое наименование статьи и дописывай Объект.Комментарий = Объект.Комментарий + " "+ ПараметрыОбъекта["СтДДС"]
21 ssh2006
 
23.01.12
16:49
+(20) 2 правила ПКС сделай: одно статья - статья по правилу конвертации справочника статьи, у которого ты видимо поставил галку "не создавать новый если не найден".
А второе - статья - параметр "СтДДС". и в нем перед выгрузкой:
Значение = Источник.СтатьяДДС.Наименование;
22 Pseos
 
23.01.12
17:07
19,20. Это я понимаю, но у меня не получается ИМЕННО передать значение стДДС в этот параметр и прочитать его после загрузки. Создал уже 2 ПКС для стДДС, одно пишется в параметр, второе передает полное значение в приемник. По второму вопросов нет, статья подставляется, если найдена, а значение первого в ПКО ПослеЗагрузки равно ПУСТОТА.
И Объект.Комментарий = Объект.Комментарий + " \ "+ ПараметрыОбъекта["СтДДС"] --- в комментарий записывается только "\", даже старое значение стирается

PS: проблема в том, что в параметр значение почему то не записывается.
23 Pseos
 
23.01.12
17:21
22. "...И Объект.Комментарий = Объект.Комментарий + " \ "+ ПараметрыОбъекта["СтДДС"] --- в комментарий записывается только "\", даже старое значение стирается..."
- старое значение выводится (просто много уже напробывал, немного сбился) и знак разделителя, а сам параметр не хочет передаваться.
24 ssh2006
 
23.01.12
17:22
(22) у правила ПКС  которое пишет в параметр заполнено правило конвертации?
25 ssh2006
 
23.01.12
17:27
+(24) там ничего не должно быть указано
26 Pseos
 
23.01.12
17:40
24. Заполнено (СтатьиДвиженияДенежныхСредств). Изменил - все тоже самое. Насколько я понимаю проблема в том, что у меня ни в первом ни во втором ПКС не сообщает СТДДС ни в одном из обработчиков.

Сообщить("СТДДС: " + Источник.СтатьяДвиженияДенежныхСредств);

Из-за этого ничего и не передается. Может мне стоит как-то получить объект=источник сначала, может запросом?
27 Pseos
 
23.01.12
17:49
Только что попробовал передать комментарий в параметр и дописать его в старый после загрузки - получилось.
Значит проблема именно в том что в ПКС я не могу получить значение стДДС. Буду пробывать дальше :)
28 Жан Пердежон
 
23.01.12
17:52
у тебя статья ддс в табличной части?
29 Pseos
 
23.01.12
18:03
Да, вот в чем проблема. Подскажите как  в обработчике ПКС мне все-таки получить значение СтДДС, если СтДДС в источнике находится в ТЧ. Для ТЧ у меня есть ПКГС и ПКС для каждого реквизита, но значение стДДС я увидеть не могу
30 Pseos
 
23.01.12
18:16
Проблема была в том, что СтДДС была в ТЧ, учитывая это сделал изменения ПКС для параметра.

Жан Пердежон спасибо за наводку!
ssh2006 большое спасибо, что разжевали как записывать значение в параметр!
31 ssh2006
 
23.01.12
18:22
При выгрузке в ПКС параметра (правило конвертации не указано должно быть) пишешь
Значение = ОбъектКоллекции.СтатьяДвиженияДенежныхСредств.Наименование;

В ПКО после загрузки пишешь
ТаблицаСПараметрамиТабЧасти = ПараметрыОбъекта["РасшифровкаПлатежаТабличнаяЧасть"]; //таблица значений

Для Каждого СтрокаТЧ Из Объект.РасшифровкаПлатежа Цикл
 
  Если Не ЗначениеЗаполнено(СтрокаТЧ.СтатьяДвиженияДенежныхСредств) Тогда
    Объект.Комментарий = Объект.Комментарий + ТаблицаСПараметрамиТабЧасти[СтрокаТЧ.НомерСтроки - 1].СтДДС;
  КонецЕсли;


КонецЦикла
32 Pseos
 
24.01.12
11:20
Все получилось. В ПКС для передачи в параметр указал Значение = Источник.РасшифровкаПлатежа[0].СтДДС, так как в УПП РасшифровкаПлатежа имеет одну строку, его словил ПослеЗагрузки и по условию добавил в комментарий.
Основная теорема систематики: Новые системы плодят новые проблемы.