Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: как в справочнике найти запись

v7: как в справочнике найти запись
Я
   alpha78
 
11.05.19 - 17:33
как в справочнике найти запись
вот код - постоянно выдает что записи нет, хотя есть, что нето?
на форме внешней обработки положил текстовый реквизит С000

Процедура Сформировать()
    Сотр = СоздатьОбъект("Справочник.Сотрудники");
    Сотр.ВыбратьЭлементы();
    
    пока Сотр.ПолучитьЭлемент()=1 цикл
        
        если Сотр.НайтиПоНаименованию (СокрЛП(С000),,)=1 Тогда
        Предупреждение ("Элемент справочник Сотрудники"+С000+"Найден");  
        
    иначе Предупреждение ("Нет!!!");
        конецесли;
    
    конеццикла;

пишет предупреждение что нет и выдает такую хрень:
пока Сотр.ПолучитьЭлемент()=1 цикл
{D:\1C_LOCAL\TESTBUH\EXTFORMS\НАЙТИ СОТРУДНИКА.ERT(6)}: Не выбран элемент!

подсобите, благодарен!
 
 
   Ёпрст
 
1 - 11.05.19 - 17:40
(0)
Процедура Сформировать() 
    Сотр = СоздатьОбъект("Справочник.Сотрудники"); 
  //  Сотр.ВыбратьЭлементы(); 

     
  // пока Сотр.ПолучитьЭлемент()=1 цикл 

         
    Если Сотр.НайтиПоНаименованию (СокрЛП(С000))=1 Тогда 
        Предупреждение ("Элемент справочник Сотрудники"+С000+"Найден");   
         
    Иначе 
         Предупреждение ("Нет!!!"); 
    КонецЕсли; 
     
  //  конеццикла; 

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

   Looking
 
2 - 11.05.19 - 17:51
(0) см (1) цикл здесь ни к чему.
   Кодер
 
3 - 11.05.19 - 17:51
http://firststeps.ru, в левом столбце выбери 1С, там много и подробно про 77.
   Sasha_H
 
4 - 11.05.19 - 17:55
(1) еще хорошо бы добавить Сотр.ТекущийЭлемент() для подальшей работы с элементом .
   mishaPH
 
Модератор
5 - 11.05.19 - 17:57
(0) автор. ты либо цикл гоняй и а наименовании ищи искомое, либо сразу ищи по наименованию.
   Looking
 
6 - 11.05.19 - 17:58
С циклом будет примерно так

Процедура Сформировать() 
    Сотр = СоздатьОбъект("Справочник.Сотрудники"); 
    Сотр.ВыбратьЭлементы(); 
    пока Сотр.ПолучитьЭлемент()=1 цикл 
    Если СокрЛП(Сотр.Наименование)="С000" Тогда 
        Предупреждение ("Элемент справочник Сотрудники"+С000+"Найден");   
    иначе Предупреждение ("Нет!!!"); 
        конецесли; 
    конеццикла;
   Looking
 
7 - 11.05.19 - 18:00
+(6)правда так лучше будет ))), чтобы не было постоянных предупреждений "Нет"
Процедура Сформировать()
    Сотр = СоздатьОбъект("Справочник.Сотрудники"); 
    Сотр.ВыбратьЭлементы(); 
    пока Сотр.ПолучитьЭлемент()=1 цикл 
    Если СокрЛП(Сотр.Наименование)="С000" Тогда 
        Предупреждение ("Элемент справочник Сотрудники"+С000+"Найден");   
    конеццикла;
   mishaPH
 
Модератор
8 - 11.05.19 - 18:03
(6) (7) странное использование справочника сотрудника. С000 скорее всего какой-то код или реквизит.
   Looking
 
9 - 11.05.19 - 18:04
+(7)А так еще лучше

Процедура Сформировать()
    ПеремСотрудникС000="";
    Сотр = СоздатьОбъект("Справочник.Сотрудники"); 
    Сотр.ВыбратьЭлементы(); 
    пока Сотр.ПолучитьЭлемент()=1 цикл 
    Если СокрЛП(Сотр.Наименование)="С000" Тогда 
         ПеремСотрудникС000=Сотр.ТекущийЭлемент();
         Прервать;
    конеццикла;
        Если ПустоеЗначение(ПеремСотрудникС000)=1 Тогда
        Предупреждение ("Нет!!!");   
        Иначе
        Предупреждение ("Элемент справочник Сотрудники"+С000+"Найден");   
        КонецЕсли;
   mishaPH
 
Модератор
10 - 11.05.19 - 18:05
(7) вообще быстрее и менее замороченное
если Сотр.НайтиПоНаименованию (СокрЛП(С000),,)=1 Тогда 
        Предупреждение ("Элемент справочник Сотрудники"+С000+"Найден");   
         
иначе 
Предупреждение ("Нет!!!"); 
конецесли; 


находит просто. НО у автора скорее всего создано было C0000  а ищет он С0000

разные раскладки клавы англ и русский
   Looking
 
11 - 11.05.19 - 18:05
+(9)только не Прервать, а Продолжить?
   Looking
 
13 - 11.05.19 - 18:06
(10)это да, я просто пример цикла привожу, как он будет работать, а не оптимальное решение вопроса в (0)
   alpha78
 
14 - 11.05.19 - 20:27
спасибо всем коллеги удачи все ок
   alpha78
 
15 - 22.05.19 - 16:06
пробовал показзываеть

Пока Сотр.ПолучитьЭлемент()=1 Цикл
{C:\USERS\...\ПОИСКВСПРАВОЧНИКЕ.ERT(7)}: Не выбран элемент!
   hhhh
 
16 - 22.05.19 - 16:26
(15) весь код покажи

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.