Версия 8.3.7.1845
Бухгалтерия для Беларуси 1.6
Доброго времени суток. Делаю запрос и получаю COM объект в значениях.
Как получить сами значения из запроса, то есть не COMобъекты, а цифры строки и т.д.?
ЗапросВТорг = База.NewObject("Запрос");
ЗапросВТорг.Текст = "ВЫБРАТЬ
| ПеремещениеТоваров.Ссылка,
| ПеремещениеТоваров.ВерсияДанных,
| ПеремещениеТоваров.ПометкаУдаления,
| ПеремещениеТоваров.Номер,
| ПеремещениеТоваров.Дата,
| ПеремещениеТоваров.Проведен,
| ПеремещениеТоваров.Автомобиль,
| ПеремещениеТоваров.ВидОперации,
| ПеремещениеТоваров.ОтражатьВНалоговомУчете,
| ПеремещениеТоваров.Владелец,
| ПеремещениеТоваров.Водитель,
| ПеремещениеТоваров.ДоверенностьДата,
| ПеремещениеТоваров.ДоверенностьНомер,
| ПеремещениеТоваров.ДоверенностьФИО,
| ПеремещениеТоваров.Сделка,
| ПеремещениеТоваров.Заказчик,
| ПеремещениеТоваров.КоличествоСтрокНаСтраницеПриложения,
| ПеремещениеТоваров.Комментарий,
| ПеремещениеТоваров.КомуВыданыТМЦ,
| ПеремещениеТоваров.СчетСписанияНДСНУ,
| ПеремещениеТоваров.СубконтоСписанияНДСНУ1,
| ПеремещениеТоваров.СубконтоСписанияНДСНУ2,
| ПеремещениеТоваров.СубконтоСписанияНДСНУ3,
| ПеремещениеТоваров.НДСвСтоимостиТоваров,
| ПеремещениеТоваров.НомерНакладной,
| ПеремещениеТоваров.Организация,
| ПеремещениеТоваров.ОснованиеОтпуска,
| ПеремещениеТоваров.Ответственный,
| ПеремещениеТоваров.ОтпускПроизвел,
| ПеремещениеТоваров.ОтпускРазрешил,
| ПеремещениеТоваров.ПереданыДокументы,
| ПеремещениеТоваров.ПечататьНаОдинЛист,
| ПеремещениеТоваров.ПринялПолучатель,
| ПеремещениеТоваров.Прицеп,
| ПеремещениеТоваров.ПунктПогрузки,
| ПеремещениеТоваров.ПунктРазгрузки,
| ПеремещениеТоваров.ПутевойЛист,
| ПеремещениеТоваров.РучнаяКорректировка,
| ПеремещениеТоваров.СдалОтправитель,
| ПеремещениеТоваров.СерияБланка,
| ПеремещениеТоваров.СкладОтправитель,
| ПеремещениеТоваров.СкладПолучатель,
| ПеремещениеТоваров.СубконтоСписанияНДС1,
| ПеремещениеТоваров.СубконтоСписанияНДС2,
| ПеремещениеТоваров.СубконтоСписанияНДС3,
| ПеремещениеТоваров.СчетСписанияНДС,
| ПеремещениеТоваров.ТипЦен,
| ПеремещениеТоваров.Транспорт,
| ПеремещениеТоваров.Франко,
| ПеремещениеТоваров.ВидПеревозки,
| ПеремещениеТоваров.Грузоотправитель,
| ПеремещениеТоваров.Грузополучатель,
| ПеремещениеТоваров.ЦельПриобретения,
| ПеремещениеТоваров.Экспедитор,
| ПеремещениеТоваров.ВидимостьТабличнойЧастиСписаниеБСО,
| ПеремещениеТоваров.ТипБСО,
| ПеремещениеТоваров.АвтоЗаполнениеПриОбмене,
| ПеремещениеТоваров.КоличествоЕздок,
| ПеремещениеТоваров.Товары.(
| Ссылка,
| НомерСтроки,
| Номенклатура,
| КоличествоМест,
| ЕдиницаИзмерения,
| Коэффициент,
| Количество,
| Цена,
| СчетУчетаБУ,
| СчетУчетаНУ,
| НовыйСчетУчетаБУ,
| НовыйСчетУчетаНУ,
| ЦенаВРознице,
| СуммаВРознице,
| СтавкаНДСВРознице,
| ДокументОприходования,
| Партия,
| ВидТары,
| КоличествоВМесте,
| Масса,
| ГрузоДокументы,
| Протокол,
| Прейскурант,
| СтавкаНПВРознице,
| Сертификат,
| СтранаПроисхождения,
| ЦенаИзготовителя,
| Сделка,
| СтавкаНП,
| Контрагент,
| ДоговорКонтрагента,
| ЦенаВРубляхБезНДС,
| Номенклатура.Код КАК КодНоменклатуры
| ),
| ПеремещениеТоваров.ТоварыНаКомиссии.(
| Ссылка,
| НомерСтроки,
| Номенклатура,
| КоличествоМест,
| ЕдиницаИзмерения,
| Коэффициент,
| Количество,
| Цена,
| СчетУчетаБУ,
| СчетУчетаНУ,
| НовыйСчетУчетаБУ,
| НовыйСчетУчетаНУ,
| Номенклатура.Код КАК КодНоменклатуры
| ),
| ПеремещениеТоваров.ВозвратнаяТара.(
| Ссылка,
| НомерСтроки,
| Номенклатура,
| Количество,
| СчетУчетаБУ,
| СчетУчетаНУ,
| НовыйСчетУчетаБУ,
| НовыйСчетУчетаНУ,
| Партия,
| ЕдиницаИзмерения,
| ЦенаВРубляхБезНДС,
| Номенклатура.Код КАК КодНоменклатуры
| ),
| ПеремещениеТоваров.НомераБСО.(
| Ссылка,
| НомерСтроки,
| Организация,
| ТипХранения,
| Номенклатура,
| Партия,
| Склад,
| Сотрудник,
| ТипБСО,
| СерияБСО,
| НомерБланка,
| Количество,
| Сумма,
| ТипСписания,
| Основной,
| Номенклатура.Код КАК КодНоменклатуры
| )
|ИЗ
| Документ.ПеремещениеТоваров КАК ПеремещениеТоваров
|ГДЕ
| ПеремещениеТоваров.Дата МЕЖДУ &Дата1 И &Дата2";
ЗапросВТорг.УстановитьПараметр("Дата1",Дата(ЭтотОбъект.Дата1));
ЗапросВТорг.УстановитьПараметр("Дата2",Дата(ЭтотОбъект.Дата2));
РезультатВыбора = ЗапросВТорг.Выполнить().Выбрать();
Счетчик = 0;
СчетчикНеудачПоКоду =0;
СчетчикНеудачПоНаименванию= 0;
СчетчикОтсутсвияНоменклатуры = 0;
СчетчикДокументов = 0;
Пока РезультатВыбора.Следующий() Цикл
Предмет = Справочники.Номенклатура.НайтиПоКоду(РезультатВыбора.Товары.Columns.КодНоменклатуры);
НаименованиеПредмета = Справочники.Номенклатура.НайтиПоНаименованию( РезультатВыбора.Товары.Columns.Номенклатура, Истина);
Если ЗначениеЗаполнено(Предмет)И ЗначениеЗаполнено (НаименованиеПредмета ) Тогда
Счетчик = Счетчик +1;
ИначеЕсли ЗначениеЗаполнено(Предмет) И НЕ ЗначениеЗаполнено (НаименованиеПредмета ) Тогда
СчетчикНеудачПоНаименванию = СчетчикНеудачПоНаименванию +1;
ИначеЕсли НЕ ЗначениеЗаполнено(Предмет) И ЗначениеЗаполнено (НаименованиеПредмета ) Тогда
СчетчикНеудачПоКоду = СчетчикНеудачПоКоду +1;
ИначеЕсли НЕ ЗначениеЗаполнено(Предмет) И НЕ ЗначениеЗаполнено (НаименованиеПредмета ) Тогда
СчетчикОтсутсвияНоменклатуры = СчетчикОтсутсвияНоменклатуры + 1;
КонецЕсли;
СчетчикДокументов = СчетчикДокументов + 1;
КонецЦикла;
Сообщить ("Было проверено " + СчетчикДокументов + " документов"+" с " + Формат(Дата(ЭтотОбъект.Дата1), "ДФ=dd.MM.yyyy")
+ " по " + Формат(Дата(ЭтотОбъект.Дата2), "ДФ=dd.MM.yyyy"));
Сообщить ("Было " +Счетчик + " попаданий");
Сообщить ("Было промахов по причине кода " + СчетчикНеудачПоКоду);
Сообщить ("Было неудач по наименованию " + СчетчикНеудачПоНаименванию);
Сообщить ("Не было найдено номенклатуры ни по коду, ни по наименованию " + СчетчикОтсутсвияНоменклатуры);