8.х как добавить пункт меню РегистрНакопления.ТоварыНаСкладах в номенклатуру

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем Sunbear, 2 сен 2010.

  1. TopicStarter Overlay
    Sunbear
    Offline

    Sunbear Опытный в 1С

    Регистрация:
    11 фев 2010
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    как добавить пункт меню РегистрНакопления.ТоварыНаСкладах в номенклатуру. Я хочу чтобы при нажатии на кнопку в номенклатуре выводилась форма "Список товары на складах" с отбором по текущему элементу номенклатуры. Эту форму можно вызвать через меню-> операции -> РегистрНакопления -> ТоварыНаСкладах. но там надо самому делать отбор. в номенклатуре есть вызов регистров сведений из меню "перейти". мне надо тоже самое токо "РегистрНакопления.ТоварыНаСкладах". конфигурация "Управление торговлей", редакция 10.3 (10.3.6.8)
  2. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    А чем вас не устраивает добавление еще одной кнопки и обработкой ее нажатия?
  3. TopicStarter Overlay
    Sunbear
    Offline

    Sunbear Опытный в 1С

    Регистрация:
    11 фев 2010
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    Меня устраивает, просто я не нашел как эту форму вызвать. она где в общих формах? как называется?
  4. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Такой формы вообще нет:), ее нужно самому писать.
  5. TopicStarter Overlay
    Sunbear
    Offline

    Sunbear Опытный в 1С

    Регистрация:
    11 фев 2010
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    ну как нет? Она есть. открывается из главного меню -> операции. там только отбор сразу не осуществляется приходится искать номенклатуру по коду или по наименованию. А зачем ее искать если я ее уже выделил в справочнике номенклатура!
  6. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    вы открываете форму списка регистра накопления.
  7. TopicStarter Overlay
    Sunbear
    Offline

    Sunbear Опытный в 1С

    Регистрация:
    11 фев 2010
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    в конфигураторе такой формы нет в регистре накопления-> товары на складах. Она видимо как то автоматически формируется.
  8. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    млин, в этой форме показываются ЗНАЧЕНИЯ регистра накопления
  9. TopicStarter Overlay
    Sunbear
    Offline

    Sunbear Опытный в 1С

    Регистрация:
    11 фев 2010
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    ну и что из этого? А как ее вызвать и сделать сортировку по элементу номенклатуры?
  10. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Откройте конфигуратор, и посмотрите, у этого регистра есть формы?
  11. TopicStarter Overlay
    Sunbear
    Offline

    Sunbear Опытный в 1С

    Регистрация:
    11 фев 2010
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    а вы думаете я конфигуратор не открывал? повторяю у этого регистра нет форм
  12. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    если нет формы, как ее можно открыть? тогда я вам повторяю что писать форму нужно самому.
  13. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Можно открыть вот так:
    Код:
    Данные = РегистрыНакопления.ТоварыНаСкладах.ПолучитьФормуСписка();
    Данные.Открыть();
    
  14. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    ...и откроется автоматически_сгенерированная_стандартная_форма_списка, если она не задана явно :)

    Думаю, в ней можно указать отбор по нужным значениям перед открытием - то, что ТС нужно
  15. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    У меня что-то не получается сформировать отбор, только по регистратору.
  16. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    для начала нужно разрешить отбор по нужным полям, если нет такой возможности, то, думаю, тока через запрос...
  17. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    У меня вопрос (УТ под рукой нет, поэтому если что не та на память скажу извиняюсь).
    Sunbear вам какие данные нужны из формы списка РН ТоварыНаСкладах?
    В УТ - есть в форме списка номенклатуры на верхней панели кнопка "Отчеты"? Если есть - там вызывается отчет "Ведомость на складах". Может проще попробовать поиграться с параметрами, которые передаются в этот отчет, с тем чтобы по умолчанию он выводился с нужными вам данными в нужном виде?
  18. TopicStarter Overlay
    Sunbear
    Offline

    Sunbear Опытный в 1С

    Регистрация:
    11 фев 2010
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    там простой отчет без документов движения.

    В принципе вариант
    Данные = РегистрыНакопления.ТоварыНаСкладах.ПолучитьФормуСписка();
    Данные.Открыть();

    открывает нужную форму. осталось только отсортировать по номенклатуре :)
  19. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Ну так добавьте 3 строчки в код, делов то.
    Найдите в форме списка процедуру "ОткрытьОтчетПоТекущейНоменклатуре()", туда добавьте:
    Код:
    ...
    ТекОтбор.ВидСравнения  = ?(ТекущиеДанные.ЭтоГруппа, ВидСравнения.ВИерархии, ВидСравнения.Равно);
    
    
    //Добавляем документы движения начало
    ОтчетОстатки.УниверсальныйОтчет.ДобавитьДополнительноеПоле("Период");
    ОтчетОстатки.УниверсальныйОтчет.ДобавитьДополнительноеПоле("Регистратор");
    ОтчетОстатки.УниверсальныйОтчет.ВыводитьДетальныеЗаписи = Истина;
    //Добавляем документы движения конец
    
    ОтчетОстатки.УниверсальныйОтчет.ДатаКон = ТекущаяДата();
    ОтчетОстатки.СформироватьОтчет(ФормаОтчета.ЭлементыФормы.ПолеТабличногоДокументаРезультат);
    
    КонецПроцедуры
    
    
    
  20. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте!
    1. Для отображения формы пользователю её не обязательно создавать, формы генерируются системой в момент обращения к ней.
    2. Для отбора товара по номенклатуре в списке регистра просто воспользуйтесь оотбором.
    Вот весь код что Вам понадобится
    Код:
    	Форма = РегистрыНакопления.ТоварыНаСкладах.ПолучитьФормуСписка();
    
    Форма.Отбор.Номенклатура.Значение = Номенклатура;
    Форма.Отбор.Номенклатура.Использование = Истина;
    Форма.Отбор.Номенклатура.ВидСравнения = ВидСравнения.Равно;
    
    Форма.Открыть();
    
    Выкладываю пример в виде обработки для УТ
    Посмотреть вложение 5223

    Вложения:

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