7.7 ВыбратьПоЗначению

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Ugrumi, 22 янв 2008.

  1. TopicStarter Overlay
    Ugrumi
    Offline

    Ugrumi Опытный в 1С

    Регистрация:
    8 окт 2007
    Сообщения:
    80
    Симпатии:
    0
    Баллы:
    26
    Проблема в следующем, Функция ВыбратьПоЗначению не работает как хотелось:

    Код:
    Спр=СоздатьОбъект("Справочник.Контрагенты");   
    Спр.ВыбратьЭлементы();
    Пока Спр.ПолучитьЭлемент()>0 Цикл
    СпрТекЭлем=Спр.ТекущийЭлемент();
    Контрагент=СпрТекЭлем.ПолучитьАтрибут("Наименование");
    Док=СоздатьОбъект("Документ");                          
    
    Док.ВыбратьПоЗначению(НачДата,КонДата,"Контрагент",Контрагент);
    
    Пока Док.ПолучитьДокумент()>0 Цикл
    КонецЦикла;
    
    
    Подобная тема уже была, там говорилось про общий реквизит конфигурации, как проверить является ли мой реквизит общим (контрагент), если нет, тогда как сделать его общим. А может есть другие методы, только мне очень важна производительность, этот метод по моему мнению по скорости неплохой, вот только сволочь не работает.
  2. Stado_adama
    Offline

    Stado_adama Модераторы Модератор

    Регистрация:
    27 ноя 2007
    Сообщения:
    1.086
    Симпатии:
    0
    Баллы:
    26
    не общий он у тебя... конфигурация / документы / общие реквизиты...

    ВыбратьПоЗначению(<Дата1>,<Дата2>,<ИмяОтбора>,<Знач>)
    <ИмяОтбора> - строка с названием Общего реквизита документов либо названием Графы отбора журналов;

    вот тебе лучше сделать графу отбора журналов, чем делать реквизит общим...
  3. TopicStarter Overlay
    Ugrumi
    Offline

    Ugrumi Опытный в 1С

    Регистрация:
    8 окт 2007
    Сообщения:
    80
    Симпатии:
    0
    Баллы:
    26
    Т.е добавить в общий журнал графу Контрагент?


    Я только что посмотрел, графа отбора контрагент стоит
  4. TopicStarter Overlay
    Ugrumi
    Offline

    Ugrumi Опытный в 1С

    Регистрация:
    8 окт 2007
    Сообщения:
    80
    Симпатии:
    0
    Баллы:
    26
    Может вы несовсем поняли проблему. ВыбратьПоЗначению работает, когда значение берется из формы, где тип Справочник.Контрагенты, вот только когда начиает переберать все значения справочника значение не встает, пытался вставить просто строку, вместо значения (контрагент), неотберает, думаю проблема с типом значения, т.к. значение которое взяли из формы прошло.
  5. Stado_adama
    Offline

    Stado_adama Модераторы Модератор

    Регистрация:
    27 ноя 2007
    Сообщения:
    1.086
    Симпатии:
    0
    Баллы:
    26
    Код:
    Спр=СоздатьОбъект("Справочник.Контрагенты"); 
    Спр.ВыбратьЭлементы();
    Пока Спр.ПолучитьЭлемент()>0 Цикл
    СпрТекЭлем=Спр.ТекущийЭлемент();
    Контрагент=СпрТекЭлем.ПолучитьАтрибут("Наименование");
    Док=СоздатьОбъект("Документ"); 
    
    Док.ВыбратьПоЗначению(НачДата,КонДата,"Контрагент",Контрагент);
    
    Пока Док.ПолучитьДокумент()>0 Цикл
    КонецЦикла;
    
    
    
    Ты про этот код? я вообще не понял чего ты с таким кодом хочешь добиться...
    может ты хочешь отсортировать документы по контрагенту? типа берешь контрагента и выборкой получаешь все его документы... потом следующего?

    Код:
    Спр=СоздатьОбъект("Справочник.Контрагенты"); 
    Спр.ВыбратьЭлементы();
    Пока Спр.ПолучитьЭлемент()>0 Цикл
    СпрТекЭлем=Спр.ТекущийЭлемент();
    Док=СоздатьОбъект("Документ"); 
    
    Док.ВыбратьПоЗначению(НачДата,КонДата,"Контрагент",СпрТекЭлем);
    
    Пока Док.ПолучитьДокумент()>0 Цикл
    КонецЦикла;
    
    
    
    может тебе так надо?
  6. TopicStarter Overlay
    Ugrumi
    Offline

    Ugrumi Опытный в 1С

    Регистрация:
    8 окт 2007
    Сообщения:
    80
    Симпатии:
    0
    Баллы:
    26
    А ведь действительно так и надо,я уже так пробовал, но наверное у меня там еще что-то мешало, причем делал я это в самом начале, б... столько тр...я и к исходному вернулся. Спосибо что направили на путь истинный, отчет называется расчеты с контрагентом, у нас бля ломанная переломанная конфа с разделением фирм, мы ее дописываем, все отчеты стандартные не работают.

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