7.7 Как установить фильтр

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем Peroman, 10 авг 2009.

  1. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    Есть внешняя обработка Посмотреть вложение 2496 ;
    Как в окне диалога сделать чтобы высвечивался в списке справочник только один конкретный Справочник а не все?

    Вложения:

    • TRANREF.ERT
      Размер файла:
      54 КБ
      Просмотров:
      58
  2. WaRDeR
    Offline

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

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    В модуле обработки изменить алгоритм формирования списка справочников.
    На данный момент должно формироваться перебором метаданных. Убери цикл, и сделай добавление только один раз с нужным тебе справочником.
  3. Savant
    Offline

    Savant Опытный в 1С

    Регистрация:
    19 ноя 2007
    Сообщения:
    252
    Симпатии:
    4
    Баллы:
    29
    Можно сильно не заморачиваться и вставить условие в цикл. Если находит нужный справочник, то прерывает ход цикла. Теукщий код
    Код:
    	
    Для Инд=1 По Метаданные.Справочник() Цикл 
    СпрМД = Метаданные.Справочник(Инд);
    СпРеквизиты = СоздатьОбъект("СписокЗначений");
    Для Инд2=1 По СпрМД.Реквизит() Цикл
    РеквизитМД = СпрМД.Реквизит(Инд2);
    СпРеквизиты.ДобавитьЗначение(РеквизитМД.Идентификатор, РеквизитМД.Представление());
    СпРеквизиты.Пометка(Инд2, 1);
    КонецЦикла;	
    СпСправочники.ДобавитьЗначение(СпрМД.Идентификатор, СпрМД.Представление());
    СпСправочники.Пометка(Инд, 0);                                             
    гТабСправочникиВыгрузки.НоваяСтрока(); 
    гТабСправочникиВыгрузки.Идентификатор = СпрМД.Идентификатор;
    гТабСправочникиВыгрузки.Реквизиты = СпРеквизиты;
    КонецЦикла;
    
    
    замени на
    Код:
    Для Инд=1 По Метаданные.Справочник() Цикл 
    СпрМД = Метаданные.Справочник(Инд);    
    Если СокрЛП(СпрМД)="Ставки НДС" Тогда // Сюда вставь название справочника
    СпРеквизиты = СоздатьОбъект("СписокЗначений");
    Для Инд2=1 По СпрМД.Реквизит() Цикл
    РеквизитМД = СпрМД.Реквизит(Инд2);
    СпРеквизиты.ДобавитьЗначение(РеквизитМД.Идентификатор, РеквизитМД.Представление());
    СпРеквизиты.Пометка(Инд2, 1);
    КонецЦикла;	
    СпСправочники.ДобавитьЗначение(СпрМД.Идентификатор, СпрМД.Представление());
    СпСправочники.Пометка(1, 0);                                             
    гТабСправочникиВыгрузки.НоваяСтрока(); 
    гТабСправочникиВыгрузки.Идентификатор = СпрМД.Идентификатор;
    гТабСправочникиВыгрузки.Реквизиты = СпРеквизиты;  
    Прервать;
    КонецЕсли;
    КонецЦикла;
    
    

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