Имя: Пароль:
1C
 
Закладки в справочнике сотрудников
Ø (Анюта 20.12.2004 21:47)
0 kant
 
20.12.04
20:27
С помощью обработки заполняю справочник сотрудников:
"
Сотрудники = СоздатьОбъект("Справочник.Сотрудники");
Сотрудники.Новый();
Сотрудники.Код = 1;
Сотрудники.Наименование = "ФИО";
"
А когда захожу в 1С:Предприятие, и пытаюсь отредактировать элементы справочника, у меня выводится только одна закладка с ФИО и кодом.
Что можно сделать, чтобы была возможность редактировать?

ЗиК 247
1 vS
 
20.12.04
20:32
...внимательно посмотреть процедуру ПриОткрытии()
я в свое время на этом тоже нехило обломался, пусть руками бьют :)
2 rsv1
 
20.12.04
20:37
Добавь вот это:
Сотрудники.ОсновнойЭлемент = Сотрудники.ТекущийЭлемент();
сработает 100%
3 kant
 
20.12.04
20:38
(1)Да я посмотрел уже её:
остальные закладки становятся доступными, "Если ОсновнойЭлемент=ТекущийЭлемент()"

Можно ли просто закомментировать эту строчку?
Или лучше сделать как-то по-другому?
4 vS
 
20.12.04
20:40
ниче не коменти, попробуй как в (2)
5 rsv1
 
20.12.04
20:41
короче
Сотрудники = СоздатьОбъект("Справочник.Сотрудники");
Сотрудники.Новый();
Сотрудники.Код = 1;
Сотрудники.Наименование = "ФИО";
Сотрудники.Записать();
Сотрудники.ОсновнойЭлемент = Сотрудники.ТекущийЭлемент();
Сотрудники.Записать();
6 kant
 
20.12.04
20:43
(2) не помогает
7 vS
 
20.12.04
20:45
код=1 угараешь? или тестируешь?

в отладчик иди, нету у меня зика дома
8 rsv1
 
20.12.04
20:47
Сделай как в 5. все должно работать!!!
9 kant
 
20.12.04
20:48
(5) не помогает.

(7) Код = 1 я для примера написал, с кодом всё нормально.
10 vS
 
20.12.04
20:52
Сахар, пройди отладчиком, воткни на открытие точку, и увидишь, мож где список гробится, я точно помню, что прошлой весной я потрахаля и бросил... 200 сотров руками били, решил что дольше писать 242 кажется зика была
11 rsv1
 
20.12.04
20:53
Процедуру в студию
12 vS
 
20.12.04
20:53
(11) тебе при открытии из справочника чтоли??
13 vS
 
20.12.04
20:54
у меня в принцыпе 248 есть на ИТС, могу установить, посмотреть...
14 rsv1
 
20.12.04
20:55
12) нахрена мне приОткрытии. процедуру обработки ясен пень
15 kant
 
20.12.04
20:55
(10) А у меня 892 сотрудника.... Запарюсь я вручную их вбивать..
16 rsv1
 
20.12.04
20:57
а у меня 1500 было
17 kant
 
20.12.04
21:01
Процедура ПереносСотрудников()
   Сотрудники = СоздатьОбъект("XBase");        
   ФайлСотрудников = "";
   КаталогСотрудников = "";
   Если ФС.ВыбратьФайл(0,ФайлСотрудников,КаталогСотрудников,"Выбрать файл сотрудников(PEOPLE)","Файлы dbf |*.dbf","dbf")=1 Тогда
       Сотрудники.ОткрытьФайл(КаталогСотрудников+ФайлСотрудников);
   Иначе
         Возврат;
   КонецЕсли;
   Окончание =1;
   Пока Окончание=1 Цикл
       ФИО = "";
       Фам = Сотрудники.ПолучитьЗначениеПоля("SHORTNAME");
       Имя = Сотрудники.ПолучитьЗначениеПоля("NAME1");
       Отч = Сотрудники.ПолучитьЗначениеПоля("NAME2");
       ФИО = СокрЛП(Фам)+" "+СокрЛП(Имя)+" "+СокрЛП(Отч);
       ТабельныйНомер = СокрЛП(Сотрудники.ПолучитьЗначениеПоля("CODE"));
       Сотрудник = СоздатьОбъект("Справочник.Сотрудники");
       Сотрудник.ВыбратьЭлементы();
       НайденСотрудник = 0;
       Пока Сотрудник.ПолучитьЭлемент()=1 Цикл
           Если (Сотрудник.Наименование = ФИО)и(Сотрудник.Код = ТабельныйНомер) Тогда
               НайденСотрудник = 1;
           КонецЕсли;
       КонецЦикла;
       Если НайденСотрудник = 1 Тогда
           Окончание = Сотрудники.Следующая();
           Продолжить;
       КонецЕсли;
       Сотрудник.Новый();  
       Сотрудник.Наименование = ФИО;
       Сотрудник.Код = ТабельныйНомер;
       Сотрудники.Записать();        
       Сотрудник.ОсновнойЭлемент = Сотрудник.ТекущийЭлемент();
       Сотрудник.Записать();
       Окончание = Сотрудники.Следующая();
   КонецЦикла;
       Сотрудники.ЗакрытьФайл();
КонецПроцедуры//ПереносСотрудников
18 kant
 
20.12.04
21:05
когда написал, понял. Вместо "Сотрудник" написал "Сотрудники"

Большое спасибо, rsv1
19 vS
 
20.12.04
21:07
Сотрудники.Записать();   вот ошибка
20 rsv1
 
20.12.04
21:08
у тебя наверное новые сотры уже не создаются поэтому добавь следущее:
.
      Если (Сотрудник.Наименование = ФИО)и(Сотрудник.Код = ТабельныйНомер) Тогда
              НайденСотрудник = 1;
//
Сотрудники.ОсновнойЭлемент = Сотрудники.ТекущийЭлемент(); //+++
Сотрудники.Записать(); //+++
//
          КонецЕсли;
21 vS
 
20.12.04
21:08
сам увидел :)
22 rsv1
 
20.12.04
21:09
18) а я и не заметил
23 Лошадка в пальто
 
20.12.04
21:14
Ошибка в 0. ... Пишется 427...
24 kant
 
20.12.04
21:35
(23) нет, у меня ЗиК 247, ЗиК редакция 2.3
Сомневаюсь, что есть ЗиК 427 :)
25 vS
 
20.12.04
21:41
зато есть бзик... ;) да простят меня боги
Ошибка? Это не ошибка, это системная функция.