7.7 Не работает отбор

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

  1. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    Вот так делаю и ничего не происходит
    Код:
     
    Процедура ФильтроватьПоКонтрагенту()
    Если ПустоеЗначение(ВыбКонтрагенты) = 0 Тогда
    УстановитьОтбор("Контрагент",ВыбКонтрагенты);
    КонецЕсли;
    <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/конецпроцедуры')">КонецПроцедуры	</span>
    
    
    Вопрос почему?

    Прошу прощения, интернет подвис и тема продублировалась
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    В каком месте вы пытаетесь сделать? В журнале? Какого тиа журнал?
    Отбор не по графе отбора работает только в общем журнале....
  3. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    Журнал общий (ПредЗаявка);
    Делаю в модуле формы вышеупомянутого журнала.
    Конфа ТиС
  4. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    попробуй без условия
  5. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Участвует ли документ ПредЗаявка в графе отбора по контрагенту? Скорее всего нет.....
  6. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    Участвует, я сам лично добавлял документ в графу отбора.
    Попробовал, результат тот же
  7. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Чудес на свете не бывает
    Или тип журнала или графа отбора или сам объект пустой... Все

    Ну разве что
    Код:
    ВидыОтбора("");
    
    
    забыли сделать
  8. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    Код:
     
    Перем ИтогиПродаж, Удл,ВесОбъемГранд;
    
    
    
    Функция ВесОбъем()  
    Перем Изм, АммаВес, АммаОбъем, ГрандВес, ГрандОбъем;
    
    АммаВес=0;
    АммаОбъем=0;
    ГрандВес=0;
    ГрандОбъем=0;
    
    Док = СоздатьОбъект("Документ.ПредЗаявка");
    Док.ВыбратьДокументы(НачалоИнтервала(),КонецИнтервала());
    ПолучитьОтбор(,Изм);
    Если пустоеЗначение(изм)=1 Тогда
    Возврат 0;
    КонецЕсли;
    
    СпрСк = СоздатьОбъект("Справочник.Склады");
    СпрСк.НайтипоНаименованию(Изм.Наименование,0,1);
    
    
    Пока Док.ПолучитьДокумент()>0 Цикл
    Если (Док.Склад=СпрСк.ТекущийЭлемент()) и (Док.ТипЗаявки<>Удл) Тогда 
    ГрандВес=ГрандВес+Док.Итог("Вес");
    ГрандОбъем=ГрандОбъем+Док.Итог("Объем");
    КонецЕсли;
    КонецЦикла;
    
    
    ВесОбъемГранд="Вес - "+СокрЛ(Формат(ГрандВес,"Ч10.0, "))+", объем - "+СокрЛ(Формат(ГрандОбъем,"Ч10.1, "));
    
    Возврат ВесОбъемГранд;
    
    КонецФункции
    
    Процедура ПриУстановкеИнтервала(ДатаНач,ДатаКон)  
    Перем USD, EUR, RUB, itog, nitog, изм;
    Если ((НазваниеИнтерфейса()="Администратор") или (НазваниеИнтерфейса()="Руководитель")) Тогда
    
    Док = СоздатьОбъект("Документ.ПредЗаявка");
    Док.ВыбратьДокументы(ДатаНач,ДатаКон);
    ПолучитьОтбор(,Изм);
    Если пустоеЗначение(Изм)=1 Тогда
    Возврат;
    КонецЕсли;
    
    СпрСк = СоздатьОбъект("Справочник.Склады");
    СпрСк.НайтипоНаименованию(Изм.Наименование,0,1);
    
    Пока Док.ПолучитьДокумент()>0 Цикл
    Если (Док.Склад=СпрСк.ТекущийЭлемент()) и (Док.ТипЗаявки<>Удл) Тогда 
    
    ГрандВес=ГрандВес+Док.Итог("Вес");
    ГрандОбъем=ГрандОбъем+Док.Итог("Объем");
    
    Если Считать=1 Тогда
    Если Док.Проведен()=1 Тогда
    USD=USD+Док.СуммаUSD;
    EUR=EUR+Док.СуммаEUR;
    RUB=RUB+Док.СуммаРуб;
    itog=itog+Док.СуммаВзаиморасчетов;
    КонецЕсли;             
    ИначеЕсли Считать=2 Тогда
    Если (Док.Проведен()=0) и (Док.ПометкаУдаления()=0) Тогда
    USD=USD+Док.СуммаUSD;
    EUR=EUR+Док.СуммаEUR;
    RUB=RUB+Док.СуммаРуб;
    itog=itog+Док.СуммаВзаиморасчетов;
    КонецЕсли;             
    Иначе
    USD=USD+Док.СуммаUSD;
    EUR=EUR+Док.СуммаEUR;
    RUB=RUB+Док.СуммаРуб;
    itog=itog+Док.СуммаВзаиморасчетов;
    КонецЕсли;
    //Если (Док.Склад=Изм) и (Док.Проведен()=1) Тогда 
    КонецЕсли;
    КонецЦикла;
    ИтогиПродаж= "USD - "+ВлФРМ(USD)+";   EUR - "+ВлФРМ(EUR)+";   руб - "+ВлФРМ(RUB)+";   Итого - " +ГлФРМ(itog)+" руб.";
    КонецЕсли;
    ВесОбъем(); 
    Форма.Обновить();
    КонецПроцедуры
    
    Процедура Перенос() 
    Если Вопрос("Вы действительно хотите удалить (перенести заявку в выполненные)?",1,10)=1 Тогда
    Док = СоздатьОбъект("Документ.ПредЗаявка");
    Док.НайтиДокумент(ТекущийДокумент);
    Док.СделатьНепроведенным();
    Док.ТипЗаявки=Удл;
    Док.Записать();
    ПриУстановкеИнтервала(НачалоИнтервала(),КонецИнтервала());
    КонецЕсли;
    КонецПроцедуры
    
    
    
    Процедура ИзменитьОтбор()
    //Если ВыбКонтрагенты.Выбран() > 0 Тогда
    УстановитьОтбор("КонтрагентПредЗаявки",ВыбКонтрагенты);
    //КонецЕсли;
    ПриУстановкеИнтервала(НачалоИнтервала(),КонецИнтервала())  	
    <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/конецпроцедуры')">КонецПроцедуры	</span>
    
    
    
    
    Процедура ПриОткрытии()
    Спр = СоздатьОбъект("Справочник.ТипЗаявки");
    Если Спр.НайтипоНаименованию("Склад Гарантийный",0,1)=0 Тогда
    Спр.Новый();
    Спр.Наименование = "Склад Гарантийный";
    Спр.Записать();
    КонецЕсли;
    ЗакладкиОтбора("СкладПредЗаявки",0,0,);
    Если ((НазваниеИнтерфейса()="Администратор") или (НазваниеИнтерфейса()="Руководитель")) Тогда
    Форма.ИП.Видимость(1);
    Форма.ИспользоватьСлой("Основной,Слой1", );
    Считать=1;
    ПриУстановкеИнтервала(НачалоИнтервала(),КонецИнтервала());
    Иначе
    Форма.ИП.Видимость(0);
    Форма.ИспользоватьСлой("Основной", );
    КонецЕсли;  
    
    Если (НазваниеИнтерфейса()="Склад") Тогда 
    Форма.ИП.Видимость(0);
    Форма.ИспользоватьСлой("Основной", );
    Форма.КнУдалить.Видимость(0); 
    
    КонецЕсли;
    ИзменитьОтбор();
    ВесОбъем();	
    КонецПроцедуры
    
    
    Спр = СоздатьОбъект("Справочник.ТипЗаявки");
    Спр.НайтипоНаименованию("Удалены",0,1);
    Удл = Спр.ТекущийЭлемент();
    
    
    
    
    Это полный модуль формы журнала. может я что-то упустил?
  9. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    Всё разобрался:
    Код:
    ЗакладкиОтбора("СкладПредЗаявки",0,0,);
    
    
    Вот в чем проблема))).
    Но вот теперь вопрос в слебующем
    Делаю так:
    Код:
    Если ВыбратьКонтрагенты.Выбран = 1 Тогда
    ЗакладкиОтбора("");
    УстановитьОтбор("Контрагент",ВыбКонтрагенты);
    КонецЕсли;
    
    
    Всё работает нормально
    Но как можно сделать отбор по всем параметрам
    т.е. не отключать отбор по закладкам
    и при этом включить отбор по колонке "Контрагент"?
  10. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    Можно завести общий реквизит, типа строка, в нем храни ВидДокумента+Контрагент, отбор программно по значению этого поля

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