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

21.01.20

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Скрипты для создания таблиц в MS SQL
.7z 3,01Kb
4
4 Скачать (1 SM) Купить за 1 850 руб.
Описание в формате PDF с форматированием для печати на формат листа A4
.pdf 1,36Mb
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 Управляемые формы Анализ и прогнозирование Конфигурации 1cv8 Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

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

15.11.2022    19027    17    SQV0    49    

37

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

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

84000 руб.

19.08.2020    24068    22    1    

24

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

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

60000 руб.

05.10.2022    10271    11    8    

13

Производство готовой продукции (работ, услуг) Внешние источники данных Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Лесное и деревообрабатывающее хозяйство Россия Управленческий учет Платные (руб)

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

10200 руб.

24.06.2021    20184    55    53    

33

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

Обработка позволяет перенести кадровую информацию и данные по заработной плате из Парус 10(Торнадо) учреждений через файлы Excel в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ). В принципе, обработка может быть использована для загрузки из файлов Excel, полученных из любых информационных систем.

48000 руб.

16.11.2018    30574    21    31    

22

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

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

13200 руб.

19.12.2016    46584    85    105    

65
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. awk 744 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?
Оставьте свое сообщение