Имя: Пароль:
1C
1C 7.7
v7: Обмен с 77 как добавить обработчик после выгрузки
0 breezee
 
28.12.17
13:34
Добрый день! Есть обработка загрузки данных в семерку, загрузка на основании обработки "Универсальный обмен данными в формате ХМЛ". Правила написаны на конвертации 2.0. В обработке добавил функцию(код ниже). Она не вызывается, где я должен прописать вызов функции? По аналогии сделал с ранее добавленной функцией. Ранее добавленная функция не вызвается в обработке, так что я не знаю, где добавить вызов моей функции. Подскажите, пожалуйста
Функция ПКО_ПослеЗагрузки_ПоступлениеДопРасходыТМЦ(
            Объект, ИмяПравила)


    Отказ = 0;


    Попытка


        СсылкаНаДокументВТЧ = ЗначениеИзСтрокиВнутр(Объект.Комментарий);
            
        
        Объект.ВыбратьСтроки();
            
    Пока Объект.ПолучитьСтроку() = 1 Цикл
       Объект.КДокументуПоступления = СсылкаНаДокументВТЧ;
    КонецЦикла;


    Исключение
    
        Сообщить("Ошибка исполнения обработчика:  ПКО_ПослеЗагрузки_МатериалыGUID", "!!!");
        Сообщить("  - " + ОписаниеОшибки());
        //ЗафиксироватьОшибку("Ошибка исполнения обработчика:  ПКО_ПослеЗагрузки_МатериалыGUID" + ": " + ОписаниеОшибки());

    КонецПопытки;



    Возврат Отказ;

КонецФункции // ПКО_ПослеЗагрузки_МатериалыGUID()
1 breezee
 
28.12.17
13:41
Вроде и так вызвается, какая-то магия)
2 breezee
 
28.12.17
13:49
Подскажите, пожалуйста, как мне найти документ по реквизиту в семерке?
3 Builder
 
28.12.17
13:52
(2) Найти только запросом.
Выбрать можно так:
ВыбратьПоЗначению(<Дата1>,<Дата2>,<ИмяОтбора>,<Знач>)
4 Kigo_Kigo
 
28.12.17
14:01
(3) + Реквизит должен быть общим, для всех документов, в свойствах стоять галка- Отбор
5 breezee
 
28.12.17
14:12
Подскажите, пожалуйста, не могу запрос написать

лВнутреннийКод8 = Объект.Комментарий;
        
        Запрос = СоздатьОбъект("Запрос");
        ТекстЗапроса = "
        //|Период С ДатаНач По ДатаКон;
        |ТекущийЭлемент = Документ.ПоступлениеТМЦ.ТекущийДокумент;
        |ДатаИзменения = Документ.ПоступлениеТМЦ.ДатаДок;
        |Группировка ТекущийЭлемент;
        |Условие(ВнутреннийКод8 = лВнутреннийКод8);";
        
        Запрос.Выполнить(ТекстЗапроса);
        Пока Запрос.Группировка(1) = 1 Цикл
            Сообщить(Запрос.ТекущийЭлемент);
        КонецЦикла;

выдает ВНУТРЕННИЙКОД8<<?>>
Переменная не определена (ВНУТРЕННИЙКОД8)
Ошибка исполнения обработчика:  ПКО_ПослеЗагрузки_ПоступлениеДопРасходыТМЦ
  - Условие(ВнутреннийКод8  <<?>> = лВнутреннийКод8);
Запрос[5] : Ошибка в выражении 'ВнутреннийКод8'
Конец загрузки:        18:09:44

Я и слева пытался переменную писать и справа - не рабоатет нихера
6 Kigo_Kigo
 
28.12.17
14:17
ВнутреннийКод8
А где вы определили переменную ВнутреннийКод8
наверно вот так надо
|ТекущийЭлемент = Документ.ПоступлениеТМЦ.ТекущийДокумент;
|ДатаИзменения = Документ.ПоступлениеТМЦ.ДатаДок;
|ВнутреннийКод8 = Документ.ПоступлениеТМЦ.ВнутреннийКод8;
|Группировка ТекущийЭлемент;
|Условие(ВнутреннийКод8 = лВнутреннийКод8);";
?
7 Kigo_Kigo
 
28.12.17
14:18
Или так
|ТекущийЭлемент = Документ.ПоступлениеТМЦ.ТекущийДокумент;
|ДатаИзменения = Документ.ПоступлениеТМЦ.ДатаДок;
|ВнутреннийКод8 = Документ.ПоступлениеТМЦ.ВнутреннийКод8;
|Группировка ТекущийЭлемент;
|Условие(ВнутреннийКод8 В лВнутреннийКод8);";
8 breezee
 
28.12.17
14:19
(6) Гигантское спасибо! Получилось)