Помогите задать значение ТЧ при переносе данных.

Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
1. VladimirMelnychenko 01.10.16 16:51 Сейчас в теме
Добрый день. Прошу у Вас помощи в одном вопросе.
При переносе документа сложилась следующая ситуация:
Нужно совершить запись данных в ТЧ базы приемника, в ПКО написал код (указан ниже) но данные не записываются, подскажите пожалуйста как исправить данную ситуацию.

"После загрузки":
Валюта = Объект.ВалютаДенежныхСредств;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КурсыВалютСрезПоследних.Курс
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних КАК КурсыВалютСрезПоследних
|ГДЕ
| КурсыВалютСрезПоследних.Валюта = &Валюта";

Запрос.УстановитьПараметр("Валюта", Валюта);

РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

ВыборкаДетальныеЗаписи.Следующий();

Объект.РасшифровкаПлатежа[0].Кратность = 1;
Объект.РасшифровкаПлатежа[0].Курс = 1;
Объект.РасшифровкаПлатежа[0].СуммаПлатежа = Объект.СуммаДокумента;
Объект.РасшифровкаПлатежа[0].СуммаРасчетов = Объект.СуммаДокумента * ВыборкаДетальныеЗаписи.Курс;
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Borometr 11 01.10.16 19:02 Сейчас в теме
я не знаю для каких целей пишите обмен, но я бы проверил результат запроса на пустоту и количество записей "Расшифровка платежа", что действительно больше 0, прежде чем присваивать первой строке какие-либо значения. В последующем это поможет избежать небольшие недоразумения. И курс валют лучше получать не запросом, а с Регистрысведений.курсывалют.получитьпоследнее, в типовых конфигурациях именно такой способ используют.
Если я не понимаю, почему не отрабатывает то или иное событие, я вставляю вывод сообщений между строк, чтобы убедится, что событие действительно происходит.
3. VladimirMelnychenko 01.10.16 19:36 Сейчас в теме
(2) Borometr, Я вставлял вывод сообщений такого типа:
"После загрузки":
Валюта = Объект.ВалютаДенежныхСредств;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КурсыВалютСрезПоследних.Курс
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних КАК КурсыВалютСрезПоследних
|ГДЕ
| КурсыВалютСрезПоследних.Валюта = &Валюта";

Запрос.УстановитьПараметр("Валюта", Валюта);

РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

ВыборкаДетальныеЗаписи.Следующий();

Объект.РасшифровкаПлатежа[0].Кратность = 1;
Объект.РасшифровкаПлатежа[0].Курс = 1;
Объект.РасшифровкаПлатежа[0].СуммаПлатежа = Объект.СуммаДокумента;
Объект.РасшифровкаПлатежа[0].СуммаРасчетов = Объект.СуммаДокумента * ВыборкаДетальныеЗаписи.Курс;
Сообщить("Кратность=" + Строка(Объект.РасшифровкаПлатежа[0].Кратность));
Сообщить("Курс=" + Строка(Объект.РасшифровкаПлатежа[0].Курс));
Сообщить("СуммаПлатежа=" + Строка(Объект.РасшифровкаПлатежа[0].СуммаПлатежа));
Сообщить("СуммаРасчетов=" + Строка(Объект.РасшифровкаПлатежа[0].СуммаРасчетов));

Во время выполнения загрузки данные заполнялись, сообщения выводили нужные цифры, я вставил вывод сообщений и после выполнения загрузки, данные сообщения вновь выводили пустые данные. Я не понимаю почему значения сбрасываются после загрузки. Скажите пожалуйста, какую информацию нужно вывести что бы понять что идет не так?
4. Borometr 11 02.10.16 21:00 Сейчас в теме
я всей картины не вижу. У тебя реально первая строка в расшифровке данных после обмена уже есть, не надо писать стрРП =Объект.РасшифровкаПлатежа.добавить(). И выведи сообщением объект.суммадокумента.
5. VladimirMelnychenko 03.10.16 09:44 Сейчас в теме
Спасибо за помощь. Все решилось. Оказалось что в конфигурации приемнике в случае если установлен режим разноса поступления "Автоматически", при записи происходит очистка ТЧ "РасшифровкаПлатежа", задал режим "Вручную", документы провелись нормально.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот