Конвертация данных Параметры.Вставить
10.09.2010
08:53
#1
"Доброе утро
(
Имеются 2 конфигурации: Первая - CRM 8.2 v 1.0.9.1 Вторая - Бух 8.1 v 1.6.25.6.
Написал правило обмена для переноса: из CRM Документ.ЗаказПокупателя в БУХ Документ.Счет, соответственно за ним тянутся контрагенты, но без РегистрыСведений.КонтактнаяИнформация.
В правиле обмене (в Справочники -> Конрагенты) в ПЕРЕД_ВЫГРУЗКОЙ пишу код:
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| КонтактнаяИнформация.Объект КАК Объект,
| КонтактнаяИнформация.Тип КАК Тип,
| КонтактнаяИнформация.Вид КАК Вид,
| ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(1000)) КАК Представление,
| КонтактнаяИнформация.Поле1 КАК Поле1,
| КонтактнаяИнформация.Поле2 КАК Поле2,
| КонтактнаяИнформация.Поле3 КАК Поле3,
| КонтактнаяИнформация.Поле4 КАК Поле4,
| КонтактнаяИнформация.Поле5 КАК Поле5,
| КонтактнаяИнформация.Поле6 КАК Поле6,
| КонтактнаяИнформация.Поле7 КАК Поле7,
| КонтактнаяИнформация.Поле8 КАК Поле8,
| КонтактнаяИнформация.Поле9 КАК Поле9,
| КонтактнаяИнформация.Поле10 КАК Поле10,
| ВЫРАЗИТЬ(КонтактнаяИнформация.Комментарий КАК СТРОКА(1000)) как Комментарий
|ИЗ
| Документ.ЗаказПокупателя КАК ЗаказПокупателя
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
| ПО ЗаказПокупателя.Контрагент = КонтактнаяИнформация.Объект
| ГДЕ ЗаказПокупателя.Проведен";
Запр = Запрос.Выполнить().Выгрузить();
Параметры.Вставить("ВыборкаИзРезультата", Запр);
// ПО ИДЕЕ ЭТО СТРУКТУРА И ПАРАМЕТР ВЫБОРКАИЗРЕЗУЛЬТАТА ДОЛЖЕН БЫТЬ ДОСТУПЕН ВО ВСЕХ ОБРАБОТЧИКАХ КАК //Параметры.ВыборкаИзРезультата
Вот. А в ПЕРЕЗ_ЗАГРУЗКОЙ у меня код который основан на этом параметре:
Сообщить(Параметры.Свойство("ВыборкаИзРезультата")); // ВЫДАЕТ ЛОЖЬ!! КАК БУДТО НЕ ПОНИМАЕТ
НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
рез=Параметры.ВыборкаИзРезультата;
Для Каждого стр из рез Цикл
НовЗапись = НаборЗаписей.Добавить();
НовЗапись.Объект = стр.Объект;
НовЗапись.Тип = стр.Тип;
НовЗапись.Вид = стр.Вид;
НовЗапись.Представление = стр.Представление;
НовЗапись.Поле1 = стр.Поле1;
НовЗапись.Поле2 = стр.Поле2;
НовЗапись.Поле3 = стр.Поле3;
НовЗапись.Поле4 = стр.Поле4;
НовЗапись.Поле5 = стр.Поле5;
НовЗапись.Поле6 = стр.Поле6;
НовЗапись.Поле7 = стр.Поле7;
НовЗапись.Поле8 = стр.Поле8;
НовЗапись.Поле9 = стр.Поле9;
НовЗапись.Поле10 = стр.Поле10;
НовЗапись.Комментарий = стр.Комментарий;
НаборЗаписей.Записать();
КонецЦикла;
ВОПРОС: подскажите пож. почему не передается этот параметр (может я где-то ошибся, уже мозг взрывается ;
"
Имеются 2 конфигурации: Первая - CRM 8.2 v 1.0.9.1 Вторая - Бух 8.1 v 1.6.25.6.
Написал правило обмена для переноса: из CRM Документ.ЗаказПокупателя в БУХ Документ.Счет, соответственно за ним тянутся контрагенты, но без РегистрыСведений.КонтактнаяИнформация.
В правиле обмене (в Справочники -> Конрагенты) в ПЕРЕД_ВЫГРУЗКОЙ пишу код:
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| КонтактнаяИнформация.Объект КАК Объект,
| КонтактнаяИнформация.Тип КАК Тип,
| КонтактнаяИнформация.Вид КАК Вид,
| ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(1000)) КАК Представление,
| КонтактнаяИнформация.Поле1 КАК Поле1,
| КонтактнаяИнформация.Поле2 КАК Поле2,
| КонтактнаяИнформация.Поле3 КАК Поле3,
| КонтактнаяИнформация.Поле4 КАК Поле4,
| КонтактнаяИнформация.Поле5 КАК Поле5,
| КонтактнаяИнформация.Поле6 КАК Поле6,
| КонтактнаяИнформация.Поле7 КАК Поле7,
| КонтактнаяИнформация.Поле8 КАК Поле8,
| КонтактнаяИнформация.Поле9 КАК Поле9,
| КонтактнаяИнформация.Поле10 КАК Поле10,
| ВЫРАЗИТЬ(КонтактнаяИнформация.Комментарий КАК СТРОКА(1000)) как Комментарий
|ИЗ
| Документ.ЗаказПокупателя КАК ЗаказПокупателя
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
| ПО ЗаказПокупателя.Контрагент = КонтактнаяИнформация.Объект
| ГДЕ ЗаказПокупателя.Проведен";
Запр = Запрос.Выполнить().Выгрузить();
Параметры.Вставить("ВыборкаИзРезультата", Запр);
// ПО ИДЕЕ ЭТО СТРУКТУРА И ПАРАМЕТР ВЫБОРКАИЗРЕЗУЛЬТАТА ДОЛЖЕН БЫТЬ ДОСТУПЕН ВО ВСЕХ ОБРАБОТЧИКАХ КАК //Параметры.ВыборкаИзРезультата
Вот. А в ПЕРЕЗ_ЗАГРУЗКОЙ у меня код который основан на этом параметре:
Сообщить(Параметры.Свойство("ВыборкаИзРезультата")); // ВЫДАЕТ ЛОЖЬ!! КАК БУДТО НЕ ПОНИМАЕТ
НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
рез=Параметры.ВыборкаИзРезультата;
Для Каждого стр из рез Цикл
НовЗапись = НаборЗаписей.Добавить();
НовЗапись.Объект = стр.Объект;
НовЗапись.Тип = стр.Тип;
НовЗапись.Вид = стр.Вид;
НовЗапись.Представление = стр.Представление;
НовЗапись.Поле1 = стр.Поле1;
НовЗапись.Поле2 = стр.Поле2;
НовЗапись.Поле3 = стр.Поле3;
НовЗапись.Поле4 = стр.Поле4;
НовЗапись.Поле5 = стр.Поле5;
НовЗапись.Поле6 = стр.Поле6;
НовЗапись.Поле7 = стр.Поле7;
НовЗапись.Поле8 = стр.Поле8;
НовЗапись.Поле9 = стр.Поле9;
НовЗапись.Поле10 = стр.Поле10;
НовЗапись.Комментарий = стр.Комментарий;
НаборЗаписей.Записать();
КонецЦикла;
ВОПРОС: подскажите пож. почему не передается этот параметр (может я где-то ошибся, уже мозг взрывается ;
"
10.09.2010
10:52
#2
"Задача: перенести контактную информацию контрагентов из CRM в БУХ
Рассказываю как, вдруг кому пригодится:
В правилах обмена данными Справочники.Контрагенты в ПКО ПОСЛЕ_ВЫГРУЗКИ добавляем код:
Запрос = Новый Запрос("
|ВЫБРАТЬ
| ИСТИНА КАК Активность,
//| Ложь КАК ЗначениеПоУмолчанию,
| КонтактнаяИнформация.Объект,
| КонтактнаяИнформация.Тип,
| КонтактнаяИнформация.Вид,
| КонтактнаяИнформация.Представление,
| КонтактнаяИнформация.Поле1,
| КонтактнаяИнформация.Поле2,
| КонтактнаяИнформация.Поле3,
| КонтактнаяИнформация.Поле4,
| КонтактнаяИнформация.Поле5,
| КонтактнаяИнформация.Поле6,
| КонтактнаяИнформация.Поле7,
| КонтактнаяИнформация.Поле8,
| КонтактнаяИнформация.Поле9,
| КонтактнаяИнформация.Поле10,
| КонтактнаяИнформация.Комментарий
|ИЗ
| РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|ГДЕ
| КонтактнаяИнформация.Объект = &Объект");
Запрос.УстановитьПараметр("Объект", Источник);
Выборка = Запрос.Выполнить().Выбрать();
Сообщить(Выборка.Количество());
Пока Выборка.Следующий() Цикл
ВыгрузитьПоПравилу(Выборка, , , , "КонтактнаяИнформация");
КонецЦикла;
А в ПКС в РегистрыСведений.КонтактнаяИнформация Ставим галочку "отключить" ЗначениеПоумолчанию.
Тема закрыта"
Рассказываю как, вдруг кому пригодится:
В правилах обмена данными Справочники.Контрагенты в ПКО ПОСЛЕ_ВЫГРУЗКИ добавляем код:
Запрос = Новый Запрос("
|ВЫБРАТЬ
| ИСТИНА КАК Активность,
//| Ложь КАК ЗначениеПоУмолчанию,
| КонтактнаяИнформация.Объект,
| КонтактнаяИнформация.Тип,
| КонтактнаяИнформация.Вид,
| КонтактнаяИнформация.Представление,
| КонтактнаяИнформация.Поле1,
| КонтактнаяИнформация.Поле2,
| КонтактнаяИнформация.Поле3,
| КонтактнаяИнформация.Поле4,
| КонтактнаяИнформация.Поле5,
| КонтактнаяИнформация.Поле6,
| КонтактнаяИнформация.Поле7,
| КонтактнаяИнформация.Поле8,
| КонтактнаяИнформация.Поле9,
| КонтактнаяИнформация.Поле10,
| КонтактнаяИнформация.Комментарий
|ИЗ
| РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|ГДЕ
| КонтактнаяИнформация.Объект = &Объект");
Запрос.УстановитьПараметр("Объект", Источник);
Выборка = Запрос.Выполнить().Выбрать();
Сообщить(Выборка.Количество());
Пока Выборка.Следующий() Цикл
ВыгрузитьПоПравилу(Выборка, , , , "КонтактнаяИнформация");
КонецЦикла;
А в ПКС в РегистрыСведений.КонтактнаяИнформация Ставим галочку "отключить" ЗначениеПоумолчанию.
Тема закрыта"
Не проводит документ сдачи готовой с/х продукции в склад.Какая проводка у удержания за неотраб.дни отпуска?
Читают тему
(гостей: 1)