Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Получение текущих цен.  (Прочитано 3263 раз)
0 Пользователей и 1 Гость смотрят эту тему.
mrborman
Гость
« : 18-06-2009 08:33 » 

Джентльмены, приветствую, есть вопрос:

Для сайта делается механизм обновления прайса из 1С. Для этого делается внешняя обработка. Все нормально, за исключением одного момента. Не удается получить цены. На моем компьютере все работает, цены получаются, а на реальной системе нет. Правда разработка велась на версии 1С 8.0 Предприятие, типовая конфигурация, файловая версия.  На реальной системе тоже типовая, но 8.1. серверная.  Но ведь вряд ли из-за этого такая разница..

Прилагаю ниже запрос, которым делаю выборку, подскажите пожалуйста, что не так?

запрос = Новый Запрос;

ТипЦенВЗапросе1 = Новый СписокЗначений;
ТипЦенВЗапросе1.Добавить(Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Розничная"));

ТипЦенВЗапросе2 = Новый СписокЗначений;
ТипЦенВЗапросе2.Добавить(Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Оптовая"));


запрос.Текст = "
|ВЫБРАТЬ
| Рег.Номенклатура КАК Номенклатура,
| Рег.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| Рег.ТипЦен.Ссылка КАК ТипЦен,
| Рег.Цена КАК Цена,
| Рег2.Цена КАК ЦенаОпт,
| Рег.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Рег.Валюта КАК Валюта
| ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаПрайса, ТипЦен В (&ТипыЦен1)) КАК Рег
| ЛЕВОЕ СОЕДИНЕНИЕ
|     РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаПрайса, ТипЦен В (&ТипыЦен2)) КАК Рег2 ПО Рег2.Номенклатура=Рег.Номенклатура
|УПОРЯДОЧИТЬ ПО Рег.Номенклатура, Рег.ТипЦен
|";


запрос.УстановитьПараметр("хар", Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка());
запрос.УстановитьПараметр("ТипыЦен1", ТипЦенВЗапросе1);
запрос.УстановитьПараметр("ТипыЦен2", ТипЦенВЗапросе2);
запрос.УстановитьПараметр("ДатаПрайса", ТекущаяДата());

результат = запрос.Выполнить();

Выборка = результат.Выбрать();

Ну и далее в цикле перебирая выборку поля Выборка.Цена и Выборка.ЦенаОпт дают либо "0" либо пустую строку..

В чем ошибка?

Заранее благодарю.
Записан
Kivals
Модератор

us
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 18-06-2009 11:48 » 

Элементы справочника по наименованию точно находятся? ошибка в одном символе - и у тебя ТипЦенВЗапросе1 или ТипЦенВЗапросе2 будут пустыми.
Записан
mrborman
Гость
« Ответ #2 : 19-06-2009 05:00 » 

 приходит номернклатура, а поля "Рег.Цена КАК Цена"  и  "Рег2.Цена КАК ЦенаОпт"  приходят то оба "0" то оба пусто.  (В базе забиты цены не для всех товаров). Вот буксую пока...

Записан
Kivals
Модератор

us
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 19-06-2009 08:21 » 

Кстати - при такой выборке у тебя попадут только те товары, которым проставлены розничные цены, а к ним приклеятся (если есть) те, у которых есть оптовые. Если у товара задана только оптовая цена - он не попадет в выборку
Причина: у тебя первичный отбор по таблице
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаПрайса, ТипЦен В (&ТипыЦен1)) КАК Рег
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines