Имя: Пароль:
1C
1С v8
что не так в процедуре
0 sysadminlk
 
20.02.13
17:18
Процедура ОбработкаУвольнения()
   СпрСотр = Справочники.Сотрудники;
   СпрСотр.НайтиПоКоду(Сотрудник.Код);
   СпрСотр.ДатаПриема = ДатаУвол;
   СпрСотр.Записать();
   Предупреждение("Сотрудник уволен!", 5);
КонецПроцедуры
1 sysadminlk
 
20.02.13
17:19
Пишет поле объекта не обнаружено
2 sysadminlk
 
20.02.13
17:20
Процедура ОбработкаПроведения()
   СпрСотр = Справочники.Сотрудники;
   НовЭл = СпрСотр.СоздатьЭлемент();
   НовЭл.Наименование = Сотрудник;
   НовЭл.Должности = Должность;
   НовЭл.Оклад = Оклад;
   НовЭл.ДатаПриема = ДатаПриема;
   НовЭл.Записать();
   Предупреждение("Проведено");
   ЭтаФорма.Закрыть();
КонецПроцедуры

А этот код работает.
3 France
 
20.02.13
17:20
за "Предупреждение" в процедуре проведения мистяне автора уволят.
4 ice777
 
20.02.13
17:21
(0) получить объект()
а не пилить ссылку
5 France
 
20.02.13
17:21
СпрСотр.НайтиПоКоду(Сотрудник.Код); - уверен, что элемент найден??
6 Alex S D
 
20.02.13
17:22
ну там ясно, что найден
7 GANR
 
20.02.13
17:22
(0) отладчик с остановкой по ошибке что говорит?
8 Alex S D
 
20.02.13
17:22
ток накуя его искать, если он и есть "Сотрудник"
9 sysadminlk
 
20.02.13
17:23
отладчик пока не освоен (7)
10 del123
 
20.02.13
17:23
сравни
   СпрСотр = Справочники.Сотрудники;
   СпрСотр.НайтиПоКоду(Сотрудник.Код);
и
   СпрСотр = Справочники.Сотрудники;
   НовЭл = СпрСотр.СоздатьЭлемент();
11 del123
 
20.02.13
17:23
чуешь разницу?
12 sysadminlk
 
20.02.13
17:23
(8) а как туда дату тогда записать?
13 GANR
 
20.02.13
17:23
(9) вот прямо сейчас возьми и попробуй
14 ice777
 
20.02.13
17:24
и за Найтипокоду надо давать по шее..
15 Alex S D
 
20.02.13
17:24
СотрудникОбъект = Сотрудник.ПОлучитьОбъект();
и далее работаешь...
16 AlexNV
 
20.02.13
17:25
(0) СпрСотр = СпрСотр.НайтиПоКоду(Сотрудник.Код);
СпрСотр = СпрСотр.ПолучитьОбъект();
17 salvator
 
20.02.13
17:25
Автор, ответь на (8).
Мне тоже интересно :))
18 Жан Пердежон
 
20.02.13
17:26
(0) семёрошник?
19 Alex S D
 
20.02.13
17:26
(17) из (12) все ясно)
20 salvator
 
20.02.13
17:27
(19) Понял ужо, называется мы не ищем легких путей.
21 sysadminlk
 
20.02.13
17:28
восьмерка потомучто первый день открыл
я 7.7
8 ваще чет курить не могу
22 sysadminlk
 
20.02.13
17:28
дайте ктонить рабочий код для записи даты в справочник через процедуру
23 sysadminlk
 
20.02.13
17:29
(22) в уже созданный элемент
24 del123
 
20.02.13
17:29
в (15) написано. Получаешь из ссылки объект и с ним уже работаешь.
25 Жан Пердежон
 
20.02.13
17:30
первую строку замена на

СпрСотр = Сотрудник.ПолучитьОбъект();
26 sysadminlk
 
20.02.13
17:31
(16) огромное спасибо. помогло! :)))))))

вот рабочий код
Процедура ОбработкаУвольнения()
   СпрСотр = Справочники.Сотрудники;
   СпрСотр = СпрСотр.НайтиПоКоду(Сотрудник.Код);
   СпрСотр = СпрСотр.ПолучитьОбъект();
   СпрСотр.ДатаУвольнения = ДатаУвол;
   СпрСотр.Записать();
   Предупреждение("Сотрудник уволен!", 5);
КонецПроцедуры
27 sysadminlk
 
20.02.13
17:31
тема закрыта :)))) всем спасибо!
28 Alex S D
 
20.02.13
17:32
мде))
29 zladenuw
 
20.02.13
17:32
(23) примерно так
НайденнаяСсылка = СпрАвто.НайтиПоРеквизиту("Кузов",СокрЛП(НомКузова));
       Если НайденнаяСсылка = СпрАвто.ПустаяСсылка()  Тогда
           НовыйЭлемент = СпрАвто.СоздатьЭлемент();
Иначе
ТекОбъект = НайденнаяСсылка.ПолучитьОбъект();
ТекОбъект.ТвойРеквизит = Дата("2012");
ТекОбъект.Записать();
КонецЕсли;