Имя: Пароль:
1C
1С v8
Обращение к журналу регистрации через ком соединение
,
0 Servang
 
28.05.20
08:33
Здравствуйте!
Помогите, пожалуйста, ибо все никак не могу понять. Как выгрузить журнал регистрации другой базы через com соединение
1 Servang
 
28.05.20
08:37
Ибо если я устанавливаю ком соединение и пишу допустим
База1С.ВыгрузитьЖурналРегистрации, то мне пишет, что метод объекта не обнаружен
2 Servang
 
28.05.20
08:42
{ВнешняяОбработка.ЖурналРегистрации.Форма.Форма.Форма(45)}: Ошибка при вызове метода контекста (ВыгрузитьЖурналРегистрации)
            База1С.ВыгрузитьЖурналРегистрации(ВыгрузЖР, Отбор, "Дата, ПредставлениеПриложения, Пользователь, ИмяПользователя");
по причине:
Произошла исключительная ситуация (1C:Enterprise 8.3.15.1830): Несоответствие типов (параметр номер '1')
Произошла исключительная ситуация (1C:Enterprise 8.3.15.1830): Несоответствие типов (параметр номер '1')

Ничего не менял, просто заново запустил, появилась другая ошибка. Хотя тип подходит. Код прилагаю

База1С = COMConnector.Connect(ПараметрыСоединения);
        
ВыгрузЖР = Новый ТаблицаЗначений;    
Отбор = новый структура;
Отбор.Вставить("Событие", "_$Session$_.Start");
Отбор.Вставить("ДатаНачала", НачалоДня(ДобавитьМесяц(ТекущаяДата(), - 1)));
Отбор.Вставить("ДатаОкончания", КонецДня(ТекущаяДата()));
Отбор.Вставить("Пользователь",  ПользователиИнформационнойБазы.ПолучитьПользователей());
База1С.ВыгрузитьЖурналРегистрации(ВыгрузЖР, Отбор, "Дата, ПредставлениеПриложения, Пользователь, ИмяПользователя");
3 azt-yur
 
28.05.20
08:48
(2) у тебя первый параметр ВыгрузЖР таблица значений создана в базе откуда подключаешься, которая не может быть принята источников.
Создавай ТЗ с источнике:
ВыгрузЖР = База1С.NewObject("ТаблицаЗначений");
4 azt-yur
 
28.05.20
08:49
(3) + скорей всего по второму параметру структуре будет то же самое
5 Servang
 
28.05.20
09:04
Сделал, но теперь пишет, что метод объекта не обнаружен (ВЫгрузить журнал регистрации)
База1С = COMConnector.Connect(ПараметрыСоединения);
        
ВыгрузЖР = База1С.NewObject("ТаблицаЗначений");    
Отбор = База1С.NewObject("Структура");
Отбор.Вставить("Событие", "_$Session$_.Start");
Отбор.Вставить("ДатаНачала", НачалоДня(ДобавитьМесяц(ТекущаяДата(), - 1)));
Отбор.Вставить("ДатаОкончания", КонецДня(ТекущаяДата()));
Отбор.Вставить("Пользователь",  База1С.ПользователиИнформационнойБазы.ПолучитьПользователей());

База1С.ВыгрузитьЖурналРегистрации(ВыгрузЖР, Отбор, "Дата, ПредставлениеПриложения, Пользователь, ИмяПользователя"); (4)
6 azt-yur
 
28.05.20
09:17
(5) нигде опечатку не допустил? у тебя же как то в (2) метод был обнаружен
7 Servang
 
28.05.20
09:23
(6) Та вроде нет, я даже скопировал этот метод
8 azt-yur
 
28.05.20
09:26
(7) Из СП:
Синтаксис:
ВыгрузитьЖурналРегистрации(<Приемник>, <Отбор>, <Колонки>, <ИмяВходногоФайла>, <МаксимальноеКоличество>)
Параметры:
<Приемник> (обязательный)
Тип: Строка, ТаблицаЗначений.
Строка, содержащая имя выходного XML файла, либо таблица значений, в которую будут выгружены выбранные в соответствии с отбором записи журнала регистрации.
В случае выгрузки в таблицу значений, она содержит колонки, в соответствии с параметром <Колонки>:


У тебя ТЗ должна содержать колонки, которые у тебя в 3-ьем параметре указаны. Создай их для ТЗ. Может в этом косяк
9 Servang
 
28.05.20
09:30
(8) Спасибо большое. Просто когда я выгружал ЖР со своей базы, то необязательно было создавать колонки, он их сам создавал
10 azt-yur
 
28.05.20
09:35
(9) заработало? я проверил у себя - у меня работает и без создания колонок (создаются сами). все таки ошибка в другом наверное
11 Servang
 
28.05.20
09:47
(10) да, заработало