Масенький класс "ДатаВремяДокумента" позволяет иммитировать поле даты документов а-ля 1С 8.Х, т.е. в поле кроме даты присутствует и время документа, доступное для редактирования.
Построен на Microsoft Windows Common Controls-2 6.0 (SP4), файл эктивэкс C:\WINDOWS\system32\MSCOMCT2.OCX. Откуда он у меня взялся и откуда берется вообще - не скажу, не знаю, винду не переустанавливал уже года три, напихано всякого навалом. Может с XP SP2, может с офисом 2003, может с девелоперским скулем или с каким фреймворком. Не знаю...
Поле даты и времени документа вполне редактируемо, однако проблема установки времени документа согласно введенным данным в это поле не решена ввиду известного ограничения платформы 1С77 и, возможно, кривых ручек. Если корректно решаема вообще... В общем, здесь наверное требуется Ваша помощь, совет, комментарий, ссылочка, пинок или вообще обвинение в плагиате...
Определение класса:
класс Общие.Форма.ДатаВремяДокумента = Общие.Форма.ДатаВремяДокумента.ert
{
Void Create(ContForm, String ProgID);
Void SetUp(ContForm);
Void Change(ContForm);
};
ЗЫЗЫ: Пример использования (имя реквизита контейнера эктивэкса - "ДатаВремяДокумента") :
Перем ДатаВремя;
//-------
Процедура ПослеСозданияФормы()
ДатаВремя=СоздатьОбъект("Общие.Форма.ДатаВремяДокумента");
ДатаВремя.Create(Контекст,"ДатаВремяДокумента");
Если Выбран()=1 Тогда
ДатаВремя.SetUp(Контекст);
КонецЕсли;
КонецПроцедуры
//------
Процедура ДатаВремяДокумента_Change()
ДатаВремя.Change(Контекст);
КонецПроцедуры
Скриншот во вложении
ЗЫЗЫЗЫ разработчикам: 1С++ почему-то ругается на неудачное создание объекта АктивИкс в случае, если применяется его англоязычное наименование "ActiveX", как описано в документации. Т.е. при попытке СоздатьОбъект("ActiveX") вылетает ошибка...