|
|
Как обратиться к ТЧ документа через 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
|
+ к мухаха
период поиска всегда указывается(для периодических документов), не только через ком
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший