Имя: Пароль:
1C
1С v8
ПодготовитьСтруктуруДляВнешнегоСоединения - зачем эта процедура?
0 Dmitriy_
Kolesnikov
 
06.02.13
13:10
Добрый день! Есть в УТ такая процедура:
WEBПриложения.ПодготовитьСтруктуруДляВнешнегоСоединения(ПараметрыПечати)



// Процедура обрабатывает переданную структуру таким образом, чтобы ее можно было корректно
//  использовать во внешнем соединении.
//
// Параметры:
//  ИсходнаяСтруктура - Структура для обработки.
//
Процедура ПодготовитьСтруктуруДляВнешнегоСоединения(ИсходнаяСтруктура) Экспорт

   ВыходнаяСтруктура = Новый Структура;

   Для Каждого КлючЗначение Из ИсходнаяСтруктура Цикл
       ВыходнаяСтруктура.Вставить("_" + КлючЗначение.Ключ, КлючЗначение.Значение);
   КонецЦикла;

   ИсходнаяСтруктура = ВыходнаяСтруктура;

КонецПроцедуры // ПодготовитьСтруктуруДляВнешнегоСоединения()



Объясните, очень любопытно, зачем это нужно?
1 DrShad
 
06.02.13
13:11
он потом из этой структуры лепит строку соединения
2 DrShad
 
06.02.13
13:11
// Процедура обрабатывает переданную структуру таким образом, чтобы ее можно было корректно

//  использовать во внешнем соединении.


написано же русским по белому
3 Dmitriy_
Kolesnikov
 
06.02.13
13:14
А без этих _ её нельзя использовать, если работаю с 1С через СОМ и не передаю структуру наружу?
4 DrShad
 
06.02.13
13:16
(3) ну убери ее и работай на здоровье, что не так-то?
5 acsent
 
06.02.13
13:18
(4) дело не в том что так или не так, а зачем?
6 DrShad
 
06.02.13
13:19
(5) чтобы ее можно было корректно

//  использовать во внешнем соединении.
7 hhhh
 
06.02.13
13:24
(5) наверно поле структуры совпало с полем COM-объекта. Делаем с "_", тогда названия никогда не совпадут. Ну это же элементарно, Ватсон.
8 Dmitriy_
Kolesnikov
 
06.02.13
13:47
Я обращаюсь к 1С из Яваскрипта:

var v8=new ActiveXObject("V81.COMConnector"); // ("V81.Application"); //
conn = v8.Connect(ConnString);
ArchivePath = conn.Квант.ВыгрузитьПлатежныеДокументыЗаПериод(DataN, DataK, ID);

Туда передается три числа, обратно - строка. Никаких структур. Но почему-то типовый механизм конфигурации упорно "портит" название ключей одной из внутренних структур лишь на основании того, что я подключился через ВнешнееСоединение.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан