Собственно, сабж.
Программно формируем Операцию:
Операция.Новый();
- как поставить в начало дня...?
.. только через Операция.УстановитьВремя()..? (предварительно считав первый документ/операцию в дне)
иначе никак?
Через Документ
Документ.УстановитьВремя(Часы, Минуты, Секунды);
тока в форме операции придётся ее вначале записать, тут не помню
может, и АвтоВремяНачалоДня() так сработает
это у меня так ПриЗаписи, в самой форме операции
хм... Это у Документа есть Операция.
А вот если делаем голую операцию - документа-то нет...
Вот, выдрал из формы операции, не причёсывал, здесь я устанавливаю время операции непосредственно в форме,
ВремяДок - это атрибут формы, строка 99:99:99
Процедура ПриЗаписи()
...
Если СтатусВозврата() = 1 Тогда
Если Выбрана() = 0 Тогда
Попытка
Записать();
Исключение
Предупреждение(ОписаниеОшибки());
СтатусВозврата(0);
Возврат;
КонецПопытки;
ИначеЕсли (ВремяДок = ПолучитьВремя()) Или (глПустоеВремя(ВремяДок) = 1) Тогда
Возврат;
КонецЕсли;
Если глУстановитьВремя(Документ, ВремяДок) = 0 Тогда
СтатусВозврата(0);
Возврат;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
//_____________________________________________________________________________
Функция глПустоеВремя(Знач Время, Знач Разделитель = ":") Экспорт
Время = СокрЛП(СтрЗаменить(Время, Разделитель, ""));
Время = СокрЛП(СтрЗаменить(Время, "0", ""));
Возврат ПустаяСтрока(Время);
КонецФункции //глПустоеВремя()
//_____________________________________________________________________________
Процедура глРазложитьВремя(Знач Время, Часы = 0, Минуты = 0, Секунды = 0) Экспорт
Перем КоличествоСтрок;
Часы = 0; Минуты = 0; Секунды = 0;
Время = СтрЗаменить(Время, ":", РазделительСтрок);
КоличествоСтрок = СтрКоличествоСтрок(Время);
Если КоличествоСтрок > 0 Тогда
Часы = Число(СтрПолучитьСтроку(Время, 1));
Если КоличествоСтрок > 1 Тогда
Минуты = Число(СтрПолучитьСтроку(Время, 2));
Если КоличествоСтрок > 2 Тогда
Секунды = Число(СтрПолучитьСтроку(Время, 3));
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
//_____________________________________________________________________________
Функция глУстановитьВремя(Док, Время, Часы = 0, Минуты = 0, Секунды = 0, Знач Разделитель = ":") Экспорт
глРазложитьВремя(Время, Часы, Минуты, Секунды);
Док.УстановитьВремя(Часы, Минуты, Секунды);
Возврат 1;
КонецФункции //глУстановитьВремя
Итого: проверил.
У Операция есть реквизит "Документ". Можно применить все методы к типу данных "Документ", в частности, например, АвтоВремяНачалоДня().
При этом, если делать голую операцию, то Документ - будет сама эта Операция, т.е. рекурсия зацикленная ;-)
.
ОчиститьОкноСообщений();
Операция = СоздатьОбъект("Операция");
Операция.Новая();
Операция.Документ.АвтоВремяНачалоДня();
Операция.Записать();
Сообщить(ТипЗначенияСтр(Операция.Документ));
Сообщить(Операция.Документ.Вид());
Сообщить(Операция.Документ.НомерДок);
Сообщить(Операция.Документ.Операция.Документ.Операция.Документ.Операция); // и так можно "...эх раз, еще раз"
Вопрос закрыт.