Имя: Пароль:
1C
1С v8
Как обратиться к ТЧ документа через COMConnector?
0 altaykniga
 
05.02.17
11:56
Добрый день, уважаемые. Прошу подсказки умных людей. Первый раз столкнулся с СОМ-подключением.

Написал такую процедуру:


    Соединение = ПолучитьПодключениеКФайловойБД();
    
    Если Соединение = Неопределено Тогда
        возврат;
    КонецЕсли;
    
    СсылкаНаОбъект = Соединение.Документы.РеализацияТоваровУслуг.НайтиПоНомеру("01000000001");
    
    Запрос = Соединение.NewObject("Запрос"); // для V82.COMConnector    
    Запрос.Текст =
     "ВЫБРАТЬ
     |    РеализацияТоваровУслугТовары.Номенклатура.Код КАК Код,
     |    РеализацияТоваровУслугТовары.Количество КАК Количество
     |ИЗ
     |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
     |ГДЕ
     |    РеализацияТоваровУслугТовары.Ссылка = &Ссылка";
     Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект);
    
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        Сообщить("Код---"+Выборка.Код);
        Сообщить("Количество---"+Выборка.Количество);
    КонецЦикла;


В выборку ничего не попадает, т.е. результат запроса пустой. Что делаю не так?

Задача такая: нужно из одной базы 1с подключиться к другой базе 1с, найти док Реализации по номеру, году и считать из ТЧ "Товары" найденного документа строки - код номенклатуры, количество и номер строки ТЧ.

Как этого добиться?
1 altaykniga
 
05.02.17
12:09
как выяснилось, не срабатывает этот код:


СсылкаНаОбъект = Соединение.Документы.РеализацияТоваровУслуг.НайтиПоНомеру("01000000001");


еще бы узнать, почему
2 jsmith82
 
05.02.17
12:12
период может не указал, а по дефолту прошлогодний нужен
3 jsmith82
 
05.02.17
12:13
вернее, по дефолту ищется не в том периоде
проверь йопт
4 h-sp
 
05.02.17
12:15
(1) второй параметр не указал в НайтиПоНомеру
5 Неверный Параметр И
 
05.02.17
12:16
ГДЕ Ссылка В (ВЫБРАТЬ Ссылка ИЗ Документ.РеализацияТоваровУслуг ГДЕ Номер=&Номер)
6 kubik_live
 
05.02.17
12:16
(3) +1
В НайтиПоНомеру для ком надо указать явно все параметры.
7 Fram
 
05.02.17
12:17
(0) а почему номер в запрос не передаешь?
8 altaykniga
 
05.02.17
12:19
(7) блин, точно. Можно же в запросе по номеру дока сразу сделать
9 altaykniga
 
05.02.17
12:20
но все-таки док по номеру найти не могу. Почему?

уже номер дока изменил на "1234       "
Пробовал уже и так написать:


СсылкаНаОбъект = Соединение.Документы.РеализацияТоваровУслуг.НайтиПоНомеру("1234       ", 2014);


Док не находится и все тут
10 Lexey_
 
05.02.17
12:28
(9) НайтиПоНомеру(<НомерДокумента>, <ДатаИнтервала>)
<ДатаИнтервала> (необязательный)
Тип: Дата.
11 jsmith82
 
05.02.17
12:29
>>2014 мухаха
12 jsmith82
 
05.02.17
12:30
Дата(2014, 1, 1)
13 lEvGl
 
гуру
05.02.17
12:36
+ к мухаха
период поиска всегда указывается(для периодических документов), не только через ком