Внешние источники данных: создание таблиц в MS SQL с помощью скриптов *.sql

21.01.20

Интеграция - Внешние источники данных

Как быть программисту 1С, если для интеграции базы 1С: Предприятие 8.3 есть техническое задание со стороны разработчика внешней базы данных. Но самой базы данных нет ? А она уже нужна: для отладки выгрузки данных. В тех.задании коллегами описана структура таблиц внешней базы данных. Тогда Вам можно создать такую базу данных самостоятельно. С помощью скрипта для MS SQL.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Скрипты для создания таблиц в MS SQL
.7z 3,01Kb ver:2020.01.17
4
4 Скачать (1 SM) Купить за 1 850 руб.
Описание в формате PDF с форматированием для печати на формат листа A4
.pdf 1,36Mb ver:2020.01.20
0
0 Скачать (1 SM) Купить за 1 850 руб.

Всё чаще возникают задачи для обмена со сторонними базами данных.
Для платформы 1С:Предприятие 8.3.12 вполне подходит механизм "Внешние источники данных".

Исходная задача :

 Чтобы получить таблицы "Внешние источники данных", нужно обладать таблицами в MS SQL

Внешние Источники Данных в 1С: Предприятии могут иметь два типа : "Объектные" и "Необъектные"

Начнём с простого примера : "Объектные таблицы"

К таблицам "Объектного" типа относятся таблицы с первичным ключом, который состоит из одного поля.

В 1С: Предприятии такому типу таблиц соответствует объект типа "Справочник" у которого есть поле "Код" (длина поля "Код" больше нуля)

Если создать текст скрипта : Самый простой справочник : "Единицы измерения"

То при его выполнении в MS SQL Server Management Studio можем получить таблицы с полями : 

Создание "Справочника" в MS SQL

Для создания в MS SQL таблицы, соответствующей регистру накопления, следует написать такой сценарий : 

Исходный текст сценария

В результате мы получим таблицы : 

Таблицы "Регистров накопления"

При создании таблицы в MS SQL, соответствующей "шапке" документа, может быть создана "Объектная" таблица. Если первичный ключ "PRIMARY KEY" состоит из одного, уникального ключа. Как в этом случае : 

Скрипт создания объектной таблицы типа "Шапка документа"Такой вариант был выбран разработчиком ТЗ : номер документа уникален для всей базы данных. В результате будут созданы таблицы : 

"Шапка документа" с уникальным номером документа

Табличная часть будет создана в результате работы скрипта :

Скрипт создания табличной части документаИз сценария получается, что номенклатура в табличной части используется без повторений. Таково пожелание разработчика ТЗ.

И созданная таблица будет иметь "Необъектный тип" : 

Результат работы скрипта

 

Скрипты для MS SQL (Я использую : Версия 15.0.18183.0, "О программе SQL Server Management Studio") я создавал в конфигураторе 1С:Предприятия 8.3.12.1790. Внешние источники данных импортировал  в конфигурацию ERP 2.4.6 на этом же релизе платформы.

Для работы примера в MS SQL следует создать пустую базу "MyFirstDataBaseFor1C" - так как скрипт (скачиваемый файл) работает с таким наименованием.

При подключении внешнего источника из MS SQL можно использовать название "srcFirstDataBase". Это по желанию. "src" - от слова Source (Источник)

внешние источники данных sql ms скрипт объектная

См. также

Внешние источники данных Программист Бизнес-аналитик Пользователь Платформа 1С v8.3 Управляемые формы Анализ и прогнозирование 1C:Бухгалтерия Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматической выгрузки данных из 1С 8.3 в базу данных ClickHouse, PostgreSQL или Microsoft SQL для работы с данными 1С в BI-системах. «Экстрактор данных 1С в BI» работает со всеми типовыми и нестандартными конфигурациями 1С 8.3 и упрощает работу бизнес-аналитиков. Благодаря этому решению, специалистам не требуется быть программистами, чтобы легко получать данные из 1С в вашей BI-системе.

28500 руб.

15.11.2022    22900    24    49    

39

Зарплата Внешние источники данных Бюджетный учет Перенос данных 1C Системный администратор Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 8 учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

120000 руб.

19.08.2020    26419    25    1    

28

Внешние источники данных Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Готовая интеграция для управляемых форм. Встраивается в вашу 1С как расширение. Реализует автоматический обмен данными между 1С (1С:Фитнес клуб и аналогов) и СКУД RusGuard, автоматизирует бизнес-процессы по созданию и учету сотрудников в СКУД. Значительно упрощает работу специалистов отдела кадров и отдела безопасности: избавляет от двойного ввода информации в 1С и СКУД.

94999 руб.

11.07.2024    1297    1    0    

3

Розничная торговля Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Бухгалтерский учет 1С:Бухгалтерия 3.0 Фармацевтика, аптеки Россия Бухгалтерский учет Платные (руб)

Внешняя обработка загрузки данных из файла-выгрузки, сформированного в программе F3 TAIL версии 3.4 (и выше) или еФарма версии 2.1, в базу конфигурации 1С: Бухгалтерия предприятия 8, ред. 3.0 (базовая, ПРОФ, КОРП, ФРЕШ).

13200 руб.

19.12.2016    48634    98    106    

70

Зарплата Внешние источники данных Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 8 организаций (далее Парус) в конфигурацию 1С:Зарплата и управление персоналом, ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

120000 руб.

07.06.2021    13733    2    3    

3

Внешние источники данных Зарплата Бюджетный учет Программист Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 7.хх учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

84000 руб.

24.04.2017    52656    104    165    

91
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. awk 745 21.01.20 15:27 Сейчас в теме
Ужас, а не статья.... Для DBA слабо, для 1С программиста много. Для кого это написано?
5. Designer1C 457 27.01.20 10:19 Сейчас в теме
(1)Спасибо за первый комментарий в этой публикации !
Благодаря Вашему замечанию я познакомился со значением термина DBA
Понимаю Ваше разочарование от содержания статьи. Она далека от совершенства.
Предполагаю, что перед Вами стоит задача обучить своих подопечных некоторым навыкам по работе с MS SQL.
Действительно, в этом случае моя статья не отвечает Вашему интересу. К моему сожалению.
Интересно, под какую задачу Вы ищете (искали) информацию ?
Возможно, я смог бы написать статью не "Ужас", а "то, что Надо !"
А если уже нашли требуемую информацию, то опубликуйте в новом сообщении ссылочку. Мне, как "Программисту 1С" это очень интересно.
2. Designer1C 457 22.01.20 09:51 Сейчас в теме
Администратор базы данных (DataBase Administrator — DBA) — специалист, управляющий работой базы данных. Обычно обязан­ности DBA подразделяют на основные и дополнительные
3. Designer1C 457 22.01.20 09:52 Сейчас в теме
Основные обязанности DBA :

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

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

· Обеспечение безопасности. Является одной из основных обя­занностей DBA. Управление безопасностью и администрирование включают в себя: добавление и удаление пользователей, управле­ние квотами, аудит и разрешение проблем безопасности.

· Настройка производительности. Даже хорошо настроенная си­стема нуждается в постоянной проверке производительности и периодической ее перенастройке. Иногда для этого достаточно изменить параметры системы или индексы, а может быть, пере­строить структуру таблиц.

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

· Процедура постоянного [планового) обслуживания. Обслужива­ние СУБД лучше всего производить рано утром либо по выход­ным дням, чтобы не нарушать работу пользователей. Обслужива­ние включает в себя: архивирование, тестирование и настройку системы. Администратор должен составить календарь планового обслуживания СУБД и довести его до сведения клиентов.

· Локализация неисправностей и восстановление системы после сбоя. Поскольку сбой системы приводит к возможности потери доступа пользователей к своим данным, DBA обязан как можно быстрее восстановить работу системы, т.е. он должен уметь пре­дусмотреть сбой и заранее иметь план восстановления системы после сбоя.

Дополнительные обязанности DBA :

Сводятся, как правило, к оказанию помощи отдельным клиентам и могут включать в себя следующие задачи администрирования :

· Анализ данных. Проводится для того, чтобы дать отдельным разработчикам или пользователям рекомендации по повышению производительности или эффективности хранения данных.

· Предварительная разработка БД. Поскольку DBA знает систе­му «изнутри», он может на предварительной стадии разработки структуры БД указать команде разработчиков на потенциальные проблемы и помочь в увеличении производительности программ.

· Оказание консультаций разработчикам по хранимым SQL-про­цедурам. DBA довольно часто привлекается к разрешению про­блем SQL-кода и разработке (написанию) хранимых процедур, т.е. он должен быть готов стать консультантом для разработчиков и пользователей.

· Разработка производственных стандартов и соглашений по име­нам. Это одна из основных организационных проблем управления. Поскольку в разработке и развертывании приложений могут при­нимать участие несколько различных групп, DBA должен прини­мать активное участие в решении проблемы их соответствия про­изводственным стандартам и соглашениям по именам.

· Документирование среды. DBA должен документировать каж­дый аспект среды СУБД, включая конфигурирование оборудова­ния, обновление и изменение программного обеспечения, воп­росы, связанные с изменением системы и ее параметров, и уметь полностью восстановить ее по документации в случае необходи­мости.

· Планирование нагрузки системы и необходимого объема памяти. Неотъемлемой частью работы DBA является определение необхо­димости приобретения дополнительных серверов, дополнитель­ной дисковой и оперативной памяти в целях удовлетворения воз­растающих потребностей пользователей. Прогнозируя ожидаемую потребность аппаратных средств, администратор обеспечивает надежность работы информационной системы предприятия.
4. Designer1C 457 22.01.20 09:59 Сейчас в теме
Кто такой — DBA?

Существует большое количество различных режимов работы DBA и не существует хорошего описания содержания его работы. Из того, что я видел, есть несколько основных типов DBA:

Administrative DBA — Работа по поддержке сервера и обеспечение его работоспособности. Резервирование, защита, установка заплат и SP, настройка репликаций и т.д. А также всё, что касается фактического программного обеспечения сервера.

Development DBA — работы по формированию запросов, хранимых процедур и т.д., которые обеспечивают бизнес-задачи. Такой DBA — эквивалент программиста. Он, прежде всего, пишет T-SQL запросы.

Architect — Design schemas. Строит таблицы, FKs, PKs и т.д. Работа по построению структур, которые встречают бизнес-задачи общего характера. Разработанный таким DBA дизайн используется разработчиками и всеми DBA для поддержки пользовательских приложений.

Data Warehouse DBA. Это новая роль, отвечающая за объединённые данные из множественных источников, в хранилище данных. Вероятно, придется проектировать хранилище, оптимизировать данные хранилища, стандартизировать данные, обрабатывать данные перед загрузкой. В SQL Server, этот DBA использовал бы в основном DTS.

OLAP DBA. Строит многомерные кубы для поддержки задач принятия решений или OLAP систем. Основной язык в SQL Server — это MDX, а не SQL.

Быть DBA (вообще) утомительное занятие. Вы должны планировать развитие базы на будущее, резервировать место, где ваша схема будет размещаться или расширяться. План роста чреват множеством ошибок и просчётов. Эта работа не похожа на программирование с помощью «C» или Visual Basic, когда ответственность ограничивается уровнем пользовательского приложения. Ваши решения затрагивают все данные и имеют далеко идущие последствия. Так как Вы работаете в ориентируемой на массивы данных среде (set-oriented), Вы можете легко допустить ошибку, которая затронет большое количество элементов этих данных. В отличие от класса или структуры, где Вы имеете дело с не большими порциями данных (то есть, один пользователь), единственный SQL запрос может затронуть всех пользователей структуры. Скольких из Вас мучили сомнения при написании delete <имя_таблицы> с предложением where?
Оставьте свое сообщение