Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 1C: Предприятие, SAP, ERP и учётные системы > позиционированиев журналу документов


Автор: drlev 29.4.2009, 13:19
Уважаемые коллеги, подскажите, есть ли возможность в журнале документов программно перевести курсор на нужный документ?
Или подскажите другой вариант, может я не той дорогой пошел...
Нужно сделать поиск в журнале, через графы отбора не получается, поиск идет по реквизиту документа, тип этого реквизита - строка, а ищется только вхождение критерия в эту строку. Я делаю так: пользователь вводит критерий, нажимает кнопку "Найти", открывается весь набор документов и ищется в каждом документе совпадение реквизита с критерием. Совпадение нахожу, а дальше, как перепрыгнуть на нужный документ в журнале... не знаю...
Код

        Док = СоздатьОбъект("Документ");
        Если УчитыватьПериод = 1 Тогда
            Док.ВыбратьДокументы(НачалоИнтервала(),КонецИнтервала());
        Иначе                                                      
            Док.ВыбратьДокументы();
        КонецЕсли;        
        ТекПоз = 0;
        Пока Док.ПолучитьДокумент() > 0 Цикл
            Если (Док.Вид() = "ТехКартаЛистовая") или (Док.Вид() = "ТехКартаКнижная") Тогда
                ТекДок = Док.ТекущийДокумент();
                Если Найти(ТекДок.НомерЗаказа,Критерий) > 0 Тогда
                    Если УчитыватьПериод = 1 Тогда
                        Если Док.ДатаДок < НачалоИнтервала() Тогда
                            УстановитьИнтервал(Док.ДатаДок,КонецИнтервала());
                        КонецЕсли;                                           
                        
                        Если Док.ДатаДок > КонецИнтервала() Тогда
                            УстановитьИнтервал(НачалоИнтервала(),Док.ДатаДок);
                        КонецЕсли; 
                    КонецЕсли;
                    // а теперь нужно перевести курсор на найденный документ
                    Возврат;
                КонецЕсли;
            КонецЕсли;
        КонецЦикла;

Автор: Tirpiz 29.4.2009, 13:31
Попробуй 
ОткрытьФорму("Журнал.Общий.ФормаСписка",ТекДок);

Естессна, на месте названия журнала и формы списка - тот в котором собираешься открывать. Т.к. он у тебя уже открыт, данная команда должна спозиционировать курсор на найденный документ

Автор: drlev 29.4.2009, 13:43
Tirpiz, 
К сожалению ничего не получилось... курсор остался на прежнем месте.

Автор: Tirpiz 29.4.2009, 14:01
Тогда затрудняюсь.... smile  Может, что-нибудь с позицией документа помудрить?

Добавлено через 10 минут и 7 секунд
А впрочем..., может это и глупо, но раз ты все равно в журнале, зачем создавать объект Документ, можно просто делать выборку, на нужном доке прервать цикл, фокус ввода по идее должен остаться на этом самом доке

Автор: AkelaSQL 29.4.2009, 15:02
АктивизироватьОбъект(ТекДок);

Автор: drlev 29.4.2009, 15:29
AkelaSQL, Спасибо, как раз то что и нужно smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)