Имя: Пароль:
1C
1C 7.7
v7: Текущая дата:
0 ncuxonaT31
 
28.05.12
12:58
Помогите пжл есть документ Прием на работу. Поле пустое с выбором, можно выбрать дату это понятно...Но как сделать чтобы отображалась сразу текущая дата?
1 povar
 
28.05.12
13:00
no comments
2 ЧеловекДуши
 
28.05.12
13:01
Позвать специалиста по 1С, и заплатить ему деньги :)
Если же вы и есть "Нуб" в 1С, то читаем книжки по программированию 1С, они жёлтого цвета и в двух томах :)
3 Любопытная
 
28.05.12
13:01
Заполнять при открытии
4 Любопытная
 
28.05.12
13:02
Только с проверкой на заполненность
5 ЧеловекДуши
 
28.05.12
13:03
(3)гениально :)
Каждый раз открываем старый документ с новой датой ;)
...Это по бухгалтерски, и просто и экономно :)
6 Любопытная
 
28.05.12
13:04
(5) ну так-то он наверное догадается проверить. ВО всяком случае, я надеюсь, что он не будет так прямолинеен как Вы
7 aka AMIGO
 
28.05.12
13:05
(5)правильно она написала. Читай последнее предложение сабжа :)
8 Рэйв
 
28.05.12
13:05
(5)Может всетаки с проверкой ЭтоНовый()?
:-)
9 Рэйв
 
28.05.12
13:05
(8)->(7)
10 Любопытная
 
28.05.12
13:06
(8) Ясен пень, что ЭтоНовый(). Ну пусть сам хоть до этого додумается
11 aka AMIGO
 
28.05.12
13:07
ПриОткрытии()
если Выбран()=0 Тогда
ДатаДок = ТекущаяДата()
конецесли;

//но это имхо - лишнее, система сама подставляет текущую.. у ТС что-то неладно в документе
12 andrewalexk
 
28.05.12
13:07
:)..а может не при открытии а при создании?
13 BlackSeaCat
 
28.05.12
13:08
(8) Восьмерочники...

Вставить строчку

ДатаПриема=РабочаяДата();

в процедуру ВводНового()
14 Рэйв
 
28.05.12
13:08
(13)Не уследил, что v7 :-)
15 aka AMIGO
 
28.05.12
13:09
(14)терям навык :)
16 ncuxonaT31
 
28.05.12
13:11
ДатаПриема=РабочаяДата() не идет. Я начинаю только изучать 1с так что простите если чего не понимаю...
17 Рэйв
 
28.05.12
13:12
(16)или не там пишешь или ДатаПриема у тебя не тип "Дата"
18 ncuxonaT31
 
28.05.12
13:14
ДатаПриема тип дата...пишу тут:
СпрСотр = СоздатьОбъект("Справочник.Сотрудники");
СпрСотр.Новый();
СпрСотр.Наименование = ФИО;
СпрСотр.Должность = Должность;
СпрСотр.Оклад = Оклад;
СпрСотр.ДатаПриема = ДатаПриема;
ДатаПриема = РабочаяДата();
СпрСотр.Записать();
19 aka AMIGO
 
28.05.12
13:15
СпрСотр.ДатаПриема =  РабочаяДата();
20 Гефест
 
28.05.12
13:16
СпрСотр.ДатаПриема = ДатаПриема;
ДатаПриема = РабочаяДата();


утром деньги, вечером стулья
21 aka AMIGO
 
28.05.12
13:16
или так:
ДатаПриема = РабочаяДата();
СпрСотр.ДатаПриема = ДатаПриема;
22 1Сергей
 
28.05.12
13:22
(18) и где эта фигня у тебя написана?
23 ncuxonaT31
 
28.05.12
13:23
Написал СпрСотр.ДатаПриема = ДатаПриема;
ДатаПриема = РабочаяДата();
и
ДатаПриема = РабочаяДата();
СпрСотр.ДатаПриема = ДатаПриема;
без результатно
24 ncuxonaT31
 
28.05.12
13:24
1Сергей написано в ОбработкеПроведения
25 Рэйв
 
28.05.12
13:25
(23)Что показывает отладчик насчет
ТипЗначенияСтр(СпрСотр.ДатаПриема)
?
26 1Сергей
 
28.05.12
13:25
(24) а тебе где сказали писать?
27 ncuxonaT31
 
28.05.12
13:29
Рэйв все нормально не ругается тип значения дата.
28 ncuxonaT31
 
28.05.12
13:30
1Сергей ну и где же?
29 aka AMIGO
 
28.05.12
13:31
(24)так ты вообще не в тот модуль засунул!

дружочек, вначале почитай, что там в стандартных модулях написано, типовые приемы
30 aka AMIGO
 
28.05.12
13:32
+29 надо в процедуру модуля формы
31 1Сергей
 
28.05.12
13:32
(28) в модуле формы, в процедуре ВводНового()
тебе уже сказали
32 povar
 
28.05.12
13:34
...и это со стажем в 4 года
33 aka AMIGO
 
28.05.12
13:34
когда создаешь документ, или открываешь для просмотра или изменения - работает модуль формы
если документ проводишь - работает модуль документа
у них разные задачи
34 0_Serg_0
 
28.05.12
13:35
ТС - у тебя с такой обработкой проведения при перепроведении сотрудники будут заново записываться и будет у тебя Ивана Иванова 100500
35 ncuxonaT31
 
28.05.12
13:35
Спасибо счас попробую....
36 andrewalexk
 
28.05.12
13:36
(32) :) по-твоему стаж на мисте ТАК полезен?!
о_О
37 aka AMIGO
 
28.05.12
13:36
(32)ну, может нет учителя.. или спросить негде
что делать, человек далек от программирования.. научится пстепенно
38 0_Serg_0
 
28.05.12
13:37
(37) ага .. научится))
если не устанет свой самописный ЗиК ваять)
39 povar
 
28.05.12
13:39
(36) так тут специалисты всех отраслей собрались. На мисте можно получить консультацию по любому вопросу, от нейрохирургии, до теории черных дыр
40 povar
 
28.05.12
13:39
(37) да учителей тут больше, чем зарегистрированных пользователей )
41 aka AMIGO
 
28.05.12
13:42
(38)научится :)

ему нехватает азов программирования: не понимает левую и правую часть равенства, это описывается в самом начале в любом языке программирования, например, бэйсик.

вот характерная ошибка от этого непонимания:
СпрСотр.ДатаПриема = ДатаПриема;
ДатаПриема = РабочаяДата();


(40)т.е. как это? один мистянин в двух учительских ипостасях? :) а лучше в трех: ..отец .. сын .. дух (святой) :)
42 povar
 
28.05.12
13:47
(41) точно ))
43 ncuxonaT31
 
28.05.12
13:53
Я так понимаю что это выглядеть будет примерно так
Процедура ВводНового()
СпрСотр = СоздатьОбъект("Справочник.Сотрудники");
ДатаПриема = РабочаяДата();
СпрСотр.Записать();
КонецПроцедуры
44 Рэйв
 
28.05.12
13:54
(43):-)...Ругаться не будет.
Впрочем толку тоже не будет.
45 NS
 
28.05.12
13:55
(43) феерично!
46 ncuxonaT31
 
28.05.12
13:55
Почему? что я не так делаю?
47 Рэйв
 
28.05.12
13:56
(43)Предлагаю сократить до

Процедура ВводНового()

КонецПроцедуры
48 NS
 
28.05.12
13:57
(46) Зачем создавать справочник, не позиционироваться, ничего в нем не менять, и при этом записывать?
49 Рэйв
 
28.05.12
13:57
(46)Сравни со своим кодом и подумай чо ты делал не так.

Процедура ВводНового()
  СпрСотр = СоздатьОбъект("Справочник.Сотрудники");
  СпрСотр.ДатаПриема = РабочаяДата();
  СпрСотр.Записать();
КонецПроцедуры
50 1Сергей
 
28.05.12
13:57
(48)+ зачем вообще сразу записывать в справочник? нужно всего-лишь изменить в документе
51 NS
 
28.05.12
13:58
(49) А что этот код делает?
52 Рэйв
 
28.05.12
13:58
+(49)ах да..

СпрСотр.Новый()
53 povar
 
28.05.12
13:58
(49) тоже бред сивой кобылы
54 Рэйв
 
28.05.12
13:58
(51)Забыл:-)
55 0_Serg_0
 
28.05.12
13:58
(46) так оставь)

Процедура ВводНового()
ДатаПриема = РабочаяДата();
КонецПроцедуры
56 Рэйв
 
28.05.12
13:59
ну или не .Новый()
А  .НайтиПоКоду(Код)
57 ncuxonaT31
 
28.05.12
14:00
я понял что да записывать же не надо надо всего лишь сделать в форме текущую дату.
Процедура ВводНового()
СпрСотр = СоздатьОбъект("Справочник.Сотрудники");
СпрСотр.ДатаПриема = РабочаяДата();
КонецПроцедуры
но и так работать не будет.
58 0_Serg_0
 
28.05.12
14:00
(57) не так - а как в (55) ;))
59 Рэйв
 
28.05.12
14:01
(57)Тебе надо найти нужный элемент или создать новый.
СпрСотр - это ВЕСЬ справочник.
60 1Сергей
 
28.05.12
14:01
(59) зачем ему это?
61 Рэйв
 
28.05.12
14:02
(60)Да фиг его знает зачем оно ему. Если спрашивает значит надо.
62 NS
 
28.05.12
14:05
(61) Если и нужно в сотра прописать дату приема - то никак не при создании документа, а при его проведении.
63 NS
 
28.05.12
14:05
А ему нужно в поле ДОКУМЕНТА в при вводе нового проставить текущую дату.
64 povar
 
28.05.12
14:05
(61) ну как бы ник автора о многом говорит, что ему надо...
65 ncuxonaT31
 
28.05.12
14:10
спасибо всем за помощь! Прошу прощения за безграмотность всего - лишь несколько дней разбираюсь с 1с....

Процедура ВводНового()
ДатаПриема = РабочаяДата();
КонецПроцедуры
66 aka AMIGO
 
28.05.12
14:14
(62)немного не так.. имхо, конечно. ТекДату надо записать в реквизит документа, а потом уже помещать в справочник.. при проведении, конечно
67 Рэйв
 
28.05.12
14:14
(63)Ну он намутиииил воды...
68 aka AMIGO
 
28.05.12
14:15
(67)да все намутили.. благодаря тексту сабжа :)
69 aka AMIGO
 
28.05.12
14:16
есть такая поговорка (ТС, не в обиду тебе буди сказано!! :) )
кто ясно мыслит - тот ясно излагает © :)
70 ncuxonaT31
 
28.05.12
14:18
скажите гуру 1с еще такой вопрос а почему нельзя так написать
Процедура ВводНового()
ДатаПриема = ТекущаяДата();
КонецПроцедуры
71 0_Serg_0
 
28.05.12
14:18
(70) можно!)
72 ncuxonaT31
 
28.05.12
14:19
0_Serg_0 так а разница в чем?
73 BlackSeaCat
 
28.05.12
14:19
(70) Слушай, переходи сразу на 8-ку, там все можно! Зачем тебе эта убогая 7.7?
74 0_Serg_0
 
28.05.12
14:20
разница может быть в самих датах;)
75 aka AMIGO
 
28.05.12
14:20
(71)+1 + если ДатаПриема = реквизит документа, и имеет тип "Дата"
76 Рэйв
 
28.05.12
14:20
(72)ТекущаяДата()- это всегда сегодня.
Рабочая- как поставишь.
77 BlackSeaCat
 
28.05.12
14:20
(72) Рабочая - работает, текущая - течет!
78 ncuxonaT31
 
28.05.12
14:21
Спасибо всем ребят!!!!! буду далже разбираться)
79 1Сергей
 
28.05.12
14:21
логичнее было бы писать РабочаяДата()
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший