Смещение дат при создании базы 1с
Определение имен таблиц MSSQL
Структура базы данных 1С весьма запутана и состоит из малозначимых для человека названий. 1С содержит функцию определения структуры хранения по имени объекта. В основу разработки положена эта функция ПолучитьСтруктуруХраненияБазыДанных, которая согласно русскому названию возвращает описание структуры. В этой структуре важны 2 поля Назначение, которое должно быть равно «Основная», и название таблицы ИмяТаблицыХранения.
Определение смещения дат
Таблица _YearOffset содержит число, обозначающее смещение года дат. Оно принимает значение 0 или 2000. Так со смещением 2000 дата 01.01.2014 будет храниться в базе данных как 01.01.4014. Соответственно при отборе по датам (удаление происходит за период времени) нужно учитывать смещение. Смещение можно получить следующим кодом 1С:
Установка пометки на удаление документов
Имея названия таблиц документов и зная, что поля _Date_Time, _Marked и _Posted отвечают за дату, отметку об удалении и отметку о проведении соответственно, можно одним SQL-запросом пометить их все на удаление. Делается это так:
Установка пометки на удаление в журналах документов
Не смотря на установку отметки на удаление у документов, в журналах документов хранятся дубли отметок об удалении на каждый документ. Список журналов, где участвует документ можно получить из метаданных документа так: Метаданные.ЖурналыДокументов
Отметка на удаление через поля _Marked и _Posted происходит аналогично через команду:
Удаление движений регистров
При удалении документов 1С удаляет движения документа по регистрам. В случае прямого доступа эти движения нужно удалить самостоятельно. Список регистров можно получить через метаданные ДокументМетаданные.Движения.
Команда, которой выполняется удаление движений следующая:
Заключение
Как оказалось, добиться убыстрения работы 1С примерно на 2 порядка не так сложно, достаточно выполнить 3 вида команд. В конечной обработке логика расширена за счет выбора документов по видам, добавлением таймаута, добавлением транзакции, пакетным выполнением команд.
PS. Список возникающих проблем и пути устранения:
1. Обработка игнорирует документы, где запрещено проведение, например, корректировка записей регистров. В корректировке записей регистров удаление документа связано со снятием активности записей регистров.
2. Результат удаления не отражается в планах обмена. Решается одновременным запуском обработки в связанных базах.
3. Не затрагивает таблицы итогов. Решается пересчетом итогов через Конфигуратор-Тестирование и Исправление-Пересчет итогов.
В результате можно получить ошибку вроде Microsoft OLE DB Provider for SQL Server: Adding a value to a 'datetime' column caused overflow. HRESULT=80040E07, SQLSrvr: Error state=1, Severity=10, native=517, line=1
3. И хотя официальная позиция 1С туманна :), не стоит искать приключения .
Выбирайте смещение 2000.
Специальные предложения
(0) А можо поменять смещение у существующей базы. и как задать смещение при создании базы? (2) motherf,
1) выгрузи базу в *.dt (Конфигуратор - Администрирование - Выгрузить информационную базу)
2) создай Пустую базу на SQL сервере
3) подключи её к серверу предприятия, указав смещение 2000
4) загрузи базу из ранее выгруженного *.dt (Конфигуратор - Администрирование - Загрузить информационную базу)
5) пользуйся (4)
В кластере серверов 1С на проблемной базе выбрать "Удалить" и в появившемся окне выбрать режим "Оставить без изменения" - на SQL-сервере.
Добавить ту же базу в кластер 1С. Актуально всегда. Внезапно база может просто перестать работать, там много заморочек и есть года 9999. Надо смещение 2000, однозначно.
Просмотры 33275
Загрузки 0
Рейтинг 42
Создание 23.07.09 23:39
Обновление 24.07.09 19:06
№ Публикации 21348
Тип файла Нет файла
Конфигурация Конфигурации 1cv8
Операционная система Не имеет значения
Страна Россия
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)
Код открыт Не указано
См. также
Как я начал администрировать сервер 1С: Предприятие 8.3 с телефона Промо
Развитие инструментов управления кластером серверов 1С:Предприятие 8.3.
14.04.2017 67663 user700211_a.straltsou 30
Пользователь ИБ не идентифицирован
Реанимация ИБ после такой ошибки
12.01.2021 35284 mrcamomile 96
Выгрузка в dt на сервере 1С по расписанию с завершением соединений и подключением к консоли сервера через com
Была задача настроить по расписанию выгрузку серверной базы в dt, готового решения не нашел, делюсь, может, кому пригодится.
16.04.2020 9086 karamazoff 48
Исправление ошибки "Для одного ссылочного кода существует более одной таблицы в базе данных"
Описана методика исправления ошибки путем внесения изменений в sql-таблицы.
23.09.2019 27948 Дмитрий74Чел 89
Копирование числовых ячеек из 1С в Excel Промо
15.01.2019 35384 itriot11 27
Как настроить сервер 1С по умолчанию для ПРОФ лицензии после 10.09.2019
Здесь мы собираем все данные по настройкам сервера для работы ПРОФ лицензии.
11.09.2019 109792 Infostart 90
Использование Zabbix для сбора информации о серверных вызовах и управляемых блокировках с сервера 1С Предприятия, работающего на платформе GNU/Linux
Описанные в данном опусе механизмы ни в коей мере не противопоставляются тому, что реализует КИП от 1С или какие-либо другие инструменты (решения)! Это всего лишь еще один взгляд на "проблему", который может быть полезен в некоторых ситуациях.
10.09.2019 22768 Sloth 49
Нарушение целостности системы
Причины возникновения ошибки "Обнаружено нарушение целостности системы" и способы ее устранения.
07.09.2019 53645 Rain88 27
Чем PostgreSQL может быть полезен разработчику 1С Промо
В статье будут рассмотрены примеры, которые могут оказаться полезными в повседневной работе разработчика 1С и не только: как можно сделать снимок рабочей базы без файла резервной копии, как можно эффективно использовать табличные пространства СУБД PostgreSQL, а также как организовать простой и удобный доступ к админке СУБД посредством мобильных устройств.
20.12.2018 25063 Shmell 40
Уверенное обновление
Уверенное обновление. Анализ файла ОтчетОСравнении.txt. Bash
18.07.2019 13223 vasilev2015 36
Почему Вы не обслуживаете итоги?
Небольшая заметка по обслуживанию итогов. Все ли Вы делаете правильно?
04.07.2019 25858 YPermitin 36
Опыт обновления до 8.3.14 - лицензии и утилита ring
На выходных было скучно, поэтому решили обновить 1с до 8.3.14.1694. С лицензиями пришлось немного повозиться.
29.04.2019 46104 Sander80 31
Зачем в 1С нужно периодически пересчитывать итоги по регистрам? Промо
Мы часто слышим рекомендацию о том, что пересчет итогов нужно проводить регулярно и эта операция проводит к улучшению производительности, но что скрывается за этой процедурой и какие именно проблемы решаются?
10.03.2013 249315 Aleksey.Bochkov 141
Практика перехода на Linux и Postgres в небольшой компании (10 пользователей)
Почему я решил поставить давнему клиенту Linux + Postgres вместо Windows + MS SQL? Что меня останавливало раньше?
22.04.2019 34014 starik-2005 180
Переход на 64-х разрядный сервер 1С
Переход с 32-х разрядной версии сервера 1С на 64-х разрядную с сохранением данных журналов регистрации информационных баз, используемых в 32-х разрядной версии.
05.04.2019 29608 ids79 20
Cannot insert duplicate key. Кто виноват и что делать
Ошибка "CANNOT INSERT DUPLICATE KEY" в базах 1С и связанная с ней "магия".
25.02.2019 27347 YPermitin 32
Создание пользователя СУБД MS SQL Промо
Создание пользователя MS SQL для развертывания базы 1С.
15.02.2017 47769 hayroff 9
Скорость работы 1С: Предприятие с разными СУБД: MS SQL и с PostgreSQL
Рассмотрим несколько вариантов работы 1С: Предприятие с различными СУБД.
20.02.2019 31513 valentinko 174
Восстановление файловой базы с помощью tools 1cd
Небольшая заметка, как удалось вылечить битую файловую базу 1С, с помощью утилиты tools 1cd.
19.02.2019 19780 rzabolotin 68
Debian 9.7 + PostgreSQL для 1С. Как завести с пол-оборота
Предлагаю взять на заметку информацию по установке и настройке в формате typical, typical, done.
02.02.2019 30291 valentinko 15
Все, что надо знать о технологической платформе 1С:Предприятие: компоненты, архитектуры, операционные системы, лицензии Промо
Все о платформе и лицензировании для начинающих и не только. (благодаря Сообществу учтены новейшие изменения лицензионной политики 1С!)
19.12.2015 81691 barelpro 51
1С и Яндекс.Облако Compute Cloud. Вдоль и поперек
Бороться и искать. Найти и перепрятать. Достаточно популярная поговорка во времена Союза. Вот и сейчас, те у кого сервер 1С в локальной сети мечтают вынести его в облако, а те у кого в облаке прикупить свой в локальную сеть. Тестирование Яндекс.Облако Compute Cloud для 1С Предприятие оставило у меня приятное впечатление. Возможно кто-то повторит его и внесет больше ясности в настройки виртуальных серверов, использованию API и так далее. Пока же пользуйтесь чем я послал. Интересующихся прошу под кат…
20.01.2019 19569 capitan 29
Малоизвестная хитрость определения модуля и номера строки при возникновении исключения (без запуска отладки и конфигуратора). Несколько очень удобных, но малоиспользуемых возможностей работы в конфигураторе
В статье описана возможность получить место возникновения исключения при работе пользователей без участия конфигуратора. Подробно описаны еще некоторые очень полезные приемы при работе в отладке.
17.01.2019 32391 PoZiTiFFF 54
Восстановление базы 1С, ошибка источника потока
Очередной кирпичик в основу решения проблемы восстановления работоспособности базы после динамического обновления.
09.01.2019 22316 idle 25
1С и Windows Script Host (WSH) и Windows Management Instrumentation (WMI). ОТ ТЕОРИИ К ПРАКТИКЕ. Часть I Промо
Описание возможностей Windows Script Host и Windows Management Instrumentation. Подборка "скриптовых" функций и процедур.
12.12.2012 81762 StepByStep 69
Сервер 1С:Предприятие на Ubuntu 16.04 и PostgreSQL 9.6, для тех, кто хочет узнать его вкус. Рецепт от Капитана
Если кратко описать мое отношение к Postgres: Использовал до того, как это стало мейнстримом. Конкретнее: Собирал на нем сервера для компаний среднего размера (до 50 активных пользователей 1С). На настоящий момент их набирается уже больше, чем пальцев рук пары человек (нормальных, а не фрезеровщиков). Следуя этой статье вы сможете себе собрать такой же и начать спокойную легальную жизнь, максимально легко сделать первый шаг в мир Linux и Postgres. А я побороться за 1. Лучший бизнес-кейс (лучший опыт автоматизации предприятия на базе PostgreSQL). Если, конечно, статья придется вам по вкусу.
25.12.2018 46242 capitan 150
Заметки про лицензии 1С
Решил собрать шпаргалку по лицензиями 1С о разных нюансах, с которыми успел столкнуться.
15.12.2018 24834 MrWonder 24
Есть ли жизнь 1С в Azure на Linux?
В данной статье мы рассмотрели процедуру разворачивания 1С c PostgreSQL на CentOS, размещенной в Azure. Кроме этого, мы рассмотрели вопросы быстродействия и финансовую составляющую вопроса.
07.11.2018 10784 zhogov 47
Не работают регламентные задания? Промо
Работают не всегда стабильно. Что делать, как обеспечить стабильную работу пользователей? Качественную и устойчивую работу ИС? Делать контроль выполнения регламентных (фоновых) заданий. Ниже подробные комментарии с фрагментами кода.
27.09.2014 35958 ksnik 14
Установка клиента 1С:Предприятие 8.3 на Debian / Ubuntu
В последние годы интерес к альтернативным ОС, прежде всего Linux, возрастает, причем не только со стороны пользователей, но и со стороны разработчиков. Фирма 1С достаточно давно развивает свою платформу для использования в среде Linux, а теперь к ней стали подтягиваться производители торгового оборудования, выпуская драйвера и для этой ОС. Поэтому использование Linux в качестве платформы для рабочего места выглядит все более привлекательно и сегодня мы обобщим свой опыт и расскажем об установке клиентской части 1С:Предприятие в среде современных выпусков Debian / Ubuntu.
15.10.2018 54117 oldcopy 77
Когда 1С падает в дамп
Мой опыт устранения проблемы, при которой вылетала платформа 1С.
11.10.2018 65249 987ww765 48
Причины реструктуризации. Практический пример
Получение и анализ подробной информации о причинах реструктуризации.
17.08.2018 14515 _KaA 13
Часто встречающиеся ошибки 1С и общие способы их решения Промо
Статья рассчитана в первую очередь на тех, кто недостаточно много работал с 1С и не успел набить шишек при встрече с часто встречающимися ошибками. Обычно можно определить для себя несколько действий благодаря которым можно определить решится ли проблема за несколько минут или же потребует дополнительного анализа. В первое время сталкиваясь с простыми ошибками тратил уйму времени на то, чтобы с ними разобраться. Конечно, интернет сильно помогает в таких вопросах, но не всегда есть возможность им воспользоваться. Поэтому надеюсь, что эта статья поможет кому-нибудь сэкономить время.
03.06.2014 282349 suggestive 52
[Шпаргалка] Несколько версий сервера 1С на одном сервере (компьютер)
Публикация-шпаргалка. Если у вас возникала необходимость в размещение нескольких серверов 1С разных версий на одном сервере (компьютере).
14.05.2018 31901 rpgshnik 27
Несколько версий сервера 1С на одном компьютере
Как установить несколько экземляров сервера 1С на один компьютер. Как установить несколько служб агента 1С на один сервер? Как запустить сервера разных платформ на одном компьютере.
18.04.2018 112388 spezc 97
Запуск Apache 2.4 с модулем 1С внутри Docker контейнера
Про Apache и про Linux слышали, наверное, все. А вот про Docker пока нет, но он сильно набирает популярность последнее время и не зря. Поделюсь своим опытом и дам пошаговую инструкцию настройки веб-сервера Apache с модулем 1С внутри Docker контейнера на Linux хосте. При этом сам сервер 1С может находиться совсем на другой машине и на другой операционной системе. Это не важно, главное чтобы Apache смог достучаться до сервера 1С по TCP. В статье дам подробное пояснение по каждой используемой команде со ссылками на документацию по Docker, чтобы не создавалось ощущение непонятной магии. Также прилагаю git репозиторий с описанием всей конфигурации, можете попробовать развернуть у себя буквально за 10 минут.
04.04.2018 32687 petr.myazin 39
Технология обновления нетиповых конфигураций 1С:Предприятия 8 (редакция 12.04.2012) Промо
Данная статья основана на многолетнем опыте по развитию и поддержке учетных решений на платформе 1С:Предприятия. В статье описаны некоторые довольно часто встречающиеся ситуации, вызывающие сложности при обновлении нетиповых конфигураций 1С:Предприятия 8.
Vofka --> VofkaВариант гуманный ([необходимо зарегистрироваться для просмотра ссылки]).
Суть проблемы в чем.. Если Вы случайно развернули базу на сервере SQL со «смещением даты» 0 то возникла проблема, когда в базе встречается реквизит с типом ВРЕМЯ т.е.в этот реквизит ставится 01.01.0001 10:30:00 или дата записалась пустой 01.01.0001 00:00:00. При записи такого реквизита не происходит его запись.
В интернете предлагают создать новую базу со смещением 2000.
Но новую базу создавать не очень хотелось. И менять у всех пользователях путь к базе.
Тогда я пошел по пути, а где ж хранится это значение в SQL-е. Нашел и поменял на 2000 и все стало ок..
А теперь по шагово, где поменять.
Выгнать всех пользователей.
1. Сначала сделайте резервную копию средствами 1С т.е. выгрузите ее в *.dt
Это нужно делать до того как поменяете «смещение»
Если этого не сделать то во всей вашей базе спр., док, и т.д.
где есть есть реквизит дата будет стоять допустим 02.10.0009
ЧТО НЕ ДОПУСТИМО….
Итак Вы сделали выгрузку в *.dt
2. Заходим в SQL Server Management Studio
Находим Вашу базу в списку нажимаем плюсик.
Находи там папочку «Таблицы» и раскрываем ее.
Откроется куча таблиц, идем в самый низ, находим таблицу
_YearOffset, становимся на нее и правой клавишей выбираем пункт «Открыть таблицу» см. рис.1
Меняем значение 0 на 2000
Закрываем SQL Server Management Studio
3. Заходим в конфигуратор и загружаем ранее сохраненную базу.
Если это не сделать, то все даты будут с годом 0009.
После того как база загрузилась… Можно зайти в 1С и удостоверится что даты нормальные.
Результат мы поменяли «смещение дата с 0 на 2000»
Иногда бывает так, что этот вариант использовать не получается по тем или иным причинам. Тогда есть более хардкорный вариант ([необходимо зарегистрироваться для просмотра ссылки]):
Declare TablesAndFields cursor for
Declare @TableName as varchar(100)
Declare @ColumnName as varchar(100)
FETCH NEXT FROM TablesAndFields into @TableName, @ColumnName
- - This is executed as long as the previous fetch succeeds.
FETCH NEXT FROM TablesAndFields into @TableName, @ColumnName
END
close TablesAndFields
deallocate TablesAndFields
go
1) выгрузить
2) грохнуть базу на сервере
3) создать правильно базу на сервере
4) загрузить Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП Vofka --> Vofka
0. Оглавление
1. Добавление информационной базы из окна запуска «1С:Предприятие»
Запуститься мастер добавления информационной базы, выберем пункт «Создание новый информационной базы» установив соответствующий переключатель и нажмем «Далее».
В списке установленных шаблонов конфигураций выберем необходимый нам шаблон и снова нажмем «Далее».
Введем имя базы данных, как она будет отображаться в списке информационных баз, тип расположения укажем «На сервере 1С:Предприятие» и нажимаем «Далее».
На следующей странице необходимо указать параметры создаваемой информационной базы, а именно:
(В данном примере параметры выбраны в соответствии с параметрами установки сервера «1С:Предприятия», принятыми в статье Установка сервера «1С:Предприятие» 8 на MS SQL Server 2012 / 2008 (R2))
Установив все параметры информационной базы нажимаем «Далее».
Ну и наконец, указываем параметры запуска для создаваемой базы и нажимаем «Готово» для запуска процесса создания новой информационной базы. При этом будет создана новая информационная база на на сервере «1С:Предприятия», в случае необходимости, создана новая база данных на сервере баз данных, а также произойдет загрузка данных из шаблона конфигурации.
Если все вышеперечисленные действия завершились успешно, мастер завершит свою работу, а мы увидим только что созданную базу и в списке информационных баз в окне запуска «1С:Предприятие».
2. Добавление информационной базы из консоли администрирования серверов «1С:Предприятия»
Теперь добавим еще одну информационную базу в кластер серверов, но уже через оснастку «Администрирование серверов 1С:Предприятия» (предварительно должна быть установлена). Найти ее можно:
Ну и в любом случае оснастку можно запустить выполнив файл «1CV8 Servers.msc» располагающийся в каталоге установки «1С:Предприятие» в подкаталоге «common».
Откроется окно параметров создаваемой информационной базы. Список параметров тот же самый, что был описан выше в п.1 данной инструкции. Заполнив все параметры нажимаем «ОК» для запуска процесса создания новой информационной базы. При этом будет создана новая информационная база на на сервере «1С:Предприятия» и, в случае необходимости, создана новая база данных на сервере баз данных.
Если все вышеперечисленные действия завершились успешно, окно параметров закроется, а мы увидим только что созданную базу данных в списке информационных баз текущего кластера.
А если зайти в программу «Среда SQL Server Management Studio » и подключиться к текущему экземпляру MS SQL Server, можно увидеть созданные на предыдущих шагах базы данных.
3. Свойства информационной базы
Чтобы просмотреть или изменить параметры конкретной информационной базы необходимо в оснастке «Администрирование серверов 1С Предприятия», в списке информационных баз кликнуть по ней правой кнопкой мыши и в контекстном меню выбрать «Свойства». Для аутентификации в консоли администрирования необходимо использовать администраторов в соответствующих информационных базах. Другими словами данная проверка аналогична аутентификации при подключении к информационной базе через клиента «1С:Предприятие».
Как видно, к списку уже знакомых нам параметров добавились:
Изменив необходимые параметры нажимаем «Применить» для сохранения изменений или «ОК» для сохранения и закрытия окна свойств информационной базы.
4. Добавление существующей информационной базы в список информационных базы окна запуска «1С:Предприятие»
Вводим имя информационной базы, как она будет отображаться в списке, тип расположения информационной базы выбираем «На сервере 1С:Предприятия» и снова жмем «Далее».
Вводим адрес кластера серверов «1С:Предприятия» и имя информационной базы, как оно задано в данном кластере. Нажимаем «Далее».
Ну и наконец задаем параметры запуска информационной базы и нажимаем «Готово» для завершения работы мастера.
Наша база появилась в списке информационных баз. Надо понимать, что это пустая (чистая) база данных, и далее следует загрузить в нее данные из шаблона, или из файла предварительно выгруженных данных.
Смотрите также:
В ситуации когда необходимо перенести базу данных SQL с одного экземпляра MS SQL Server на другой, или изменить каталог хранения файлов базы данных, помогут операции отсоединения (Detach) и присоединения (Attach) баз данных MS SQL Server.…
При запуске клиент «1С:Предприятие» выполняет поиск клиентской лицензии. Алгоритм поиска лицензии не столь тривиален. Ниже приведен данный алгоритм для различных режимов запуска «1С:Предприятие», а также алгоритм поиска лицензии при запуске сервера «1С:Предприятие», для версии «1С:Предприятие»…
При запуске клиент «1С:Предприятие» выполняет поиск клиентской лицензии. Алгоритм поиска лицензии не столь тривиален. Ниже приведен данный алгоритм для различных режимов запуска «1С:Предприятие», а также алгоритм поиска лицензии при запуске сервера «1С:Предприятие», для версии «1С:Предприятие»…
Читайте также: