О времени и 1С

Публикация № 1017637

Разработка - Практика программирования

Платформа даты время синхронизация клиент-сервер МоментВремени граница особенности миллисекунды

206
Основы и особенности работы со временем в 1С. Как избавиться от боли при работе в разных часовых поясах. Что такое момент времени. И другое.

Время бесценно

Особенно при высокой стоимости часа специалиста, который будет исправлять ошибки конфигурации в работе с датами и временем.

На эту тему уже многое написано как здесь на ИС, так и за его пределами. Фирма "1С" снабдила нас исчерпывающими инструкциями по работе с датами и временем, включила некоторые положения в стандарты разработки, а также реализовала удобный функционал в БСП. Не смотря на это, многие продолжают "пилить" костыли в обслуживаемых информационных базах, уверенные что у них все хорошо.

Сегодня мы пробежимся по основам работы со временем из кода встроенного языка и запросов, рассмотрим основные возможности платформы и дополнительный функционал в БСП. Также подробней разберем особенности при работе в разных часовых поясах с примерами на распределенном кластере серверов 1С, а также некоторые другие особенности.

Статья может быть интересна:

  1. Начинающим разработчикам 1С.
  2. Любым разработчикам 1С, которые везде используют функцию "ТекущаяДата()".
  3. Кого интересует работа с разными часовыми поясами и функционал БСП работы со временем.
  4. Тем, кого интересует как будет работать кластер 1С, если сервера в разных часовых поясах (о ужас!).
  5. Кто хочет заглянуть как платформа 1С хранит дату и время в базе, как работает момент времени, какие проблемы могут быть.

Все нижесказанное актуально для версии платформы 8.3.13.1690. Вы все еще здесь? Тогда добро пожаловать в путешествие во времени (или по времени, или через....).

Основные основы основ

Язык программирования платформы 1С и синтаксис языка запросов имеют все необходимое для работы с датами и временем, чтобы решить большинство возникающих задач. Ниже приведен листинг кода встроенного языка, где мы применили все возможные операции с датами.

 
 Операции с датами из встроенного языка

Синтаксис языка запросов также позволяет выполнять некоторые манипуляции с датами на уроне СУБД. Конечно, количество доступных операций меньше, чем возможности самой СУБД (будь это SQL Server или PostgreSQL), но многие задачи все же позволяет решать.

 
 Операции с датами из языка запросов

Именно эти возможности мы, разработчики, чаще всего используем при работе со временем в алгоритмах, запросах и т.д. Казалось бы, что еще можно придумать?

 
 Может дальше будет интересней

Сквозь время и часовые пояса

На самом деле не все так просто! Если "копать" дальше, то первая тема, которая может усложнить жизнь разработчиков - это часовые пояса. Пока Вы работаете с файловой или клиент-серверной базой, в которой все пользователи находятся в одном часовом поясе, то проблем нет. Но как только бизнес вырос и стал распределенным между регионами в разных часовых поясах, вот тут то веселье и начинается!

Для начала рассмотрим какие инструменты предлагает платформа 1С для таких ситуаций.

 
 Что есть в платформе 1С для работы в разных часовых поясах

Отлично, у нас есть список часовых поясов и их локализованное представление. Но что с этим можно сделать?

Начнем с того, что у прикладных решений есть несколько стандартных настроек для часовых поясов:

  • Часовой пояс информационной базы - определяет в каком часовом поясе находится информационная база. По умолчанию не определен, при этом часовым поясом базы считается часовой пояс сервера.
  • Часовой пояс сеанса - указывает часовой пояс запущенного сеанса. Если не задан явно, то используется часовой пояс информационной базы или, если он не заполнен, часовой пояс сервера.

Таким образом, если у Вас пользователи базы распределены по разным часовым поясам, то настройка этих параметров строго обязательна, чтобы избавиться от проблем работы с датами и временем. Ниже мы на примере подробно рассмотрим на что каждый из этих параметров влияет, а пока продолжим рассматривать остальные функции работы с часовыми поясами.

 
 Параметры часового пояса базы и сеанса

Окей, мы знаем как смотреть и настраивать часовые пояса. Теперь рассмотрим основные функции для их использования при работе с датой и временем.

 
 Работы с датами в разных часовых поясах

Теперь Вы точно должны знать и понимать, что платформа 1С поддерживает работу с разными часовыми поясами в одной информационной базе, а также имеет обширный функционал для работы с датой и временем в таком режиме. Многие разработчики не сталкивались с особенностями работы в нескольких часовых поясах и не видят смысла в использовании функции"ТекущаяДатаСеанса()" вместо привычной "ТекущаяДата()". С этим трудно поспорить, т.к. это действительно привычней, да и использование текущей даты сеанса в большинстве конфигураций имеет то же самое поведение, что и использование текущей даты сервера.

Однако, теперь Вы понимаете, к чему это может привести:

  • При изменении часового пояса в настройках сервера это повлияет на поведение функции "ТекущаяДата()", "ЧасовойПояс()" и др. А что если пояс поменяли ошибочно или база просто переехала в облако, но часовой пояс не должен был измениться?
  • При необходимости организовать работу в базе в разных часовых поясах потребуются дополнительные усилия по доработке конфигурации. Иногда значительные и с .... непредсказуемыми последствиями.

Часовые пояса могут использоваться и в других случаях, не только когда пользователи разделены географически:

  • Необходимость знать локальное время географически распределенных подразделений и филиалов, чтобы ограничить различные email / sms-рассылки дневным временем.
  • Для корректной работы интеграции с различными сервисами и службами.
  • И др.

В этих случаях в прикладном решении создаются настройки часовых поясов для объектов, а далее рассчитывается дСуть разницы часовых поясовата и время в зависимости от этих параметров. Подробнее на этом останавливаться не будем.

Как понять, есть ли необходимость разбивать работу сеансов на разные часовые пояса? Можно выделить две основные причины:

  1. В информационной базе ведется учет по нескольким обособленным управленческим единицам (организациям, филиалам), которые находятся в разных часовых поясах и ведут относительно обособленный учет. В этом случае использование часовых поясов избавит от множества проблем в учете, ведь то же закрытие месяца должно проходить с учетом локального времени.
  2. В базе ведется учет по одной организации, но с распределенными филиалами, складами и т.д. То есть организация одна, но ее подразделения могут быть в разных часовых поясах. Например:
    • Управленческий офис в Москве
    • Центральный склад в Тюмени
    • Производство в Новосибирске и Владивостоке

Для корректного учета Новосибирск и Владивосток работают по местному времени. Чтобы учет на центральном складе был корректным мы не можем использовать местное время производств, поэтому выходом будет использовать время управленческого офиса. Итого, будут использоваться три часовых пояса (Москва, Новосибирск, Владивосток).

Это лишь общие примеры. На практике все либо гораздо проще, когда организации полностью обособлены друг от друга, а вся информация "сливается" в единую базу без изменения времени. Либо все гораздо сложнее, когда нужно и даты преобразовывать при интеграции, да еще и отчетность как-то при этом собирать. Здесь нет готовых рецептов, т.к. все зависит от конкретной задачи.

Подробнее про работу в разных часовых поясах Вы можете прочитать в официальных источниках:

А теперь перейдем к небольшому примеру.

Очень простой пример

Рассмотрим простой пример, который можно встретить в реальном бизнесе. Компания работает по всей стране. Центральный офис и центральный склад находятся в Москве. Два дополнительных обособленных офиса открыты в Тюмени и Новосибирске. Информационная база одна для всех.

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

  • Для информационной базы установлен часовой пояс "Europe/Moscow"
  • Для пользовательских сеансов в Новосибирске при запуске устанавливается часовой пояс "Asia/Novosibirsk"
  • Для сеансов из Тюмени при запуске устанавливается часовой пояс "Asia/Oral"

Сравним результаты вызова основных функций работы со временем на сервере.

Метод платформы (вызов на сервере) Пользователи в Москве Пользователи в Новосибирске Пользователи в Тюмени
ЧасовойПояс() Europe/Moscow Europe/Moscow Europe/Moscow
ПолучитьЧасовойПоясИнформационнойБазы() Europe/Moscow Europe/Moscow Europe/Moscow
ЧасовойПоясСеанса() Europe/Moscow Asia/Novosibirsk Asia/Oral
ТекущаяДата()  30.03.2019  23:01:01 30.03.2019  23:01:01 30.03.2019  23:01:01
ТекущаяДатаСеанса() 30.03.2019  23:01:01 31.03.2019 1:01:01 31.03.2019 3:01:01
ТекущаяУниверсальнаяДата() 30.03.2019 20:01:01 30.03.2019 20:01:01 30.03.2019 20:01:01
ТекущаяУниверсальнаяДатаВМиллисекундах() 63 689 572 861 383 63 689 572 861 383 63 689 572 861 383

 

Поскольку сервер один, то функции "ЧасовойПояс()" и "ТекущаяДата()" возвращают один и тот же результат для всех сеансов. Часовой пояс информационной базы тоже один для всех, ведь база то одна. Универсальная дата, в т.ч. и в миллисекундах, тоже одинаковое, т.к. время в UTC не может различаться. А вот часовые пояса сеансов и, что логично, текущие даты сеансов различаются. Все из-за того, что при запуске приложения в Тюмени и Новосибирске, пользователям программно устанавливаются часовые пояса, отличные от часового пояса информационной базы. Вот так наглядно можно проверить работу этого механизма.

Часовые пояса сеансов позволили организовать обособленный учет, при этом вся компания работает в единой информационной базе. Теперь Вы представляете для чего нужен часовой пояс информационной базы и часовые пояса сеансов. На простом примере мы рассмотрели работу с ними, а ранее пробежались практически по всем механизмам платформы для работы со временем. Теперь рассмотрим более сложный пример, а после перейдем к другим особенностям.

Нереальная инфраструктура

А что если немного усложнить пример, совсем чуть-чуть. Вместо одного сервера приложений у нас будет кластер, состоящий из 3 серверов! При этом в базе позабыли настроить часовой пояс информационной базы, а про часовые пояса сеансов вообще никто не слышал! Но и это еще не все! Каждый сервер кластера будет находиться в своем часовом поясе!

Это ужас, но мы ведь говорим лишь об искусственном примере. Вряд ли кому-то придет в голову использовать такое на боевой инфраструктуре.

Вернемся к примеру. Поскольку сервера находятся в разных часовых поясах, а настройки информационной базы и сеансов не выполнены в части часовых поясов, то мы получим вот такую странную картину.

Метод платформы (вызов на сервере) Сервер №1 Сервер №2 Сервер №3
ЧасовойПояс() Europe/Moscow Asia/Oral America/New_York
ПолучитьЧасовойПоясИнформационнойБазы() Неопределено Неопределено Неопределено
ЧасовойПоясСеанса() Europe/Moscow Asia/Oral America/New_York
ТекущаяДата()  30.03.2019 23:01:05 31.03.2019 1:01:05 30.03.2019 16:01:05
ТекущаяДатаСеанса() 30.03.2019 23:01:06 31.03.2019 1:01:06 30.03.2019 16:01:06
ТекущаяУниверсальнаяДата() 30.03.2019 21:00:54 30.03.2019 21:00:54 30.03.2019 21:00:54
ТекущаяУниверсальнаяДатаВМиллисекундах() 63 689 576 454 039 63 689 576 454 039

63 689 576 454 039

 

Поскольку в кластере три сервера 1С, а часовой пояс информационной базы не настроен, то настройка часового пояса получается непосредственно с сервера. Но у нас их 3! И все они находятся в разных поясах. Допустим, сервер №1 - это центральный сервер кластера, а сервера №2 и №3 - это рабочие сервера. Кластер распределяет нагрузку и перенаправляет сеансы 1С то на 1, то на 2 сервер, а кому-то повезло и сеанс запустился на 3 сервере.

Вот и представьте, какие странные даты они будут получать как с помощью "ТекущаяДата()", так и с помощью "ТекущаяДатаСеанса()". Все это приведет к большому количеству ошибок в системе, ведь последовательность ввода документов не будет поддаваться никаким правилам. Фактически, документы будут вводиться в хаотичном порядке.

Если бы у нас был настроен хотя бы часовой пояс информационной базы, то таких проблем бы уже удалось избежать.

В мире БСП

Возможности платформы 1С при работе со временем покрывают большинство потребностей, но в некоторых случаях использовать их не очень удобно или неэффективно. На помощь в этом случае приходит библиотека стандартных подсистем (БСП). Далее рассмотрим некоторые особенности работы с датой и временем в БСП, в т.ч. и с часовыми поясами. Информация для различных версий БСП может отличаться, но основные моменты практически всегда остаются неизменными. С учетом того, что БСП применяется для большинства типовых конфигураций, эта информация может быть полезна для разработчиков, особенно если Вы не любите изобретать велосипеды.

Начнем с простого. Выше мы уже говорили, что использовать функцию "ТекущаяДата()" на клиенте неприемлемо и правильнее использовать дату сервера, приведенную к часовому поясу сеанса. Конечно, можно это делать каждый раз вызывая сервер, писать свои функции возврата этой даты и т.д. Но если у Вас встроена в конфигурацию БСП, то лучше использовать функцию "ОбщегоНазначенияКлиент.ДатаСеанса()" и "ОбщегоНазначенияКлиент.ДатаУниверсальная(), которые получат необходимые значения с оптимизацией клиент-серверных вызовов.

ТекущаяДатаСеанса = ОбщегоНазначенияКлиент.ДатаСеанса();
ТекущаяДатаУниверсальная = ОбщегоНазначенияКлиент.ДатаУниверсальная();

Но как им удается получить эти значения без вызова сервера?

// Возвращает текущую дату, приведенную к часовому поясу сеанса.
//
// Функция возвращает время, близкое к результату функции ТекущаяДатаСеанса() в серверном контексте.
// Погрешность обусловлена временем выполнения серверного вызова.
// Предназначена для использования вместо функции ТекущаяДата().
//
Функция ДатаСеанса() Экспорт
	Возврат ТекущаяДата() + СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиента().ПоправкаКВремениСеанса;
КонецФункции

// Возвращает универсальную дату сеанса, получаемую из текущей даты сеанса.
//
// Функция возвращает время, близкое к результату функции УниверсальноеВремя() в серверном контексте.
// Погрешность обусловлена временем выполнения серверного вызова.
// Предназначена для использования вместо функции УниверсальноеВремя().
//
Функция ДатаУниверсальная() Экспорт
	ПараметрыРаботыКлиента = СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиента();
	ДатаСеанса = ТекущаяДата() + ПараметрыРаботыКлиента.ПоправкаКВремениСеанса;
	Возврат ДатаСеанса + ПараметрыРаботыКлиента.ПоправкаКУниверсальномуВремени;
КонецФункции

Как мы видим, обе функции получают кэш параметров работы клиента, который инициализируется при старте сеанса. Эти параметры содержат поправку в секундах к времени сеанса, а также поправку к универсальному времени. Используя функцию "Текущаядата()" (да, да, в этом случае ее использование обосновано) мы можем вычислить необходимую дату и время, но с некоторой приемлемой погрешностью из-за клиент-серверного вызова.

Что касается часовых поясов, то основной пояс информационной базы настраивается в панели администрирования. О работе с этим параметром из кода встроенного языка мы уже говорили ранее.

Настройка часового пояса базы в БСПТакже в БСП содержится функционал работы с часовыми поясами в модели сервиса, но его мы не будем рассматривать, т.к. на практике с ним приходится редко сталкиваться, если, конечно, вы не работаете в базах модели сервиса.

Более тонких настроек при работе с датой и временем в БСП трудно найти. Обычно, если возникают задачи с управлением часовыми поясами, то проще адаптировать конфигурацию под свои нужды, т.к. готовых решений для сложных задач с часовыми поясами нет ни в БСП, ни в большинстве поставляемых типовых решениях.

На стороне базы данных

В базе данных даты могут храниться в некотором измененном виде. Например, если Вы используйте SQL Server, то при стандартной настройке используется смещение в 2000 лет, которое позволяет обойти ограничение СУБД на минимальную дату 01.01.1753. Для платформы 1С это критично, т.к. не позволит сохранить пустую дату 01.01.0001 в базе. Вот так, например, выглядят даты в таблице.

Хранение даты в SQL ServerЕсли же речь идет о PostgreSQL, то смещение дат в этом случае использовать не обязательно, т.к. СУБД позволяет хранить дату 01.01.0001 без лишних телодвижений.

Хранение дат в PostgreSQLНастройка смещения дат задается при создании информационной базы и доступна только для SQL Server. 

Настройки смещения дат при создании базыВ самой базе настройка смещения хранится в таблице "_YearOffset". Изменять настройку вручную не рекомендуется, т.к. может привести к непредсказуемым последствиям (в основном не очень хороших). При получении дат из базы платформа уже преобразовывает их к нужному виду с учетом параметра смещения.

Для хранения даты и времени в таблицах базы данных используется тип "datetime2(0)", который позволяет хранить большой диапазон дат, и при этом более высокую точность в долях секунд. Кстати, платформа 1С эту высокую точность не использует и всегда сохраняет значения с точностью до секунды, миллисекунды не используются! На первый взгляд в этом случае логичнее было бы использовать тип "datetime",  но на самом деле нет. По рекомендациям Microsoft тип "datetime2" является более предпочтительным из-за расширенных возможностей.

Теперь Вы знаете как платформа 1С хранит дату и время на стороне базы данных и не испугаетесь, увидев четвертое тысячелетие в таблице.

Скрытая особенность

В одной из прошлых статей "Баг или фича? Неожиданное поведение платформы" было описание интересной особенности при работе с датами в коде встроенного языка. Речь идет о недокументированной фиче (или баге, кто знает), заключающейся в поддержке миллисекунд в датах.

ДатаОбычная = Дата(2019,2,1);
ДатаСтранная = ДатаОбычная + 0.001;
СравнениеДат1 = ДатаСтранная = ДатаОбычная;
Сообщить("Вариант с датами 1: " + СравнениеДат1); // ЛОЖЬ - даты не равны
	
ДатаСтранная = ДатаСтранная - 0.001;
СравнениеДат2 = ДатаСтранная = ДатаОбычная;
Сообщить("Вариант с датами 2: " + СравнениеДат2); // ИСТИНА - даты равны

При этом в отладке даже сразу и не определить, что дата содержит миллисекунды. Но можно использовать такой способ.

ДатаОбычная = Дата(2019,2,1);
ДатаСтранная = ДатаОбычная + 0.068;
МиллисекундВДате = ДатаСтранная - ДатаОбычная;
Если ЗначениеЗаполнено(МиллисекундВДате) Тогда
	Сообщить("В дате содержатся миллисекунды: " + МиллисекундВДате);
Иначе
	Сообщить("Миллисекунд в дате нет!");
КонецЕсли;

Как это относится к решению практических задач? Например, в коде к дате случайно может быть прибавлено дробное число. После этого мы можем получить случаи, когда при сравнении дат или при указании фильтров поиска (поиск в таблице значений, по ключу в соответствии и др.) мы не получим ожидаемый результат, ведь даты то будут разные. При этом сразу не удастся разобраться что вообще происходит.

Будьте бдительны! Миллисекунды ждут, когда Вы ими воспользуетесь!

Момент, пожалуйста!

Есть еще одна сущность, относящаяся к работе с датой и временем в платформе 1С - это момент времени! Его использование может быть критичным при получении остатков, если в одну секунду в системе были введены сразу несколько документов. То есть, момент времени позволяет различать позицию документов на временной оси, даже если дата и время у них одинаковая. Достигается это за счет того, что момент содержит не только дату, но и ссылку на конкретный документ.

Но и это еще не все! Есть также такая сущность как "Граница", которая позволяет хранить границы некоторого интервала значений. При этом также дает возможность указать признак включения / исключения граничного значения интервала.

Рассмотрим несколько примеров на некотором регистре накопления вида "Остатки", где применим возможные способы использования даты, момента времени и границы.

 
 Остатки на обычную дату
 
 Остатки на момент времени
 
 Остатки на границу с видом "Исключая"
 
 Остатки на границу с видом "Включая"

Теперь Вы знаете что такое момент времени, граница и как это используется платформой. Кстати, из всех примеров выше только один вернет результат для текущего документа - это последний пример с границей вида "Включая". Вы же понимаете почему?

К сожалению, есть еще один момент, который стоит упомянуть о моменте времени (извините за тавтологию). Сравнение ссылок это хорошо, но оно не гарантирует всегда ожидаемый результат. Момент времени будет работать, если исходить из того, что ссылки генерируются последовательно, но это не всегда так!

Порядок ссылок в базе может быть случайным, если:

  1. У вас используется УРБД, ведь ссылки в разных базах и на разных серверах, в разных часовых поясах могут генерироваться не так как Вы ожидаете. В итоге - документы в единой базе будут также иметь последовательность на временной оси, которая не совсем может подходить для решения учетных задач.
  2. Если это таблица, объединяющая несколько типов метаданных (журналы документов, последовательность и т.д.), ведь для разных типов идентификаторы объектов могут сильно отличаться.
  3. При использовании явной установки ссылки для объектов также не гарантируется последовательность генерации GUID'ов. Речь идет о таком методе явной установки ссылки.
ИдентификаторСсылка = Новый УникальныйИдентификатор;
НоваяСсылка = Документы.ПростойДокумент.ПолучитьСсылку(ИдентификаторСсылка);

НовыйОбъект = Документы.ПростойДокумент.СоздатьДокумент();
НовыйОбъект.УстановитьСсылкуНового(НоваяСсылка);

Таким образом, момент времени и граница вроде бы подходят для "ювелирной" работы с объектами на оси времени, а с другой стороны результат их работы и не гарантируется в некоторых ситуациях. Тут можно дать лишь один совет - анализировать ситуацию с созданием ссылок и обменами, оценить потенциальные проблемы с использованием этих механизмов.

Ранее на ИС уже поднимались темы, связанные с моментом времени. Вот ссылки:

Спасибо их авторам за хороший материал!

Бегите, глупцы!

В статье мы рассмотрели многие вопросы по работе с датой и временем в платформе 1С, начиная от основ и заканчивая тонкостями работы самой платформы с датами и временем, часовыми поясами и особенностями хранения даты в базе данных.

Надеюсь, эта информация будет кому-то да полезна. Кого-то заставит переосмыслить использование функции "ТекущаяДата()" и момента времени. Кто-то перестанет бояться часовых поясов и/или обратит внимание на настройки часовых поясов в сопровождаемой информационной базе.

Если у Вас есть интересные кейсы по работе с часовыми поясами в платформе или по другим затронутым темам, то прошу в комментарии. Это очень интересное направление при разработке, жаль что не сильно востребованное.

Другие ссылки

206

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. 3vs 01.04.19 09:15 Сейчас в теме
А если пользователь летает на МКС, или на Луне, к примеру, какой часовой пояс выставлять?
bulpi; CyberCerber; Ганс; YPermitin; +4 Ответить
3. YPermitin 4902 01.04.19 09:19 Сейчас в теме
(1) знатно посмеялся. 1С на МКС?)))

Надо писать фоновое задание, которое будет менять часовой пояс сеанса в зависимости от геолокации!
Прикрепленные файлы:
YoungHero; mark_oilbass; +2 Ответить
5. YPermitin 4902 01.04.19 09:23 Сейчас в теме
(3) хотя фоновое не пойдет. Обработчиком ожидания! =D
6. CyberCerber 311 01.04.19 10:25 Сейчас в теме
(3) Ну а чего смеетесь, вот новость на днях была:
https://infostart.ru/journal/news/mir-1s/firma-1s-predstavila-konfiguratsiyu-dlya-upravleniya-resursami-v-kosmose_1030907/
Gendelf; Алексей_mir2mb; the1; wowik; for_sale; YPermitin; +6 Ответить
7. YPermitin 4902 01.04.19 10:30 Сейчас в теме
(6) раз серьёзно, то надо UTC использовать :)
Алексей_mir2mb; +1 Ответить
10. 3vs 01.04.19 12:49 Сейчас в теме
(7)Да, уж, 1С шутить не любит! :-)
Раз Дональд дал задачу американцам первыми во второй раз высадиться на Луне,
чтобы следы первого посещения не затоптали, значит 1С надо подсуетиться и первым
выпустить продукт для Луны! :-)
CyberCerber; wowik; mark_oilbass; YPermitin; +4 Ответить
11. YPermitin 4902 01.04.19 12:50 Сейчас в теме
(10) жжете товарищи! Огонь))))
8. erutan 50 01.04.19 11:03 Сейчас в теме
(1) с Луной в "Артемиде" Энди Вейра решалось очень просто - кто колонию основал на луне, того и часовой пояс :3
bulpi; YPermitin; +2 Ответить
9. Darklight 19 01.04.19 12:15 Сейчас в теме
(1)Будет время ЦУПа - причём, на МКС в Российском и Американском модулях будет своё время!
Aggressorak; YPermitin; +2 Ответить
2. kuzyara 790 01.04.19 09:17 Сейчас в теме
При использовании явной установки ссылки для объектов также не гарантируется последовательность генерации GUID'ов. Речь идет о таком методе явной установки ссылки.

Если быть точнее, то установка явно сгененированных гуидов _гарантирует_ случайную последовательность ссылок (в пределах секунды).
Для Сч = 1 По 5 Цикл
	ИдентификаторСсылка = Новый УникальныйИдентификатор;	
	НоваяСсылка = Документы.РеализацияТоваровУслуг.ПолучитьСсылку(ИдентификаторСсылка);
	Сообщить(XMLСтрока(НоваяСсылка));
КонецЦикла;
// fb0bc5ff-ebea-417a-9aef-0142ed881c84
// 575fee83-4c35-4e72-b5f3-7c5d4be8771c
// 35315176-d1d2-46ea-8eaa-7312a41bee87
// 7ffae9bb-9fbe-4f7e-99d3-1128e10c26d1
// cae1078c-3714-4f00-b6ee-c6a66864100c
Показать

rfc4122, пункт 4.1.4:
For UUID version 4, the timestamp is a randomly or pseudo-randomly
generated 60-bit value, as described in Section 4.4.


А статья хороша.
YPermitin; +1 Ответить
4. YPermitin 4902 01.04.19 09:22 Сейчас в теме
(2) спасибо!

Все так. Наверное, в случае полного описания по уникальным идентификатор лучше обращаться к вашей публикации.

https://infostart.ru/public/635159/

Все доходчиво описано!
12. Serj1C 476 01.04.19 13:15 Сейчас в теме
Я немного бегло пробежал статью, но не нашел про Линукс время (которое может использоваться на сайтах или ява скрипте)
Это количество секунд прошедших с 1 января 1970 года

Функция ВремяЛинукс(unixtime)
Возврат Дата(1970, 1, 1, 0, 0, 0) + unixtime;
КонецФункции
creatermc; YPermitin; +2 Ответить
13. YPermitin 4902 01.04.19 13:21 Сейчас в теме
(12) не знаю где в публикации об этом упомянуть, но интересно.

Спасибо!
14. СергейК 51 01.04.19 20:14 Сейчас в теме
Подскажите, есть особенности установки времени база данных в случае РИБ?
YPermitin; +1 Ответить
18. YPermitin 4902 02.04.19 06:50 Сейчас в теме
(14) действуют те же самые правила. Если узел базы принадлежит организации, которая ведет учет обособлено, то для узла используется местное время. Обычно оно совпадает с временем сервера, если это конечно не облака.

В центральной базе ствится часовой пояс той организации, которая эти данные использует.

Конечно, могут быть случаи и сложнее. Но Вы сами поймете, когда стандартная схема вас не устроит. :)
41. СергейК 51 08.04.19 20:26 Сейчас в теме
(18) Т.е. в каждом узле время устанавливается автономно, как для отдельно БД. Никакой "передачи" настроек времени между узлами нет. Спасибо.
YPermitin; +1 Ответить
42. YPermitin 4902 08.04.19 20:33 Сейчас в теме
(41) да, в абсолютном большинстве случае это так.
15. ellavs 633 01.04.19 20:44 Сейчас в теме
Спасибо, интересно.
YPermitin; +1 Ответить
16. CheBurator 3399 02.04.19 01:37 Сейчас в теме
17. t278 26 02.04.19 02:13 Сейчас в теме
Как быть с терминальными пользователями, работающие в 4-х часовых поясах?
YPermitin; +1 Ответить
19. YPermitin 4902 02.04.19 07:06 Сейчас в теме
(17) думаю, сначала нужно понять нужны ли им разные часовые пояса. Они ведут учет в одной организации или в обособленных?

Если часовые пояса все же нужны, то можно модифицировать конфигурацию, устанавливая часовой пояс сеанса пользователям при запуске в коде. Тогда не важно будет какой часовой пояс у сервера 1С / сервера терминалов. Примеры в статье такие есть.
30. tanat74 33 03.04.19 19:37 Сейчас в теме
(17) Лично я - настроил проброс часового пояса в rdp. При создании критически важных документов устанавливаю дату сеанса, а сервер пишет «журналы» (например версии объектов) в едином часов поясе сервера. Проблемы возникают лишь при некорректной настройке часового пояса на компе клиента.
YPermitin; +1 Ответить
32. YPermitin 4902 03.04.19 20:32 Сейчас в теме
(30) то есть часовой пояс сеанса устанавливайте часовым поясом клиента?

Если подробнее опишите как реализовали, то будет отлично. Интересуют подробности)
34. tanat74 33 04.04.19 06:47 Сейчас в теме
(32) 1с подтягивает сама часовой пояс системы (платформа 8.3.8.2137 толстый клиент).
Проброс часового пояса в RDP разрешается через групповые политики - инструкцию находил в интернете.
Какие ещё подробности интересуют?
acanta; YPermitin; +2 Ответить
35. YPermitin 4902 04.04.19 06:49 Сейчас в теме
(34) спасибо.

Теперь понял о чем речь.
20. w.r. 466 02.04.19 11:46 Сейчас в теме
По поводу последней секунды - такая вакханалия только в виртулальной таблице остатков, а вот в таблице оборотов и остатков секунда не режется в отборе

WHERE T3._Period >= @P1 
         AND T3._Period <= @P2
YPermitin; +1 Ответить
31. YPermitin 4902 03.04.19 20:02 Сейчас в теме
(20) да, отсюда и вопрос. С остатками это все же фича, или баг :)

Хоть с оборотами все логично работает.
33. w.r. 466 03.04.19 21:45 Сейчас в теме
(31) как я понял из описания, которое даёт 1С https://its.1c.ru/db/metod8dev#content:2610:hdoc функция виртуальной таблицы остатков - сугубо прикладная и служит для получения остатков по документу, исключая момент времени самого документа. Для отчетов и другой аналитики нужно использовать таблицу остатков и оборотов
21. bulpi 156 02.04.19 12:24 Сейчас в теме
1)
из всех примеров выше только один вернет результат для текущего документа - это последний пример с границей вида "Включая"


Вот этим утверждением автор что хотел сказать ?

2)Как хорошо работать в стране, где всего 1 пояс :)
YPermitin; +1 Ответить
22. YPermitin 4902 02.04.19 12:28 Сейчас в теме
(21) ничего плохого или хорошего не хотел сказать. Просто факт, само собой разумеющееся :)

Счастливчики!:)
24. bulpi 156 02.04.19 15:33 Сейчас в теме
(22)
Что-то я туплю. Что значит "результат для текущего документа" ? А остальные не вернут для текущего документа? Это слишком расплывчатая и многозначная фраза. Имхо, результат такого запроса зависит от того , как построен документ. Что выбрано в конфигураторе в параметре "удаление движений". Что написано в модуле проведения до того (чистятся ли наборы записей, записываются ли они перед запросом).
25. YPermitin 4902 02.04.19 15:39 Сейчас в теме
23. acanta 67 02.04.19 12:59 Сейчас в теме
26. pun4er 02.04.19 19:11 Сейчас в теме
Спасибо за интересный и развернутый материал, читать было достаточно интересно!
YPermitin; +1 Ответить
27. frkbvfnjh 557 03.04.19 08:34 Сейчас в теме
Спасибо за публикацию, подЪитожил знания.
YPermitin; +1 Ответить
28. philya 77 03.04.19 09:33 Сейчас в теме
А чем вас не устроило преобразование даты к строке в запросе в варианте

ПРЕДСТАВЛЕНИЕ(ДАТАВРЕМЯ(2019, 4, 3, 12, 29, 30))?
acanta; YPermitin; +2 Ответить
29. YPermitin 4902 03.04.19 10:44 Сейчас в теме
(28) честно сказать, никогда не пользовался. Если действительно работает, то позже добавлю в саму статью.
36. YPermitin 4902 06.04.19 10:30 Сейчас в теме
(28) добавил исправление в публикации. Еще раз спасибо!
37. cartograph 06.04.19 19:58 Сейчас в теме
Спасибо. Интересная статья.
YPermitin; +1 Ответить
38. YPermitin 4902 06.04.19 20:29 Сейчас в теме
(37) спасибо на добром слове!
39. ids79 4047 08.04.19 07:55 Сейчас в теме
Спасибо, Юрий.
Интересная статья.
YPermitin; +1 Ответить
40. YPermitin 4902 08.04.19 08:03 Сейчас в теме
43. ghostaz 135 06.06.19 22:36 Сейчас в теме
Отличная статья, прям пособие по времени в 1с. Самое обидное, что не задумывался об этом, когда писал конфу с нуля.
Возможно стоит описать работу с летним временем, сейчас хоть и не актуально, но само явление делало жизнь программиста еще сложнее. Сейчас уже не помню, учитывала ли 1с летнее время в своих функциях. Может кто помнит?
Особенность с миллисекундами уже документирована и тоже удивила.
У нас в организации много споров возникало про период день и месяц. Нужно ли месяц переводить? А если перевели, а периодичность регистров день, то все равно теряем данные? А если отчет по взаиморасчетам, а часовые пояса переводятся, то взаиморасчеты могут зависеть от расположения.
В общем не стоит забывать о времени.
YPermitin; +1 Ответить
44. YPermitin 4902 06.06.19 23:03 Сейчас в теме
(43) Спасибо :)

Время наше все!
45. Serj1C 476 09.07.19 09:04 Сейчас в теме
Еще раз прочитал статью. Некоторые вещи забываются.
Раз уж подняли тему про гуиды, то рекомендую еще дополнить материал про "Как формируется GUID?" (https://infostart.ru/public/635159/)
YPermitin; +1 Ответить
46. YPermitin 4902 09.07.19 09:15 Сейчас в теме
(45) время заставляет забывать :)

Статья про гуиды отличная, я выше в комментариях уже добавлял на нее ссылку.
47. rujiy_kot 7 09.07.19 12:13 Сейчас в теме
У меня отображается первый комментарий датой: 01.04.19 09:15
Это дата - ТекущаяДата() или ТекущаяДатаСеанса()?
Если ТекущаяДата() - то на сервере или клиенте?
YPermitin; +1 Ответить
48. YPermitin 4902 09.07.19 20:23 Сейчас в теме
(47) ммм...Вы думаете, что бэкенд Инфостарта сделан на платформе 1С?

В любом случае, надо узнать у разработчиков что они используют для присвоения даты. :)
Есть лишь предположение, что это время по Москве.
49. aleksdiez 4 10.07.19 10:04 Сейчас в теме
К "недокументированным особенностям" : попробуйте получить дату Дата("15821005")
YPermitin; +1 Ответить
51. YPermitin 4902 10.07.19 18:17 Сейчас в теме
50. Evil Beaver 6282 10.07.19 18:12 Сейчас в теме
52. regint 17.07.19 09:09 Сейчас в теме
Это выражение тоже будет работать
Дата = Дата("08.03.2019 14:30:15"); // 08.03.2019 14:30:15
YPermitin; +1 Ответить
53. skv_79 164 31.07.19 18:13 Сейчас в теме
Интересная статья, спасибо!
YPermitin; +1 Ответить
54. list770 06.09.19 09:35 Сейчас в теме
Подскажите, в каком месте в конфигурации лучше сделать установку часового пояса сеанса? заранее спасибо
55. 7OH 32 30.09.19 14:52 Сейчас в теме
Буду признателен за помощь в направлении решения задачи.
Необходимо провести замер времени (логично в миллисекундах) перехода с клиента на сервер (или обратно).
Вроде бы банально, но только до того момента, пока время синхронизировано.
Если допустить отставание клиента от сервера - появляется вопрос - как ?
56. max_zhilin 08.10.19 14:31 Сейчас в теме
(55) Считайте разницу времени между клиентом и сервером путем тестовых быстрых вызовов
57. 7OH 32 08.10.19 16:53 Сейчас в теме
(56) вопрос принципиальный.
По разнице одного из замеров можно работать - да, но показатели замеров будут не совсем те.
У вас вызов в одно время может отличаться по времени от вызова через минуту.
Если это тот же 2G интернет, то очень глобально.
Ну а по сути 100% решения нету - платформа не предоставляет такого инструмента, кроме отладчика.
Оставьте свое сообщение

См. также

Подбор оборудования для информационных систем на платформе 1С 25

Статья Системный администратор Программист Руководитель проекта Нет файла Бесплатно (free) Интеграция

При подборе оборудования по рекомендациям с сайта ИТС возникает противоречие: проводить ли нагрузочные тесты, чтобы определить возможную нагрузку, или достаточно просто взять данные из таблиц статистики? О том, какую тактику применить в том или ином случае, на конференции INFOSTART EVENT 2018 Education рассказал начальник отдела разработки компании IBS Филиппов Евгений.

09.09.2019    4625    jf2000    6       

Интеграция 1С с промышленным оборудованием 31

Статья Системный администратор Программист Руководитель проекта Нет файла Бесплатно (free) Интеграция

Эффективность управленческой информации в производственном процессе зависит от данных, собираемых на нижних уровнях. Про автоматизацию получения этих данных с использованием технологии OPC (OLE for process control) на конференции Infostart Event 2018 Education рассказал Юрий Коноваленко.

06.09.2019    4074    user642664_yurkeshk    12       

Как должна выглядеть правильная интеграция. Использование Mule ESB и RabbitMQ с 1С 46

Статья Программист Нет файла Бесплатно (free) Интеграция

Чем масштабнее проект, тем сложнее настроить все связи. Каждый решает эти проблемы по-своему: кто-то пользуется конвертацией, кто-то пользуется xml и json. Руководитель управления ИТ компании WiseAdvice Олег Филиппов рассказал, как можно применить такие инструменты, как Mule ESB и RabbitMQ.

02.09.2019    4387    comol    3       

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

Статья Программист Нет файла Бесплатно (free) Практика программирования Математика и алгоритмы Разработка

В своем докладе на конференции INFOSTART EVENT 2018 EDUCATION Дмитрий Белозеров рассказал о разработке инструмента, позволяющего программно работать с метаданными 1С и писать скрипты для выполнения тех же действий, которые выполняет разработчик в конфигураторе –  с какими сложностями и нюансами пришлось столкнуться, и что получилось в итоге.

26.08.2019    3906    kirovsbis    28       

Отказ от использования хранилищ 1С, переход на Git. 69

Статья Программист Нет файла Бесплатно (free) Инструментарий разработчика Разработка

Валерий Максимов в своем докладе на конференции INFOSTART EVENT 2018 EDUCATION делится опытом перехода нескольких команд (более 100 разработчиков) от использования хранилищ 1С на системы контроля версий Git.

25.07.2019    5856    theshadowco    31       

Раскручиваем Гайку: разработка ПО для роботов на платформе 1С 46

Статья no Нет файла Бесплатно (free) Разработка

Роботы на 1С стали реальностью. Их разработкой пока на общественных началах занимаются в компании «Цифровой кот». Насколько перспективно это направление, какие возникали сложности, и какая помощь коллег требуется, участникам конференции Infostart Event 2018 рассказал руководитель и ведущий разработчик компании - Юрий Лазаренко.

23.07.2019    3865    TitanLuchs    36       

Интеграция сценарного тестирования в процесс разработки 81

Статья Программист Нет файла Бесплатно (free) Практика программирования Разработка

Разработчик системы «Тестер» Дмитрий Решитко в своем докладе на конференции INFOSTART EVENT 2018 EDUCATION показывает, что процесс тестирования можно очень плотно интегрировать в процесс разработки, что внедрение тестирования – это возможность развития программиста как такового, позволяющая ему упорядочивать ход мыслей и оставаться «в фокусе». Навыки построения процесса кодирования на стыке с тестированием сокращают время на концентрацию, освобождают от страха перед изменениями и улучшают память разработчика.

08.07.2019    4285    grumagargler    7       

Управляй качеством кода 1С с помощью SonarQube 219

Статья Программист Нет файла Россия Бесплатно (free) Практика программирования Разработка

Управляй техническом долгом проектов 1С с помощью SonarQube. В статье рассматривается пример применения SonarQube при разработке.

07.07.2019    15637    olegtymko    191       

Тестирование интеграций между системами 69

Статья Программист Нет файла Бесплатно (free) Интеграция

Как начать разрабатывать интеграцию без реальной «второй стороны»? Как быть уверенным, что обмен не «сломается» при следующем обновлении? О том, какие подходы можно применять при тестировании интеграций и как такое тестирование может выглядеть в целом – в докладе Никиты Грызлова на конференции INFOSTART EVENT 2018 EDUCATION.

01.07.2019    5135    nixel    3       

И тогда наверняка нас захватят облака 18

Статья Программист Нет файла Бесплатно (free) Интеграция

Внимание! Данный текст содержит достаточно мало технических подробностей и готовых рецептов. Главным образом некоторые размышления на предмет будущего технологий и профессий. Некое лёгкое чтение на досуге.

28.06.2019    3878    comol    35       

По следам публикаций 1С + микроконтроллер, или 1С в железе 33

Статья no Нет файла Бесплатно (free) Интеграция

Несколько примеров удачного применения связки микроконтроллер и 1С, в производстве. Результат - исключение человеческого фактора, экономия средств на АСУ, повышение культуры производства ))), и др...

12.06.2019    4288    vostok1.dz    13       

Выдержки из книги Чистый код 24

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Недавно я прочитал книгу "Чистый код" Роберта Мартина (Robert Cecil Martin). В ней описываются принципы организации и форматирование исходного кода программы так, чтобы в дальнейшем было легко поддерживать такой код. Эта книга является библией для многих программистов, но вот в среде программистов 1С, к сожалению, не очень распространено чтение подобной фундаментальной литературы. Книга более 400 страниц и так много порой лениво читать, да и времени всегда не хватает. По этому я решил выделить в виде цитирования по разделам самые важные моменты. А также снабдил текст своими примерами кода.

16.05.2019    5469    FreeArcher    82       

Быстрый ввод неудобных символов 65

Статья no Нет файла Бесплатно (free) Пользователю системы Инструментарий разработчика

Использование Alt-кодов для ввода “[”, “]”, “”, “&”, “#”, “|”

15.04.2019    5066    pparshin    24       

Быстрее чем INSERT! BULK-операции и примеры использования 112

Статья Системный администратор Программист Нет файла Бесплатно (free) Производительность и оптимизация (HighLoad) Практика программирования Разработка Внешние источники данных Перенос данных из 1C8 в 1C8

Microsoft SQL Server поддерживает так называемые BULK-операции, используемые для быстрого изменения больших объемов данных в базе. В статье пойдет речь о практических примерах их использования. Все примеры сделаны в контексте платформы 1С (а как иначе).

09.03.2019    9520    YPermitin    38       

Как писать понятные коммиты 67

Статья Программист Нет файла Россия Бесплатно (free) Практика программирования Разработка

Как писать сообщения коммитов так, чтобы потом не было мучительно больно.

06.03.2019    7747    Scorpion4eg    34       

Как писать код? Технологии древних цивилизаций, или все новое - это хорошо забытое старое 70

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Все современные технологии - это развитие и доведение до ума (или маразма) древних идей. За последнее время не придумали ничего нового - все, что мы видим, было придумано тысячи лет назад. Не является исключением и программирование, которое в сути своей является переводом с языка условностей технического задания или заявки пользователя в формализованный и абсолютно точный язык математической логики. А логику придумали (по крайней мере первыми опубликовались в ведущих научных журналах) еще древние греки.

23.01.2019    8542    starik-2005    43       

Ректальное программирование: основы для практикующих 1С-программистов 290

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Одной из самых популярных и зарекомендовавших себя методологий программирования в 1С является так называемое ректальное программирование. Редкий проект внедрения и сопровождения учётных систем на платформе 1С обходится без его использования. Зачастую без знания данной методологии программистам даже бывает сложно найти работу в сфере 1С, потому что работодатели, особенно фирмы-франчайзи, в основном отдают предпочтение классическим, зарекомендовавшим себя методикам, а не новомодным заграничным веяниям.

19.12.2018    30062    for_sale    339       

Подмена заголовка 1С 26

Статья Системный администратор Программист Нет файла Россия Windows Бесплатно (free) Работа с интерфейсом Универсальные функции

Подстановка имени базы данных в начало заголовка окон с программой 1С (конфигуратор и предприятие). Удобно при одновременной работе с большим количеством баз данных. Скрипт интересен будет как для программистов, так и для администраторов баз данных. Заголовок можно менять для любой программы, не только для 1С, для этого требуется немного исправить скрипт. Программисту 1С не составит труда переделать скрипт.

08.12.2018    7473    moolex    26       

1С + asterisk (автоматический обзвон) часть 1 38

Статья Системный администратор Программист Нет файла Россия Бесплатно (free) Практика программирования WEB Телефония, SIP

Пример реализации автообзвона (с обработкой ответа на отвечающей стороне) с использованием ami asterisk. Данная статья может быть полезна программистам, интеграторам, администраторам. Версия и релиз технологической платформы не имеет значения.

29.11.2018    7127    dmarenin    9       

Почему внедрение ERP-системы не приносит пользы бизнесу? 86

Статья Бизнес-аналитик Пользователь Руководитель проекта Нет файла Бесплатно (free) Интеграция Управление проектом

Статья посвящена проблеме, с которой сталкивается большинство специалистов по внедрению информационных систем ERP класса - завышенные ожидания от этих систем. Обсудим, что клиент ожидает, что получает и почему успех или провал проекта для него почти равнозначны.

15.11.2018    15467    rossoxa    62       

Развитие 1С программиста 50

Статья Программист Нет файла Бесплатно (free) Практика программирования Личная эффективность

Делюсь своим опытом и видением развития 1С программиста.

17.10.2018    13311    pashamak    62       

Записки про metadata.js 53

Статья Программист Нет файла Бесплатно (free) Практика программирования

Отличительные особенности разработки на metadata.js

31.07.2018    9029    1c-intelligence    59       

Учебный курс. Повышение качества разработки. Ошибки программы 96

Статья Программист Нет файла Бесплатно (free) Практика программирования Математика и алгоритмы Рефакторинг и качество кода

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста. Лекции № 3,4,5. Эти лекции посвящены ошибкам программ, их классификации и способам исправления

10.07.2018    15641    Артано    90       

Хостим OneScript.Web приложение 28

Статья Программист Нет файла Бесплатно (free) OneScript

Удобная возможность для размещения своего OneScript.Web приложение, это завернуть его в docker. Остается вопрос: где разместить контейнер, сделать это можно на vscale или DO, но хочется упростить и не делать установку самого docker на хосте. Один из вариантов - это сервис now https://zeit.co/.

04.07.2018    5651    pallid    3       

Автоматизируй это! 148

Статья Системный администратор Программист Нет файла Бесплатно (free) Практика программирования

Здравствуйте. Меня зовут Виталий Онянов. Я работаю в компании ФТО. Мы занимаемся внедрением и поддержкой ERP-систем, в том числе и на 1С. Сегодня я хотел бы поделиться нашим опытом автоматизации своих задач и рассказать о том, какие регламентные задания мы настраиваем на серверах наших клиентов. Возможно, кому-то покажется, что это совсем простые и очевидные вещи, но я в своей работе периодически вижу разработчиков, которые делают какие-то задачи руками изо дня в день, и мне бы хотелось донести до них мысль о том, что многие из этих задач можно и нужно автоматизировать.

02.07.2018    15987    Tavalik    12       

Учебный курс. Повышение качества разработки. Вводная лекция, часть 2 49

Статья Программист Нет файла Бесплатно (free) Практика программирования Математика и алгоритмы

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста. Лекция №2. Эта лекция посвящена абстракциям, их свойствами и практическому применению в рамках классических парадигм программирования.

24.05.2018    10612    Артано    36       

Учебный курс. Повышение качества разработки. Вводная лекция 116

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста.

10.05.2018    15485    Артано    51       

OneScript в облаке или Развертываем http-сервис OneScript на хостинге 23

Статья Программист Нет файла Бесплатно (free) OneScript

В статье описан процесс развертывания web-приложения, созданного на базе http-сервисов OneScript на бесплатном хостинге.

05.05.2018    7143    blackhole321    0       

Развертывание http-сервиса OneScript на Raspberry Pi 26

Статья Системный администратор Нет файла Бесплатно (free) OneScript

В статье описан процесс настройки, а также процесс развертывания http-сервиса (web-приложения) OneScript на Raspbian (Raspberry Pi 2).

23.04.2018    8332    blackhole321    10       

Веб-разработка на 1Script. Глава 2 64

Статья Программист Нет файла Бесплатно (free) Практика программирования WEB

Продолжение учебника по веб-разработке с помощью фреймворка Oscript.Web. Структура приложения, основные объекты, URL-маршрутизация, универсальная консоль серверов 1С.

22.04.2018    11982    Evil Beaver    27       

Развертывание http-сервиса (web-приложения) OneScript на Ubuntu Server 16.04 43

Статья Системный администратор Программист Нет файла Ubuntu Бесплатно (free) OneScript

В статье описан процесс настройки сервера, а также процесс развертывания http-сервиса (web-приложения) OneScript на Ubuntu Server 16.04

04.03.2018    12540    blackhole321    14       

Правила программирования и автоматизации 73

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Изложил свой опыт программирования, больше десяти лет.

21.02.2018    16161    Dzenn    127       

Веб-разработка на 1Script. Глава 1 250

Статья Программист Нет файла Бесплатно (free) Практика программирования

Разрабатывать веб-приложения должно быть просто. И для этого 1С-ник не должен страдать, изучая десятки и сотни побочных технологий. В конце прошлого года я анонсировал разработку движка веб-приложений на языке 1С. Я планирую выпустить серию статей, оформленных в виде книги, или серии блог-постов, в которых постепенно будут описаны методики разработки сайтов на нашем любимом языке программирования – 1С.

12.02.2018    25421    Evil Beaver    97       

23 способа изменить язык интерфейса в 1С 164

Статья no Нет файла Бесплатно (free) Работа с интерфейсом

При работе с 1С интерфейс полностью или частично может отображаться на другом языке. Причем возникать это может как у всех, так и лишь у некоторых пользователей. Инструкция о том, как правильно указать язык работы 1С.

04.02.2018    48072    ekaruk    31       

Творим Историю вместе 55

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Расширяем границы, выходим за рамки, ставим новые цели - все, как вы любите.

17.01.2018    14793    1c-intelligence    108       

Использование git при разработке на 1С 120

Статья Программист Нет файла Россия Бесплатно (free) Математика и алгоритмы

Продолжение цикла статей по основам CI. Данная статья расскажет о реализации возможности хранения кода продукта в системе управления версиями git и познакомит со специализированным инструментарием, предназначенным для решения этой и других смежных задач.

27.12.2017    25731    real_MaxA    57       

Версионирование правил обмена в Git 64

Статья Программист Нет файла Windows Бесплатно (free) Практика программирования

Статья рассказывает о принципах работы скриптов, позволяющих применять систему контроля версий git и подход gitflow для версионирования правил обмена.

15.12.2017    12882    bforce    22       

Двоичное дерево, двоичное дерево поиска, двоичная куча, B-дерево 34

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

В большинстве реляционных СУБД в качестве структуры данных для индексов (та или иная их реализация) используются именно деревья. И не просто деревья, а сбалансированные деревья поиска. В этой статье как раз о них.

24.11.2017    12296    Irwin    4       

Начало работы с OneScript 135

Статья Системный администратор Программист Нет файла Бесплатно (free) OneScript

Краткая инструкция по установке и начале работы с OneScript. Пишу потому что сам много шишек набил, пока нашел все инструменты. В статье рассмотрены: 1) Установка OneScript. 2) Установка редактора кода. 3) Настройка редактора кода под OneScript. 4) Запуск скриптов из редактора кода 5) Полезные ссылки

18.10.2017    30210    DmitrySinichnikov    50       

С чего начать разработку скриптов на OneScript? Первые шаги 154

Статья Программист Нет файла Бесплатно (free) OneScript

После моего доклада на INFOSTART 2017 EVENT COMMUNITY ко мне многие обращались с таким вопросом: с чего начать разработку скриптов на OneScript? В этой статье привожу набор ссылок и некий порядок действий (как его вижу я) для людей, не знакомым с этим инструментом.

11.10.2017    21588    Tavalik    12       

Некоторые особенности разработки ММО-игр на платформе 1С:Предприятие 25

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Добрый день, уважаемые коллеги! На первый взгляд может показаться, что статья посвящена довольно необычным вещам, но поверьте мне, эти вещи всем нам вполне привычны, просто мы их обычно видим под другим углом зрения. Поговорим о том, что такое MMO. Многие из вас уже знают, что это такое, потому что существует такая игра, как World of Tanks, а те, кто в нее напрямую не играл, безусловно, о ней слышали. Игра World of Tanks является классическим MMO. MMO расшифровывается как Массивная Многопользовательская Online-игра. С технологической точки зрения это – нагрузки, нагрузки и еще раз нагрузки.

08.09.2017    9320    Inkasor    21       

Зачем 1С-нику NoSQL и CRDT 92

Статья Программист Нет файла Бесплатно (free) Производительность и оптимизация (HighLoad) Распределенная БД (УРИБ, УРБД) WEB

В статье речь пойдет о современных инструментах для хранения, транспорта, обработки и обмена данными на примере популярной NoSQL-базы CouchDB.

12.08.2017    19402    unpete    27       

Применение нейронных сетей и генетических алгоритмов в прикладных решениях на платформе 1С 170

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Сегодня мы поговорим про нейронные сети и генетические алгоритмы. • Для тех, кто не изучал их в университете, я сначала напомню теорию – что это такое, для чего это надо. • Мы рассмотрим, какие задачи с их помощью можно решать в 1С. • И в конце для тех, кто любит что-то делать руками (работать, программировать), мы разберем, как по факту собрать нейронную сеть или генетический алгоритм в 1С – что написать в коде и как это потом применить.

03.07.2017    31736    comol    63       

Управление техническим долгом - Концепция Continuous Inspection 92

Статья no Нет файла Бесплатно (free) Управление проектом Практика программирования

Сегодня я вам хочу рассказать про тему «Управление техническим долгом» – что это такое, как с этим бороться и почему с этим надо бороться.

30.06.2017    15019    nixel    16       

1Script – язык для автоматизации рутины в жизни специалиста по 1С 302

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Мы все здесь – автоматизаторы бизнеса. Мы занимаемся этим каждый день и делаем это хорошо. Но практика показывает, что специалисты по 1С очень редко, очень мало автоматизируют сами себя. Есть много мелких задач, которые мы, 1С-ники, привыкли делать руками, хотя большой класс из этих задач можно было бы переложить на работу машины. Именно об этом и хотелось бы сегодня поговорить.

14.09.2016    43889    Evil Beaver    76       

BDD в 1С 123

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Я расскажу вам про магию BDD. Сначала будет немного теории, а потом я покажу, как это применимо к 1С на практике. BDD расшифровывается как Behavior Driven Development, разработка через поведение системы. Это означает, что мы выстраиваем весь наш процесс разработки, исходя из ожидаемого поведения.

30.08.2016    25859    Pr-Mex    19