powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / VFP9 1C8.1+SQL.
2 сообщений из 2, страница 1 из 1
VFP9 1C8.1+SQL.
    #35503090
tatyana_rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет...
Вопрос об использование в VFP9 1C8.1+SQL. Есть необходимость из фокса создавать документ в 1С через COMConnector. В общем-то все более-менее создается и загружается, но возникла необходимость получить цену номенклатуры из регистра сведений. Есть два варианта получения результата(может и больше).
1) Запрос – тут загвоздка как передать параметр в запрос, Например: ДатаДок и Номенклатура – эти переменные есть в Фоксе, их надо передать в 1С-овский запрос.
zapros = OBzapros.NewObject("Запрос")
zapros.Текст =;
" ВЫБРАТЬ ЦеныНоменклатурыСрезПоследних.Номенклатура как номенклатура,"+;
" ЦеныНоменклатурыСрезПоследних.Цена как Цена, ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения "+;
" ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&, Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыСрезПоследних"

В 1С запрос выглядит так
ВЫБРАТЬ
ЦеныНоменклатурыСрезПоследних.Номенклатура,
ЦеныНоменклатурыСрезПоследних.Цена,
ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаНач, Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыСрезПоследних

2) Получение данных непосредственно через Регистр сведений
СтруктураОтбор = OBzapros.NewObject("Структура")
СтруктураОтбор.Вставить("ТипЦен", ТипЦен)
СтруктураОтбор.Вставить("Номенклатура", СсылкаТовар)
ВыборкаД = ObZapros.РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(Дата,СтруктураОтбор)
ВыборкаД определяется как объект, но вытащить элементы выборки никак не получается, хотя в 1С эта выборка работает.

в 1С это делается так
НомСсылка = Справочники.Номенклатура.НайтиПоКоду("4062001");
ТицЦенСсылка = Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Страховой");

СтруктураОтбор = Новый Структура;
СтруктураОтбор.Вставить("ТипЦен", ТицЦенСсылка);
СтруктураОтбор.Вставить("Номенклатура",НомСсылка);
ВыборкаД = РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ТекущаяДата(),СтруктураОтбор);
Если ВыборкаД <> Неопределено Тогда
Цена = ВыборкаД.Цена;
КонецЕсли;

В Фоксе пытаюсь так…но возникает ошибка, может кто знает, какими операторы тут должны использоваться.
DO While ВыборкаД.Следующий()
СтрокаТЧ.Цена = ВыборкаД.Цена
Enddo

Заранее спасибо
...
Рейтинг: 0 / 0
VFP9 1C8.1+SQL.
    #35503105
tatyana_rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По запросу вопрос решился, надо было добавить параметры след образом

zapros .УстановитьПараметр("ДатаНач", .Дата)
zapros .УстановитьПараметр("Товар", ССылкаТовар )
zapros.Текст =;
" ВЫБРАТЬ ЦеныНоменклатурыСрезПоследних.Номенклатура как номенклатура,"+;
" ЦеныНоменклатурыСрезПоследних.Цена как Цена, ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения "+;
" ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаНач, Номенклатура = &Товар ) КАК ЦеныНоменклатурыСрезПоследних"
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / VFP9 1C8.1+SQL.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]