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

Автор Тема: Ошибка в запросе при попытке получения значения из Табличной части документа  (Прочитано 1577 раз)

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

Оффлайн bigrunner

  • *
  • Сообщений: 1
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-08
  • Сайт: 
  • Профессия: Программист 1С
Необходимо получить предыдущую цену продажи по данному Контрагенту, Дате и номенклатуре.
В первом запросе все получилось и предыдущая дата(с таким контрагентом) определяется верно, но второй запрос с выводом предыдущей цены не дает никакого результата. Данные в дальнейшем планируется вывести в поле ввода в табличной части документа.(Поле не является реквизитом табличной части).
Помогите кто может,подскажите где ошибся. Вся загвоздка в том что поле Цена это поле табличной части формы документа,как и номенклатура. А дата и контрагент поля формы документа. Спасибо.
Код:
Строка=ЭлементыФормы.Товары.ТекущиеДанные;
Номенклатура=Строка.Номенклатура;
Сообщить(""+Контрагент+" от "+Дата+" По "+Номенклатура);
    Запрос1=Новый Запрос;
    Запрос1.Текст="ВЫБРАТЬ
                  | МАКСИМУМ(РеализацияТоваровУслуг.Дата) КАК ПредыдущаяДата,
                  | РеализацияТоваровУслуг.Контрагент
                  |ИЗ
                  | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
                  |ГДЕ
                  | РеализацияТоваровУслуг.Дата < &Дата
                  | И РеализацияТоваровУслуг.Контрагент = &Контрагент
                  |
                  |СГРУППИРОВАТЬ ПО
                  | РеализацияТоваровУслуг.Контрагент";
Запрос1.УстановитьПараметр("Контрагент", Контрагент);
Запрос1.УстановитьПараметр("Дата", Дата);
РезультатЗапроса1 = Запрос1.Выполнить();
 
    Выборка1 = РезультатЗапроса1.Выбрать();
 
    Пока Выборка1.Следующий() Цикл
        НужнаяДата=Выборка1.ПредыдущаяДата;
    КонецЦикла;
    Сообщить("Нужная дата%"+НужнаяДата);
    ПредыдущаяДата=НужнаяДата;
    Запрос = Новый Запрос;
    Запрос.Текст ="ВЫБРАТЬ
                  | РеализацияТоваровУслуг.Товары.(
                  |     Цена
                  | ) КАК Цена
                  |ИЗ
                  | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
                  |ГДЕ
                  | РеализацияТоваровУслуг.Дата = &Дата";
               
 
    Запрос.УстановитьПараметр("Дата", ПредыдущаяДата);
    Результат=Запрос.Выполнить().Выбрать();
    Пока Результат.Следующий() Цикл
        ПрЦена=Результат.Цена;
        КонецЦикла;
Сообщить("Предыдущая цена на товар равна "+ПрЦена);


Оффлайн LexaK

  • *****
  • Сообщений: 1267
  • РЕПУТАЦИЯ: 347
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
надо(можно) все сделать в одном запросе и получить следующую таблицу с такими колонками
Контрагент, Товар, ПредыдущаяЦена, ПоследняяЦена

и никаких циклов и запросов в циклах не надо
внутри этого запроса используйте временные таблицы для промежуточных данных, команда Поместить ВременнаяТаблица
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн murat1992

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-11
  • Сайт: 
  • Профессия: Программист 1С
Второй запрос должен быть
"ИЗ Документ.РеализацияТоваровУслуг.Товары"

К документу обращайся через Ссылку.

Пример:
ВЫБРАТЬ
Товары.Ссылка.Дата
ИЗ
Документ.РеализацияТоваровУслуг.Товары Как Товары

Не забудь добавить условие про номенклатуру и контрагента!


 

Не открывает форму сохраненного документа, открывает форму нового.

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

Ответов: 1
Просмотров: 4489
Последний ответ 13 Апр 2012, 23:26
от Vit1501
Добавление сведений в графу "основание" документа "ТОРГ-12"

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

Ответов: 4
Просмотров: 7760
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984
"Не совпадают сумма документа и общая сумма по платежным ведомостям"

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

Ответов: 1
Просмотров: 4792
Последний ответ 11 Янв 2015, 02:55
от MuI_I_Ika
Фамилия руководителя в печатных формах документа "Акт сверки", "Акт об оказании"

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

Ответов: 1
Просмотров: 7352
Последний ответ 03 Фев 2012, 17:27
от Dinah
Не заполняется поле "Цена" при формировании документа "Пересчет товаров"

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

Ответов: 4
Просмотров: 1093
Последний ответ 29 Дек 2016, 09:54
от Innakecha

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
133 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
62 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
41 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
27 Сообщений
alexandr_ll
23 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal