Данные Из Предыдущего Документа

  • Автор темы Guest
  • Дата начала
G

Guest

#1
Добрый день!
Подскажите пожалуйста..
Как обратиться к предыдущему документу?
Есть документ Установка цены с табличной частью Номенклатура,где хранится цена номенклатуры. Как сделать так,чтобы при последующем создании документа Установка цен цена автоматически ставилась из предыдущего документа Установка цен?
Спасибо заранее!
 

Allexei

Well-known member
02.05.2008
322
1
#2
Делаем на форме кнопочку заполнить. Считываем данные о номенклатуре и видах цен используемых в документе. Делаем срез последних по регистру цен по номенклатуре и видам цен. Заполняем. Единственно на что следует обратить внимание это на то как заполнять табличную часть с ценами товаров. Сформируйте документ на 2-3 позиции с 2-3 видами цен и посмотрите как он выглядит через обработку редактирования реквизитов.

Добавлено: Кстати, вдогонку. Что за конфа? Если УТ 11 то там есть механизмы позволяющие не вносить изменения в конфиг и заполнять цены по данным занесенным в ИБ.
 
G

Guest

#3
Конфигурация новая с нуля..
сделала запрос:

Запрос= Новый Запрос;
Запрос.Текст= "ВЫБРАТЬ
| ПредыдущиеСрезПоследних.Номенклатура,
| ПредыдущиеСрезПоследних.Цена КАК Цена
|ИЗ
| РегистрСведений.Предыдущие.СрезПоследних КАК ПредыдущиеСрезПоследних
|ГДЕ
| ПредыдущиеСрезПоследних.Номенклатура = &Номенклатура
|ИТОГИ ПО
| Цена" ;

Запрос.УстановитьПараметр("Цена",СтрокаТабличнойЧасти.Номенклатура.Цена);

РассчитатьСумму(ЭлементыФормы.Номенклатура.ТекущиеДанные);

Но походу что неверно,цена не ставится..
 

Allexei

Well-known member
02.05.2008
322
1
#4
Давайте начнем с начала.
1.Конфигурация самописка?
2.Что вы данным запросом хотите получить? Почему цена в ИТОГ попала, почему условие отбора по номенклатуре в ГДЕ а не в параметрах виртуальной таблице? Не вижу самого выполнения запроса(запрос.Выполнить()) и соответственно обработки его данных.
3.А теперь еще раз подробно что вам надо. (например. Мне надо что бы при выборе номенклатуры пользователем в ТЧ автоматически проставлялась последняя зарегистрированная на нее цена по типу цен . . . бла бла бла...)
4. Документ установки цен самописный или перетянут с типовых?
 
G

Guest

#5
1.Да
2.Я хочу получить последнюю цену из документов Установка цен на номенклатуру,которая выбрали в новом документе Установка цен. Просто я не очень понимаю как создавать запросы...
3.При выборе пользователем номенклатуры в ТЧ документа Установка цен автоматически ставилась на нее цена из предыдущего документа Установка цен
4.Документ самописный..
 

Allexei

Well-known member
02.05.2008
322
1
#6
Запрос= Новый Запрос;
Запрос.Текст= "ВЫБРАТЬ
| ПредыдущиеСрезПоследних.Номенклатура,
| ПредыдущиеСрезПоследних.Цена КАК Цена
|ИЗ
| РегистрСведений.Предыдущие.СрезПоследних КАК ПредыдущиеСрезПоследних
|ГДЕ
| ПредыдущиеСрезПоследних.Номенклатура = &Номенклатура
|ИТОГИ ПО
| Цена" ;

Запрос.УстановитьПараметр("Цена",СтрокаТабличнойЧасти.Номенклатура.Цена);

РезультатЗапроса = запрос.Выполнить();
Если не РезультатЗапроса.Пустой() Тогда
Выборка = РезультатЗапроса.Выбрать();
Выборка.Следующий();
Цена = ВЫборка.Цена;
КонецЕсли;

Попробуйте так. В "Цена" должна быть последняя цена
 
G

Guest

#7
Выходит ошибка: Не задано значение параметра "Номенклатура"
ПредыдущиеСрезПоследних.Номенклатура = <<?>>&Номенклатура

Скажите пожалуйста,как ее определить в запросе..
 

Allexei

Well-known member
02.05.2008
322
1
#8
Запрос.УстановитьПараметр("Номенклатура",<<Ссылка на номенклатуру>>);

Запрос поправьте еще
|ГДЕ
| ПредыдущиеСрезПоследних.Номенклатура = &Номенклатура и ПредыдущиеСрезПоследних.цена = &Цена
 

Darlock

Well-known member
04.01.2008
560
1
#11
Чур, стойте!!!!!
Никогда, НИКОГДА не пускайте запрос в цикле!!!!! Или у вас в документе цена устанавливается на 1 (ОДНУ) позицию номенклатуры?????

менять условие запроса "ГДЕ ...Номенклатура В &МассивНоменклатуры)..."