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

Тема в разделе "1C и всё что с ней связано", создана пользователем -, 5 апр 2012.

  1. Гость

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

    Allexei Well-Known Member

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

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

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

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

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

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

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

    Allexei Well-Known Member

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

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

    Allexei Well-Known Member

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

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

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

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

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

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

    Allexei Well-Known Member

    Регистрация:
    2 май 2008
    Сообщения:
    322
    Симпатии:
    0
    Запрос.УстановитьПараметр("Номенклатура",<<Ссылка на номенклатуру>>);

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

    Ага,спасибо большое!!!!
     
  10. Allexei

    Allexei Well-Known Member

    Регистрация:
    2 май 2008
    Сообщения:
    322
    Симпатии:
    0
    угумс
     
  11. Darlock

    Darlock Well-Known Member
    1C Team

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

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

Поделиться этой страницей