Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
12 Дек 2017, 09:55
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Как получить цену товара в документе запросом  (Прочитано 7124 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн headstik

  • *
  • Сообщений: 14
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-12-03
  • Сайт: 
  • Профессия: Программист 8.1
Типовая конфигурация УТ 10.3
Запросом к регистру накопления ТоварыНаСкладах вытаскиваю документы связанные с движением товаров на складе за определенный период с детализацией вида и номера документа, контрагента, номенклатуры, количества товара. А вот получить цену товара в документе ну никак. Есть сумма документа, но это не то.

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


Оффлайн Msoul

  • **
  • Сообщений: 74
  • РЕПУТАЦИЯ: 6
  • КПД: 8%
  • Регистрация: 2010-04-19
  • Сайт: 
Я бы сделал так:
Запрос сокращен, но я думаю без труда можно его расширить
ВЫБРАТЬ
ТоварыНаСкладах.Регистратор КАК Документ
ПОМЕСТИТЬ Документы
ИЗ
РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
ГДЕ
ТоварыНаСкладах.Регистратор.Дата МЕЖДУ &ДатаН И &ДатаК
И ТоварыНаСкладах.Номенклатура В ИЕРАРХИИ(&Номенклатура)

СГРУППИРОВАТЬ ПО
ТоварыНаСкладах.Регистратор
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
РеализацияТоваровУслугТовары.Ссылка.Дата,
РеализацияТоваровУслугТовары.Ссылка.Контрагент,
РеализацияТоваровУслугТовары.Номенклатура,
РеализацияТоваровУслугТовары.Цена
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
РеализацияТоваровУслугТовары.Ссылка.Ссылка В
(ВЫБРАТЬ
Документы.Документ
ИЗ
Документы)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
ПоступлениеТоваровУслугТовары.Ссылка.Дата,
ПоступлениеТоваровУслугТовары.Ссылка.Контрагент,
ПоступлениеТоваровУслугТовары.Номенклатура,
ПоступлениеТоваровУслугТовары.Цена
ИЗ
Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
ГДЕ
ПоступлениеТоваровУслугТовары.Ссылка В
(ВЫБРАТЬ
Документы.Документ
ИЗ
Документы)

Оффлайн headstik

  • *
  • Сообщений: 14
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-12-03
  • Сайт: 
  • Профессия: Программист 8.1
Честно говоря для меня это немного сложно, я новичок. Это несколько запросов или один? Я так пониманию каждый новый текст запроса начинается со слова ВЫБРАТЬ?
А нельзя дополнить текст запроса размещенный мной выше для получения цены товара?

Оффлайн Msoul

  • **
  • Сообщений: 74
  • РЕПУТАЦИЯ: 6
  • КПД: 8%
  • Регистрация: 2010-04-19
  • Сайт: 
Один запрос. Просто, можно сказать, выполняется в несколько этапов. Сначала создается временная таблица Документы со списком документов, потом выбираем номенклатуру из документов из этого списка.


Оффлайн headstik

  • *
  • Сообщений: 14
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-12-03
  • Сайт: 
  • Профессия: Программист 8.1
Что-то не так. Выдает ошибку:
Ошибка при вызове метода контекста (Выполнить): {(11, 1)}: Синтаксическая ошибка "РеализацияТоваровУслугТовары.Ссылка.Дата"
<<?>>РеализацияТоваровУслугТовары.Ссылка.Дата КАК Дата,
Насколько я понимаю в данном коде
ВЫБРАТЬ
    РеализацияТоваровУслугТовары.Ссылка.Дата,
    РеализацияТоваровУслугТовары.Ссылка.Контрагент,
    РеализацияТоваровУслугТовары.Номенклатура,
    РеализацияТоваровУслугТовары.Цена
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
    РеализацияТоваровУслугТовары.Ссылка В
            (ВЫБРАТЬ
                Документы.Документ
            ИЗ
                Документы)
|ОБЪЕДИНИТЬ ВСЕ
происходит обращение к табличной части документа к параметрам Дата и Контрагент которых там нет.

Оффлайн headstik

  • *
  • Сообщений: 14
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-12-03
  • Сайт: 
  • Профессия: Программист 8.1
Почему-то в этом месте
СГРУППИРОВАТЬ ПО
    ТоварыНаСкладах.Регистратор
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
пишет что
Цитировать
Пропущен символ '"' (двойная кавычка)
   |СГРУППИРОВАТЬ ПО ТоварыНаСкладах.Регистратор<<?>>
Что не так?
Добавлено: 07 Янв 2013, 14:37

Нашел. Забыл поставить перед ; и ////// прямой слэш )))

Все таки я добью свой вариант.
Следующий код
	|  ВЫБОР
|    КОГДА ТоварыНаСкладах.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг ТОГДА Документ.РеализацияТоваровУслуг.Товары.Цена
|  КОНЕЦ КАК Цена
считается не валидным. Выходит следующее сообщение
Цитировать
Ошибка при вызове метода контекста (Выполнить): {(27, 93)}: Неверные параметры "Документ.РеализацияТоваровУслуг.Товары.Цена"
КОГДА ТоварыНаСкладах.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг ТОГДА ЗНАЧЕНИЕ(<<?>>Документ.РеализацияТоваровУслуг.Товары.Цена)
Просьба знающих подсказать в чем моя ошибка. Заранее спасибо.

Последний раз редактировалось: headstik; 07 Янв 2013, 14:37

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
ЗНАЧЕНИЕ - Это Зачем?
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн headstik

  • *
  • Сообщений: 14
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-12-03
  • Сайт: 
  • Профессия: Программист 8.1
Все таки добил вариант Msoul'а
Написал так:
ВЫБРАТЬ
    ТоварыНаСкладах.Регистратор КАК Документ
ПОМЕСТИТЬ Документы
ИЗ
    РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
ГДЕ
    ТоварыНаСкладах.Регистратор.Дата МЕЖДУ &ДатаН И &ДатаК
СГРУППИРОВАТЬ ПО
    ТоварыНаСкладах.Регистратор
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
""Реализация товаров и услуг"" КАК ВидДокумента,
РеализацияТоваровУслуг.Ссылка.Дата КАК Дата,
    РеализацияТоваровУслуг.Ссылка.Контрагент КАК Клиент,
РеализацияТоваровУслуг.Ссылка.Номер КАК НомерДокумента,
РеализацияТоваровУслугТовары.Номенклатура.Код КАК КодТовара,
    РеализацияТоваровУслугТовары.Номенклатура КАК Товар,
РеализацияТоваровУслугТовары.Количество*РеализацияТоваровУслугТовары.Коэффициент КАК Количество,
    ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Цена/РеализацияТоваровУслугТовары.Коэффициент КАК ЧИСЛО (15,2)) КАК Цена
ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
            ПО РеализацияТоваровУслуг.Ссылка = РеализацияТоваровУслугТовары.Ссылка
            ГДЕ
    РеализацияТоваровУслуг.Ссылка В
            (ВЫБРАТЬ Документы.Документ ИЗ Документы) И
                РеализацияТоваровУслугТовары.Номенклатура В ИЕРАРХИИ(&Номенклатура)
Всем спасибо!


Теги:
 

Получить номер недели в месяце в запросе [номер недели]

Автор MuI_I_IkaРаздел Алгоритмы

Ответов: 0
Просмотров: 4121
Последний ответ 15 Июл 2015, 18:24
от MuI_I_Ika
как получить значение реквизита "Код" в обработке "ПодборНоменклатуры" в УТ10.3

Автор JalibРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 1074
Последний ответ 02 Дек 2016, 12:58
от Jalib
УТ 10.3 Цена единицы товара в партии и цена списания этой единицы при реализации не совпадают????????????????????????

Автор i_antonРаздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 4862
Последний ответ 31 Янв 2014, 12:22
от i_anton
Не списано 0,0004 кг товара "XXXXX", счет учета 1310, склад Склад материалов

Автор RamirasРаздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 4865
Последний ответ 30 Июл 2015, 09:21
от Макси
Получить полный HTTP код с сервера, Именно полный!

Автор Shining ninjaРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 2143
Последний ответ 12 Авг 2011, 15:23
от Shining ninja

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
168 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
29 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 800
  • Точка Скрытых: 0
  • Точка Пользователей: 12
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal