1С 7.x : КД: Передача параметров из выгрузки в загрузку (в т.ч. и на ранние стадии) при обмене из 7.7 в 8.х
Кратко суть проблемы можно озвучить цитатой из документации: "Передача параметра из источника в приемник доступна только при обмене между информационными базами на платформе 1С:Предприятие 8".
Ниже излагается способ передачи глобальных параметров при таком обмене без правки выгруженного из КД 2 модуля выгрузки и без правки самой КД 2.
Итак, в обработчике ПередВыгрузкойДанных пишем код:
после этого данные параметры будут абсолютно штатно загружены в стандартной обработке "Универсальный обмен данными в формате XML (2.1.5)".
Ещё хотелось бы заметить, что содержимое обработчика ПослеЗагрузкиПараметров при таком обмене также не выгружается в файл обмена. Исправить данную оплошность можно так же, записав в обработчике ПередВыгрузкойДанных
Нюанс: чтобы иметь параметры на ранних стадиях загрузки, например, в обработчиках ПередЗагрузкойДанных или ПередОбработкой в ПОД (правилах очистки данных), нужно помещать выгружаемые параметры в корень узла с выгружаемыми данными:
Ввести значение, ввод значения 1
//Пример универсального ввода значения
Перем ВыбЗнач;
Массив = Новый Массив;
Массив.Добавить(Тип("Число"));
Массив.Добавить(Тип("Строка"));
Массив.Добавить(Тип("Дата"));
КЧ = Новый КвалификаторыЧисла(12,2);
КС = Новый КвалификаторыСтроки(20Ввод записей в журнал расчетов 1 Добавление записи в журнал расчетов:
Метод Новая может быть вызван где угодно, в глобальном модуле, модуле обработок, документов и т.д.
Данный метод проверяет корректность заполненных реквизитов журнала расчетов. При вводе новых записей журналВывод (печать) таблицы значений в табличный документ 7 Пример кода быстрая Печать таблицы значений
//ТПОтчета - Табличное поле с формы (Таблица значений) с данными
ПострПечать = Новый ПостроительОтчета;
ПострПечать.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТПОтчета);
ПострПечать.МакетОформлениЗадать вопрос пользователю, ответ на вопрос 8 Режим = РежимДиалогаВопрос.ДаНетОтмена;
Ответ = Вопрос(" Выполнить?" , Режим, 0);
Если Ответ =КодВозвратаДиалога.Да Тогда
Сообщить(" Выполнено" );
ИначеЕсли Ответ = КодВозвратаДиалога.Нет Тогда
Сообщить(" Не выполнено" );
КонецЕсли;
Режим = Запись СД из 1С(без ВК и других программ, проверено на ХР/2003) 0
Процедура Сформировать(ДискДляЗаписи=" E: " ,АвтоИзвлечениеСД=0,АвтоЗакрытиеМастера=1)
Перем Имя,Каталог;
scr=СоздатьОбъект(" MSScriptControl.ScriptControl" );
scr.language=" javascript" ;
shell=СоздатьОбъект(" Shell.Application" );
scr.AddObПосмотреть все результаты поиска похожих