Прайс-лист

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

Статус темы:
Закрыта.
  1. Alex_Ridl

    Alex_Ridl Гость

    Здравствуйте. Проблема при формировании прайс-листа. Выдаёт пустое значение в "цена", причём одна и та же позиция(по коду номенклатуры) выводится дважды,одна с ценой,а другая с пустым значением.
    получается вот так:
    код наименование цена
    00000028 товар 0252 0303
    00000028 товар 0252 0303 1300
    00000034 товар1 0148 0402
    00000034 товар1 0148 0402 1300


    Как убрать - ума не приложу. Помогите плз
    Код вроде простенький,собирался в конфигураторе:

    Код (Text):
    Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Номенклатура = Справочник.Номенклатура.ТекущийЭлемент, Справочник.Цены.Владелец;
    |ТипЦен = Справочник.Цены.ТипЦен;
    |Цена = Справочник.Цены.Цена;
    |Группировка Номенклатура без групп;
    |Группировка Цена;
    |Условие(ТипЦен = ВыбТипЦен);
    |"//}}ЗАПРОС
    ;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
    КонецЕсли;

    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
    // Заполнение полей Номенклатура
    Таб.ВывестиСекцию("Номенклатура");
    Пока Запрос.Группировка(2) = 1 Цикл
    // Заполнение полей Цена
    Таб.ВывестиСекцию("Цена");
    КонецЦикла;
    КонецЦикла;
    // Вывод заполненной формы
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
    КонецПроцедуры
     
  2. Zab

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    закоменть строку:
    Код (Text):
          Таб.ВывестиСекцию("Номенклатура");
     
  3. Alex_Ridl

    Alex_Ridl Гость

    не помогло :)
     
  4. b00tch

    b00tch Гость

    "//{{ЗАПРОС(Сформировать)
    |Номенклатура = Справочник.Номенклатура.ТекущийЭлемент, Справочник.Цены.Владелец;
    |ТипЦен = Справочник.Цены.ТипЦен;
    |Цена = Справочник.Цены.Цена;
    |Группировка Номенклатура без групп;
    |Функция ЦенаСум = СУММА(Цена);
    |Условие(ТипЦен = ВыбТипЦен);
    |"//}}ЗАПРОС
     
  5. Alex_Ridl

    Alex_Ridl Гость

    спс,всё решилось редактированием таблицы:конфигаратор создал 2 одинаковые строчки,а я и не посмотрел
     
  6. Alex_Ridl

    Alex_Ridl Гость

    ещё вопрос: нужно чтобы ещё и по конкретному поставщику.
    с добавлением строк в запрос
    Код (Text):
    ...
    |Контрагенты = Справочник.Контрагенты.ТекущийЭлемент
    ...
    |Условие(Контрагенты = ВыбКонтрагенты)
    выводит только весь прайс.помогите плз :(
     
  7. b00tch

    b00tch Гость

    а каким образом определяется - кто поставщик конкретной номенклатуры?...
    есть реквизит Спр Номенклатура или только по факту поступления?
     
  8. Alex_Ridl

    Alex_Ridl Гость

    стоит стандартная конфигурация
    в номенклатуре - поставщики,в контрагентах есть 2 папки с поставщиками.
    вобщем посадили меня и сказали "делай",а я 1с ток недавно увидел :(
     
  9. b00tch

    b00tch Гость

    Код (Text):
    |Контрагенты = Справочник.Номенклатура.ОсновнойПоставщик
    как то так...
    какая "стандартная конфигурация" то?... их много...
     
  10. Alex_Ridl

    Alex_Ridl Гость

    сделал запрос на выборку товара по конкретной фирме,но как прописать туда цену - не пойму никак
    Код (Text):
    |Номенклатура = Справочник.Номенклатура.ТекущийЭлемент;
    |Контрагенты = Справочник.Контрагенты.ТекущийЭлемент, Справочник.Номенклатура.Родитель;
    |Группировка Номенклатура упорядочить по Номенклатура.Код, Номенклатура.Наименование;
    |Условие(Контрагенты = ВыбКонтрагенты);
    добавление в запрос
    Код (Text):
    |ТипЦен = Справочник.Цены.ТипЦен;
    |Цена = Справочник.Цены.Цена;
    приводит только к появлению пустого поля цена

    в номенклатуре нет ОсновнойПоставщик :(

    конфигурация типовая оптово-розничная 947
     
  11. b00tch

    b00tch Гость

    Справочник.Номенклатура.Родитель - это группа справочника Номенклатура, никак не может быть контрагентом... хехе

    в ТиС нет прямой связи Номенклатура-поставщик... да и вообще, один и тот же товар может быть поставлен разными контрагентами... поэтому нужно связывать с документами Поступление ТМЦ...

    либо завести реквизит ОсновнойПоставщик в спр номенклатура...
     
  12. Alex_Ridl

    Alex_Ridl Гость

    хм,я нашел внешний отчёт и он как раз группирует данные по нужному поставщику,но не выводит код товара... а вот код очень нужен :)
    прикрепляю файл(переименовать в ert),может посмотишь на досуге,как туда вставить код товара
     

    Вложения:

  13. b00tch

    b00tch Гость

    обработка запаролена, а как снимать я не помню, искать лень...
    обратись к разработчику - там на форме сцылк0 есть...

    а вообще то он по поставщикам не группирует... единственное, чт0 могу предположить - что у вас товары от разных поставщиков лежат в разных группах... и всего-навсего надо было вывести с учетом иерархии... а ты, по незнанию, ввел честн0й народ в заблуждение и смущение... так что кайся!...
    хехе
     
  14. Alex_Ridl

    Alex_Ridl Гость

    так и не понял как вывести номенклатуру по конкретной(ым) группе(ам)
     
  15. b00tch

    b00tch Гость

    Группа = Справочник.Номенклатура.Родитель;
    ...
    Условие(Группа = ВыбГруппа);
     
  16. Alex_Ridl

    Alex_Ridl Гость

    это я сделал,но не получается вывести нужный тип цен ко всему этому
     
  17. b00tch

    b00tch Гость

    текст запроса?
     
  18. Alex_Ridl

    Alex_Ridl Гость

    Код (Text):
        |Группа = Справочник.Номенклатура.Родитель;
    |Номенклатура = Справочник.Номенклатура.ТекущийЭлемент, Справочник.Цены.Владелец;
    |ТипЦен = Справочник.Цены.ТипЦен;
    |Цена = Справочник.Цены.Цена;
    |Группировка Номенклатура упорядочить по Номенклатура.Код, Номенклатура.Наименование;
    |Группировка Цена;
    |Условие(Группа = ВыбГруппа);
    |Условие(ТипЦен = ВыбТипЦен);
     
  19. b00tch

    b00tch Гость

  20. dmkr

    dmkr Гость

    Насколько мне позволяет говорить мой опыт, информация для запроса должна браться из одного источника: если хочешь прайс-лист по номенклатуре - обрабатывай справочник, если хочешь наличие товаров с ценами от поставщиков - обрабатывай партии или документы поступления (лучше партии).
    Желательно определить основной объект обработки и "плясать" от него: например строим отчет по наличию партий (номенклатура с ценами поставщиков), тогда основной объект в запросе - номенклатура, но объявить его надо через регистр партии, и поставщика объявить через этот же регистр...
    Если же никакой возможности это сделать - придется все самому ручками собирать: делаем два запроса и собираем их результаты в таблице значений. Потом эту таблицу можно дополнительно обработать (отсортировать, разделить, дополнить) и вывести на печать...
     
Загрузка...
Статус темы:
Закрыта.

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