8.х УТ Ведомость товары на складах, добавить цену.

Тема в разделе ""1С:Управление торговлей УТ"", создана пользователем AlenkaInt, 31 авг 2012.

  1. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Я так поняла, что этот отчет обращается к универсальному отчету. Значит мне надо исправлять в универсальном отчете? Нашла в модуле объекта универсального отчета такую процедуру УстановитьНачальныеНастройкиПоМетаданнымРегистра(ИмяРегистра). В которой есть запрос к ПВХ НазначенияСвойствКатегорийОбъектов, надо сюда добавлять текст запроса с ценой?
    PS я знаю, что есть уже готовый отчет, с ценами, но это опять учебная задача.
    Спасибо.
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    А почему вы думаете, что цены храняться в ПВХ. Это не так
    Вам вообще какая цена нужна: цена прихода - или если у вас не партионный учет, то средняя цена?
  3. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Нет-нет, цены не хранятся в ПВХ. Я предположила, что из ПВХ берутся данные для отчета Ведомость товары на складах. Соответственно туда и надо добавить цены. Цены надо брать из РС Цены Номенклатуры.
  4. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Данные для отчета берутся из запроса. Видите в этой процедуре есть праметр ИмяРегистра, он используется в тексте запроса, что располагается практически в начале процедуры вот этот запрос и дает данные.
    Как вариант можете эту строчку заменить на имя регистра ТоварыНаСкладах, а затем через контструктор дописать
  5. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Заменила имя регистра таким образом
    Процедура УстановитьНачальныеНастройкиПоМетаданнымРегистра(ТоварыНаСкладах)
    МетаданныеРегистра = Метаданные.РегистрыНакопления.Найти(ТоварыНаСкладах);
    Я добавила цену в запрос таким образом
    Код:
    "ВЫБРАТЬ
    | НазначенияСвойствКатегорийОбъектов.Ссылка,
    | НазначенияСвойствКатегорийОбъектов.Предопределенный,
    | НазначенияСвойствКатегорийОбъектов.ТипЗначения,
    | ЦеныНоменклатуры.Цена
    |ИЗ
    | ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов КАК НазначенияСвойствКатегорийОбъектов,
    | РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
    |ГДЕ
    | НазначенияСвойствКатегорийОбъектов.ПометкаУдаления = ЛОЖЬ
    | И НазначенияСвойствКатегорийОбъектов.ЭтоГруппа = ЛОЖЬ")
    Но почему то цена не показывается..
    Там еще по тесту есть упоминание ИмяРегистра. Может и в этих местах поменять?
    Еще в отчете ведомость товаров на складах в процедуре УстановитьНачальныеНастройки описаны поля для вывода, может и сюда надо дописать поле "Цена"? Там есть внизу такая строка УниверсальныйОтчет.ДобавитьДополнительноеПоле("БазоваяЕдиницаИзмерения"). Если я допишу так УниверсальныйОтчет.ДобавитьДополнительноеПоле("Цена") и потому сюда передам цену.
  6. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    Причем здесь ведомость товаров на складах, цены и пвх??

    "Ведомость товаров на складах" получает данные из регистра "товары на складах". В этом регистре только 1 ресурс количество. Там цен нет. Цены хранятся в регистре цены номенклатуры. Для того, чтобы в ведомость товаров на складах добавить цены, надо организовать соединение 2-таблиц - регистра накопления товары на складах и регистра сведений цены номенклатуры.

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

    PS. Чем разбираться в сотнях строк чужого кода, лучше написать десяток своего..

    PPS. Почитайте книгу "разработка сложных отчетов".
  7. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Это учебная задача, я тоже предложила сделать свой, еще я знаю есть какой то уже готовый отчет с ценами. Но с преподавателем не поспоришь.
    Сама не знаю причем. Я поняла, что ведомость ссылается на универсальный отчет, а в нем я нашла только один запрос с ПВХ.
    Книга какого автора?
  8. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    Отчеты на базе универсального отчета можно создавать 2-мя вариантами:
    1) просто указать имя регистра, по которому будет делаться отчет (ведомость по товарам на складах)
    2) указать запрос, по результатам которого будет формироваться отчет (анализ доступности товаров на складах)

    Сравните эти 2 отчета. Посмотрите в чем разница.
  9. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Я пробовала по первому варианту. Только регистр не ведомость по товарам на складах, а товары на складах.Моих знаний не хватает на реализацию этого варианта. В 5 посте я писала как я указывала имя регистра.
  10. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Напишу еще разок. берете запрос. Там прямо в тексте где методанные меняете на ТоварыНаСкладах. Пробуете открывается ли конструктором. Когда все открывается - добавляете в запрос регистр сведенйи Цены Номенклатуры, Вы же выше писали что хотите от туда цены барть и связываете его левым соединением
  11. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    А если попробовать так. Я знаю, можно поставить в процедуре точку останова и посмотреть текст запроса. И в него уже добавить поле цена.
  12. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Я в универсальном отчете на строчке ПостроительОтчета.Текст = ТекстЗапроса поставила точку останова, посмотрела текст запроса. Теперь наверное нужно наложить условие, что если ИмяРегистра ТоварыНаСкладах, то надо добавить поле цена. И еще вопрос - а как в него добавить поле цена ведь текст запроса вижу в табло, если я там исправлю, то текст в универсальном отчете тоже исправится?
  13. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Нет, не исправится, вот в текст запроса и нужно добавлять поле цена:))))
  14. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Я самого текста запроса не вижу в тексте процедуры :-( Там идет вот так -
    ПостроительОтчета.Текст = ТекстЗапроса;
    ОтборПериодичность = ПостроительОтчета.Отбор.Найти("Периодичность");
    Т.е. я его не нашла в тексте отчета, я сама смогла его просмотреть только через точку останова.
  15. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Вот ищите где собирается этот запрос, на то он и универсальный отчет, чтобы быть универсальным:))))
  16. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Т.е. этот запрос может быть не в явном виде или например по частям в разных местах?
  17. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Да:), вы совершенно правы:)
  18. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Эх, это для меня сложновато. Но буду пробовать. Я могу обычный запрос редактировать, а вот это..
  19. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    ну вы хотябы найдите процедуру, где передаете запрос, далее поиском можно найти где он может формироваться.
  20. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Я нашла в процедуре УстановитьНачальныеНастройкиПоМетаданнымРегистра(ИмяРегистра) такой текст:
    Код:
    Запрос = Новый Запрос(
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 0
    | ИсточникДанных.Регистратор КАК Регистратор
    |ИЗ
    | РегистрНакопления." + ИмяРегистра + " КАК ИсточникДанных");
    
    РезультатЗапроса = Запрос.Выполнить();
    
    Может это то самое место, где мне нужно отредактировать?

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