Имя: Пароль:
1C
1С v8
избавиться от указания узла.
, , ,
0 igor785
 
07.09.22
15:52
привет.создаю узел связи с бэкофиосом. в первой кнопке прописал кнопку записи во второй обмена.
в третьей кнопке надо грохнуть УКАЗАНИЕ УЗЛА КАФЕ2 И УКАЗАНИЕ ПАПКИ ("C:\Users\igor785\Desktop\11\") чтобы обмен работал.
сижу уже весь день, помогите, пожалуйста. очень буду рад если объясните.  

1) Procedure Command1AtServer()
    cafe1 = ExchangePlans.Full.FindByCode("2");
    Сообщить(cafe1);
    ЗаписьXML = Новый ЗаписьXML();
    ИмяФайлаСообщения = "C:\Users\igor785\Desktop\11\" + "Message_" + СокрЛП(ExchangePlans.Full.ЭтотУзел().Code) + "_" + СокрЛП(cafe1.Code) + ".xml";
    ЗаписьXML.ОткрытьФайл(ИмяФайлаСообщения);
    ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
    ЗаписьСообщения.НачатьЗапись(ЗаписьXML,cafe1);
    ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения);
    ЗаписьСообщения.ЗакончитьЗапись();
    ЗаписьXML.Закрыть();
EndProcedure    

2)Procedure LoadAtServer()
    cafe2 = ExchangePlans.Full.FindByCode("0");
    Сообщить(cafe2);
    ЧтениеXML = Новый ЧтениеXML();
    ЧтениеXML.ОткрытьФайл ("C:\Users\igor785\Desktop\11\" + "Message_cafe_sas" + ".xml");
    ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
    ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
    ПараметрыСеанса.ИдетОбменРаспределеннойБазы = Истина;
    ПланыОбмена.ПрочитатьИзменения(ЧтениеСообщения);
    ЧтениеСообщения.ЗакончитьЧтение();
    ЧтениеXML.Закрыть();
                          
EndProcedure
1 mikecool
 
07.09.22
15:57
два раза прочитал и ничего не понял
2 vicof
 
07.09.22
15:59
(1) не ты один)
3 МКК
 
07.09.22
16:06
Что не понятного, нужно написать третью процедуру, но кризис жанра
4 igor785
 
07.09.22
16:47
(3) Именно.
5 igor785
 
07.09.22
16:48
(1) Извините, голова уже вскипела. Реально кризис как ниже написали.
6 Святой Нос
 
07.09.22
17:01
Что такое "грохнуть", которое надо?
7 Галахад
 
гуру
07.09.22
17:11
(6) + 1.

Объясни без кода что хочешь сделать.
8 igor785
 
07.09.22
17:28
(7) создаю узел связи. между cafe и cafe1. нужно чтобы обмен происходил автоматически.
создал 2 процедуры, записи и обмена соответственно.
сейчас мне задали такую задачку:
9 igor785
 
07.09.22
17:28
(8) // избавиться от указания папки  C:\Users\Sami\Desktop\2с\"
    // избавиться от указания узла кафе 2
10 igor785
 
07.09.22
17:29
(9) C:\Users\igor785\Desktop\11\
11 igor785
 
07.09.22
17:31
Извините если объясняюсь некорректно, я еще в самом начале обучения.
12 Ivan_495
 
07.09.22
17:32
кнопку выбрать каталог на форме сделай
13 Галахад
 
гуру
07.09.22
17:34
(9) 1. Создай константу - КаталогОбмена
2. Убери это самое кафе 2, оно же нигде не используется.
3. Message_cafe_sas сделай по аналогии "Message_" + СокрЛП(ExchangePlans.Full.ЭтотУзел().Code) + "_" + СокрЛП(cafe1.Code)
14 Ivan_495
 
07.09.22
17:34
&НаКлиенте
Процедура ПутьНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = ЛОЖЬ;
    
    Режим = РежимДиалогаВыбораФайла.ВыборКаталога;
    ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим);
    ДиалогОткрытия.Каталог = Объект.Путь;  
    ДиалогОткрытия.Заголовок = "Выберите каталог";
        
    Параметр = "";
    Оповещение = Новый ОписаниеОповещения("ВыборКаталога_Завершение", ЭтотОбъект, Параметр );
    ДиалогОткрытия.Показать(Оповещение)
КонецПроцедуры

&НаКлиенте
Процедура ВыборКаталога_Завершение(Результат, Параметр) Экспорт
    Если Результат = Неопределено Тогда
         Сообщить("Каталог не выбран");
         Возврат;
     КонецЕсли;
    Объект.Путь = Результат[0]
КонецПроцедуры
15 igor785
 
07.09.22
17:48
Если СокрЛП(ExchangePlans.Full.ЭтотУзел().Code) =

сказали должно начинаться с этого
16 Ivan_495
 
07.09.22
17:52
это проверка , что сообщение пришло с нужного узла
17 Галахад
 
гуру
07.09.22
17:55
Ну логично.
Сообщение_КодОтправитель_КодПолучатель
Из одной базы в другую
Сообщение_0_2
Из другой в первую
Сообщение_2_0