Бухгалтерский учет, налогообложение, отчетность, МСФО, анализ бухгалтерской информации, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

В чём трабл?

Ёжик
читатель
офлайн
Дата регистрации: 01.08.2002
Сообщений: 84
Пост №1
 
04.09.2003 10:49

"ситуация следующая, на форму справочника "БАНКИ" "Для выбора" прицепил текстовое поле и кнопку "Поиск"



//******************************************************************************

// Поиск()

// Описание:

//       Выполняет поиск банка по кнопке "поиск" на форме.





Процедура Поиск()

Бнк=СоздатьОбъект("Справочник.Банки");

       //Банк.ПорядокКодов();

       Бнк.ВыбратьЭлементы(0);

       Если Бнк.ВыбратьЭлементы(0)=1 Тогда

             Пока Бнк.ПолучитьЭлемент(0)=1 Цикл

                        Если Найти(СокрЛП(Бнк.Наименование),СокрЛП(ПоискБанка))=0 Тогда

                               Иначе Бнк.НайтиЭлемент(Бнк.ТекущийЭлемент());

                               //Предупреждение("Такой банк уже существует! Его код="+Банк.Код);

                        КонецЕсли;

             КонецЦикла;

       КонецЕсли;

КонецПроцедуры;

//******************************************************************************



говорит объект не может быть перепозицианирован! и ссылается на строку Иначе Бнк.НайтиЭлемент(Бнк.ТекущийЭлемент());



в чём тут трабл?"

moroder
читатель
офлайн
Дата регистрации: 16.06.2002
Сообщений: 526
Пост №2
 
04.09.2003 11:40

А вот прочувсвуйте эту строку - вы затавляете объект самого на себя перепозиционироваться.

Эта строка просто не имеет смысла..

Ёжик
читатель
офлайн
Дата регистрации: 01.08.2002
Сообщений: 84
Пост №3
 
05.09.2003 08:17

"так... и что же делать? как же тогда позиционироваться на найденном объекте?

Ну нашёл я подстроку "ПоискБанка" в строке "Бнк.Наименование", как теперь на неё позиционироваться?

НайтиЭлемент();

НайтиПоНиаменованию();

НайтиПоКоду();

и т.д. приводят ктому же результату :-(



как же тогда позиционироваться!"

moroder
читатель
офлайн
Дата регистрации: 16.06.2002
Сообщений: 526
Пост №4
 
05.09.2003 17:51

Вот прочитайте "Спозиционироваться на найденном объекте".

На мысли не наводит?

Вы и так на нем, куда еще хотите?

Ёжик
читатель
офлайн
Дата регистрации: 01.08.2002
Сообщений: 84
Пост №5
 
09.09.2003 08:33

возможно не правильно выразился :-)

объект найден, так?

но этот объект никак с формой не связан, так?

элементарное что тут можно сделать вывести его через Сообщить() или Предупреждение(), но нужно совсем другое!!!

Чтобы он стал активным (т.е. стал выделенным синим курсором)... Я же объясняю, что нужно сделать что-то похожее на ПОИСК в справочнике "Банки"... потому что к самой строке поиска не отовсюду можно получить доступ!



А способ, сначала открывать справочник "Банки" проверять есть ли там уже нужный банк, потом через документы (например, п/п) заводить или выбирать... короче должен быть способ сделать всё намного проще!

tolik1
читатель
офлайн
Дата регистрации: 27.07.2003
Сообщений: 43
Пост №6
 
09.09.2003 14:43

"АктивизироватьОбъект();

Синтаксис:

АктивизироватьОбъект(<Объект>)

Назначение:

Активизировать объект в форме списка.

Параметры:

<Объект> - выражение, которое может содержать значение элемента справочника или документ или запись журнала расчетов (в зависимости от типа модуля формы, в котором должен быть активизирован элемент диалога).

Замечание:

Доступ к методу возможен только в контексте Модуля формы."

Ёжик
читатель
офлайн
Дата регистрации: 01.08.2002
Сообщений: 84
Пост №7
 
09.09.2003 14:52

"Пробовал!

Работает не понятно как :-)

Вместо позиции первого найденного делает активным самый последний найденный :-( Что только не делал... всё время активным становится только последний найденный элемент!

Опять же косяк...



вот код:







//******************************************************************************

//      Описание:

//             Выполняет поиск банка по кнопке "поиск" на форме.



Процедура Поиск()

       i=1;

       Бнк=СоздатьОбъект("Справочник.Банки");

       Бнк.ПорядокНаименований();

       Бнк.ВыбратьЭлементы();

       Пока Бнк.ПолучитьЭлемент()=1 Цикл

             Если (Найти(СокрЛП(ВРЕГ(Бнк.Наименование)),СокрЛП(ВРЕГ(ПоискБанка)))<>0) Тогда

                        Найденные[i]=Бнк.Наименование;

                        //Сообщить(Найденные[i]);

                        i=i+1;

             КонецЕсли;

       КонецЦикла;

       //****************************************************************************************

       Если ФлагПоиска=0 Тогда

             //АктивизироватьОбъект(Найденные[1]);

             Сообщить("_____"+Найденные[1]);

             k=k+1;

             ФлагПоиска=1;

       ИначеЕсли (k
             //АктивизироватьОбъект(Найденные[k]);

             Сообщить("*** "+Найденные[k]);

             k=k+1;

       КонецЕсли;

КонецПроцедуры // Поиск()



//********************************************************************************************

// Определяем переменные при каждом новом открытии формы

ФлагПоиска=0;

k=1;"

tolik1
читатель
офлайн
Дата регистрации: 27.07.2003
Сообщений: 43
Пост №8
 
10.09.2003 08:42

"вот теперь всё понятно :))

действительно, есть такая плюха в 1С,

дело в том, что ...

короче: вставляешь кнопку "Поиск" с формулой Поиск()

и

Процедура Поиск()

ПоискБанка = """";

Если ВвестиСтроку(ПоискБанка,"Укажите пару символов ..",50,0,20) = 0 Тогда

Возврат;

КонецЕсли;



Бнк=СоздатьОбъект("Справочник.Банки");

Бнк.ПорядокНаименований();

Бнк.ВыбратьЭлементы();            



Пока Бнк.ПолучитьЭлемент()=1 Цикл

Если (Найти(СокрЛП(ВРЕГ(Бнк.Наименование)),СокрЛП(ВРЕГ(ПоискБанка)))<>0) Тогда

АктивизироватьОбъект(Бнк.ТекущийЭлемент());

Прервать;

КонецЕсли;

КонецЦикла;

КонецПроцедуры



Я правда делал в отдельной форме, так как результат могет быть множественным и

понадобиться дополнительный отбор, например уже из списка значений

выведенного на экран.

Удачи !!

"

Показывать по 10 20 40 сообщений

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация
Предложения партнеров
Обучение пользователей продуктов 1С

1С бесплатно 1С-Отчетность 1С:ERP Управление предприятием 1С:Бесплатно 1С:Бухгалтерия 8 1С:Бухгалтерия 8 КОРП 1С:Бухгалтерия автономного учреждения 1С:Бухгалтерия государственного учреждения 1С:Бюджет муниципального образования 1С:Бюджет поселения 1С:Вещевое довольствие 1С:Деньги 1С:Документооборот 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и кадры государственного учреждения 1С:Зарплата и управление персоналом 1С:Зарплата и управление персоналом КОРП 1С:Комплексная автоматизация 8 1С:Лекторий 1С:Предприятие 1С:Предприятие 7.7 1С:Предприятие 8 1С:Розница 1С:Управление нашей фирмой 1С:Управление производственным предприятием 1С:Управление торговлей 1СПредприятие 8

Все теги