Белозеров Дмитрий | Системный архитектор | LMSoft

«Кодогенерация и метагенерация в 1С»

Примерно год назад жизнь заставила меня задуматься над таким вопросом - а не разработать ли язык (точнее псевдоязык), с помощью которого можно было бы программно работать с метаданными 1С, писать скрипты, которые выполняют те же действия, которые выполняет разработчик в конфигураторе... В этом докладе хочу рассказать о том как мы разрабатывали такой инструмент, с какими сложностями и нюансами столкнулись, и что получилось в итоге. Мы рассмотрим реальные кейсы использования автоматической генерации метаданных 1С, в которых использование такого подхода дает серьёзные преимущества и сильно облегчает жизнь разработчика (иногда настолько облегчает что можно обойтись вообще без него :), увидим как инструмент генерации можно вписать в общий контур continuous integration. А ещё обсудим перспективы использования подобных практик (генерация конфигурации на основе формализованных функциональных моделей, реализация библиотечного подхода к разработке прикладных решений).

Файл.ПолучитьВремяИзменения() выдаёт время на час больше

1. DWZ2 09.01.17 04:33 Сейчас в теме
Файл.ПолучитьВремяИзменения() выдаёт время на час больше, чем в Проводнике или по команде DIR.

В чём может быть дело?
Ответы
Сортировка: Древо
3. alxarz 29 09.01.17 06:02 Сейчас в теме
(1) не учитывается переход на зимнее время!
2. vcv 84 09.01.17 06:00 Сейчас в теме
Читайте описание в синтакс-помощнике

Файл (File)
ПолучитьВремяИзменения (GetModificationTime)
Синтаксис:

ПолучитьВремяИзменения()
Возвращаемое значение:

Тип: Дата.
Местное время последнего изменения файла.
Описание:

Получает время последнего изменения файла.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Примечание:

Применим только к файлам и каталогам, которые реально существуют.
Для работы метода на веб-клиенте необходимо предварительно подключить расширение работы с файлами.
В режиме совместимости выдает местное время последней модификации файла с ошибкой NTFS. Если файл изменен летом, а просматривается зимой, то полученное время отстает на 1 час. Если файл изменен зимой, а просматривается летом, то полученное время опережает на 1 час.
Если установлен режим совместимости Версия8_2_13 или выше, то время выдается без ошибки.
4. DWZ2 11.01.17 11:39 Сейчас в теме
(2)

В режиме совместимости выдает местное время последней модификации файла с ошибкой NTFS.


Ай-ай, "ошибка NTFS". Проводник может показать правильное время, FAR даже версии 1.65 может, cmd.exe может, даже корейская приставка к телевизору может, а 1С не может, а виноват в этом, конечно, Билл Гейтс. :)

Если файл изменен летом, а просматривается зимой, то полученное время отстает на 1 час. Если файл изменен зимой, а просматривается летом, то полученное время опережает на 1 час.


У меня по всему году на час больше, видимо, потому что летнее время отменили.

Если установлен режим совместимости Версия8_2_13 или выше, то время выдается без ошибки.


Ставил режим совместимости Версия8_2_13 и "НЕ использовать" - не помогает. Дело было во внешней обработке, добавил её в конфигурацию - не помогает. Если переключить режим запуска с управляемого приложения на обычное - обработка не открывается.

Мне, конечно, 3600 вычесть не трудно, но как-то нехорошо это :(. К тому же будет случай, когда вычту, а не надо было и получится на 1ч меньше, чем надо.

Попробую обновить платформу.
Оставьте свое сообщение

Вакансии

Бизнес-аналитик 1С
Санкт-Петербург
зарплата от 80 000 руб. до 100 000 руб.
Полный день

Руководитель проектов по внедрению 1С документооборота
Санкт-Петербург
зарплата от 100 000 руб. до 130 000 руб.
Полный день

Руководитель по сопровождению и внедрению 1С
Санкт-Петербург
зарплата от 100 000 руб. до 120 000 руб.
Полный день

Программист 1С
Санкт-Петербург
Полный день

Ведущий специалист 1С
Москва
Полный день