• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

Guest

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

Allexei

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

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

Guest

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

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

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

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

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

Allexei

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

Guest

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

Allexei

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

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

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

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

Guest

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

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

Allexei

Запрос.УстановитьПараметр("Номенклатура",<<Ссылка на номенклатуру>>);

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

Darlock

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!