Имя: Пароль:
1C
1С v8
Не сохраняет реквизит в документе
0 Mr Elidan
 
16.10.15
17:02
Взял типовой механизм в писанный док, все хорошо, все красиво все делает, но не сохраняет значение. На сколько я понял, значение в типовом механизме передается через переменную в реквизит. Что ему не нравиться?

http://saveimg.ru/show-image.php?id=6707403bbd1d9c399120089a3a270550
http://saveimg.ru/show-image.php?id=6bc321424e85c49dbee69c76340e1f72
1 zak555
 
16.10.15
17:10
чем типовой док не нравится ?
2 mehfk
 
16.10.15
17:12
(0) Не страдай херней, нажми меню форма - размещение данных и поставь галку на нужном реквизите.
3 Serg_1960
 
16.10.15
17:24
(0) Скопипастил типовой не понимая сути? Что там у тебя стоит в ПриИзменении?  = ДатаКакМесяцПредставление()? Мне отсюда плохо видно.
4 ibreiter
 
16.10.15
17:29
(0) Ничего там не передается, у элемента формы путь к данным объекта
5 Смотрящий
 
16.10.15
17:30
Переменная в модуле с именем реквизита есть ?
6 Mirnin
 
16.10.15
17:33
Функция ДатаКакМесяцПредставление(ДатаДата) Экспорт
    Возврат Формат(ДатаДата, "ДФ='ММММ гггг'");
КонецФункции

Формат возвращает строку, а не дату.
7 Mirnin
 
16.10.15
17:40
И вообще не до конца ясно, зачем эта чехарда с реквизитами. Скрин кода в нормальном масштабе, возможно, все бы объяснил.
8 Mr Elidan
 
18.10.15
18:32
Ну типо передается по
МесяцНачисления = РаботаСДиалогами.ДатаКакМесяцПредставление(ПериодРегистрации);

[URL=http://www.picshare.ru/view/6824226/][IMG]http://www.picshare.ru/uploads/151018/28T4QNoUxg.jpg[/IMG][/URL]
[URL=http://www.picshare.ru/view/6824227/][IMG]http://www.picshare.ru/uploads/151018/8YjByRc6Rw.jpg[/IMG][/URL]
9 Mr Elidan
 
18.10.15
18:33
Реквизит в доке называется ПериодРегистрации
А в форме называется МесяцНачисления
10 Mirnin
 
19.10.15
10:03
В ПриОткрытии() вынеси присвоение значения МесяцНачисления за условие ЭтоНовый(). Это не реквизит объекта, он не сохраняется. А код при открытии нужен как раз для корректного присвоения.

Из типового документа:

Если ЭтоНовый() Тогда
///
    Иначе
///
КонецЕсли;    
    
МесяцСтрока = РаботаСДиалогами.ДатаКакМесяцПредставление(ПериодРегистрации);