Мукомело Евгений

191
Рейтинг

ixilimuse
Евгений Мукомело



  •   Регистрация: 07.08.2012 (11 лет назад)

  •   Был(а) на сайте: вчера в 08:24

Друзья
  • Матвей Серёгин
  • Sergey
  • Дмитрий Малышев
  • Евгений Комиссаров
  • Ivan Min
  • Alex Vinogradov
  • Андрей Волин
Подписчики 14

Группы

Профессиональный разработчик

IE 2017 Online

Рейтинг 191

Быстрое восстановление бэкапа на тестовую базу

Инструменты и обработки Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m) Архив с данными Архивирование (backup)

Кто как восстанавливает свежие бэкапы на тестовые базы. Лично я довольно долго использовал для этого SQL скрипт. С ним меньше возни, чем с интерфейсом, который меняется из версии к версии. Кто-то использует bat файлы, тоже быстрый и надежный способ. В данной публикации я делюсь приложением, написанным на C#, которое восстанавливает базу из бэкапа, и даже при необходимости может перед восстановлением сохранить копию *.cf.

1 стартмани

12.02.2019    12149    9    ixilimuse    5       

2

Как я обработку на альтернативный сервер выносил

Статья Программист Платформа 1С v8.3 Windows Абонемент ($m) Архив с данными Информационная безопасность

В данном посте хочу поделиться опытом. Однажды возник инцидент, который смотивировал реализовать обработку, которую запускал бы обычный пользователь 1С, в основной системе. Но весь процесс обработки должен происходить за пределами рабочей базы. А юзабилити должно остаться на уровне простого пользователя. В качестве решения я выбрал службу Windows (С#), приложение инициации на клиенте и далее прошу под кат...

1 стартмани

08.02.2019    4239    2    ixilimuse    6       

5

Консоль запросов для больших баз данных (БД)

Инструменты и обработки Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m) Внешняя обработка (ert,epf) Инструментарий разработчика

Самая обычная консоль запросов для толстого клиента, но обладающая некоторыми специальными возможностями для отладки и сверки сложных запросов, которые выбирают большие объёмы данных. А именно: -Сохранение результата запроса в файл; -Возможность выборки из сохраненного файла; -Замеры времени выполнения отдельных временных таблиц в запросе; -Подготовка текста запроса к помещению в модуль; -Проверка запроса на не уничтоженные временные таблицы;

1 стартмани

28.06.2016    14349    22    ixilimuse    9       

29

Замер времени выполнения временных таблиц больших запросов

Инструменты и обработки Программист Платформа 1С v8.3 Конфигурации 1cv8 Windows Абонемент ($m) Внешняя обработка (ert,epf) Инструментарий разработчика

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

1 стартмани

13.09.2014    12394    23    ixilimuse    6       

4

Загрузка данных из произвольных Excel файлов

Инструменты и обработки Программист Платформа 1С v8.3 Windows Абонемент ($m) Внешняя обработка (ert,epf) Загрузка и выгрузка в Excel

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

1 стартмани

27.12.2013    9079    61    ixilimuse    6       

3

Деловик 1.0

Отчеты и формы Для всех Платформа 1С v8.3 Домашние учет и финансы Абонемент ($m) Конфигурация (md, cf) Разное

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

1 стартмани

28.11.2013    10251    21    ixilimuse    10       

7

Универсальный переводчик запросов 1С в T-SQL (Microsoft)

Инструменты и обработки Программист Платформа 1С v8.3 Windows Абонемент ($m) Внешняя обработка (ert,epf) Инструментарий разработчика

Данная обработка облегчает разработчику процесс перевода запросов в формате 1С, в формат T-SQL (Microsoft).

1 стартмани

26.11.2013    22381    211    ixilimuse    16       

31

Универсальный обмен данными (MS SQL, bcp)

Инструменты и обработки Программист Платформа 1С v8.3 Windows Абонемент ($m) Внешняя обработка (ert,epf) Перенос данных 1C

Обработка позволяет выгружать из базы данных (1C + MS SQL) отдельно взятые таблицы. Данные сохраняются в файл. Выгруженные данные можно загрузить в другую аналогичную базу. Обработка подойдет не для всех ситуаций где нужен обмен данными. Написана для разработчиков, которым в процессе разработки и отладки необходимо переносить какие-то данные из базы в базу. За счет того что используется утилита bcp.exe, обработка позволяет довольно быстро выгружать и загружать, большие объемы данных. Тестировалась на регистре сведений объемом в 3 млн. записей.

1 стартмани

26.11.2013    15115    40    ixilimuse    14       

11

Спуск на уровень СУБД

Статья Программист Платформа 1С v8.3 Windows Бесплатно (free) Нет файла Универсальные функции Запросы

В данной статье пойдет речь о том как в 1С 8.1-8.2 можно использовать прямые запросы к СУБД MS SQL. Статья навеяна реальным внедрением. Я постарался описать общие моменты которые необходимо знать для того что бы спуститься на уровень СУБД и начать использовать прямые запросы к СУБД в обход 1С Сервера приложений.

25.11.2013    52088    ixilimuse    65       

99

Комментарии

DevСпуск на уровень СУБД#64 22.08.23 8:59
(63) Здравствуйте! Интересная задачка, а не пробовали, подключаться к той (другой) базе, через COM соединение? В теории наверное через COM, если выполнить тот самый метод, "ПолучитьСтруктуруХраненияБазыДанных()", то сможете получить имена, удаленной базы. Вопрос только в возможности коннектиться через COM, и соответственно какой-то пользователь\роль, для этого дела.
НовостиОпрос сообщества разработчиков на 1С#420 03.03.20 14:21
(23)
Лично я тоже из штата большой конторы.
Франчайзи в моем понимании ( по крайней мере у нас городе) синоним большой текучки кадров, низкий уровень компетентности, космические цены.
НовостиОпрос сообщества разработчиков на 1С#410 03.03.20 14:11
Я понимаю что сейчас, 1С много ресурсов тратит на развитие новой среды разработки, НО! Все таки в современных реалиях большинство проектов, и большинство разработчиков - проводят весомую часть времени своей жизни в Конфигураторе!

Пожалуйста, подумайте над добавлением в конфигуратор "Темной темы". Полноценной, как в MS VS. Это очень облегчит работу с кодом в некоторых ситуациях.
НовостиОпрос сообщества разработчиков на 1С#407 03.03.20 14:09
(1)
1. +
Есть конечно учебная версия, но там есть ограничения. А по факту, даже у Microsoft сейчас есть VS Community, совершенно бесплатная студия для личного использования. Для частных разработчиков и студентов. Там есть конечно нюансы когда речь заходит о коммерческом использовании. Но в целом, идея для разработки - хорошая. Надо развивать.
AdminБыстрое восстановление бэкапа на тестовую базу#4 15.02.19 6:41
(3) Прошу прощения, сразу не описал, сейчас поправлю в статье.

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

2. Я забыл упомянуть что не все настройки выведены в интерфейс, так как не часто меняются в пределах одной компании. В xml файле, есть такой параметр как логическое имя БД. В MS SQL Managment Studio можно посмотреть вот тут, в свойствах базы:

Прикрепленные файлы:

СвойстваБазы.jpg
AdminБыстрое восстановление бэкапа на тестовую базу#2 13.02.19 6:45
(1)Безусловно Ваши доводы имеют основание, описанная Вами обработка была бы интересна как в написании так и в рассмотрении, возьму на заметку идею.

Данная утилитка разумеется написана во первых, забавы ради, во вторых, просто потому что я устал каждый раз в скрипте подменять наименование базы, путь к свежему бэкапу и т.п. Через интерфейс всегда был параноидальный страх забыть отметить какой-нибудь флажок или еще что напутать. Всегда по многу раз перепроверял, занимало много времени.
Как раз параллельно занимался другим проектом на C#+1С, поэтому решил смастерить по быстрому утилитку. Скорость исключительно в GUI-взаимодействии, как Вы правильно заметили.

Про путь к файлам БД, исключительно потому что я в своем скрипте (шаблонном) использовал эти пути. Тот самый скрипт был взят за основу программы.

Код
RESTORE DATABASE [db_name] 
FROM  DISK = N'D:\Backup\SomeBackupFile.bak' 
WITH  FILE = 1,  
MOVE N'upp_SomeBase' TO 
N'D:\MSSQL\DATA\SomeBase_test.mdf',  
MOVE N'upp_SomeBase_log' TO 
N'D:\MSSQL\DATA\SomeBase_test_log.ldf',  
NOUNLOAD,  
REPLACE,  
STATS = 10
GO
AdminБыстрое восстановление бэкапа на тестовую базу#0 12.02.19 16:16
Кто как восстанавливает свежие бэкапы на тестовые базы. Лично я довольно долго использовал для этого SQL скрипт. С ним меньше возни, чем с интерфейсом, который меняется из версии к версии. Кто-то использует bat файлы, тоже быстрый и надежный способ. В данной публикации я делюсь приложением, написанным на C#, которое восстанавливает базу из бэкапа, и даже при необходимости может перед восстановлением сохранить копию *.cf.
DevКак я обработку на альтернативный сервер выносил#4 11.02.19 15:07
(3) Благодарю за наводку, будем ожидать с трепетом и надеждами =) Экспериментировать даже и не пытались, так как предварительная разведка показала, что шансов на успех маловато)
DevКак я обработку на альтернативный сервер выносил#2 11.02.19 6:16
(1) Безусловно кластеризация 1С крутая штука, но попробую влить ложку дегтя. Если где-то буду не прав - исправьте меня.

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

p.s. У нас еще есть одна идея фикс, это сделать зеркалирование БД, и для отчетов использовать зеркало, а запись вести в основную базу (диск). Но тут тоже море подводных граблей, и как пишут опытные в этом деле люди, жизнь зеркалированной БД для 1С длится ровно до первой реструктуризации БД. И поэтому для нас это вообще не подходит) Слишком часто придется сталкиваться с лишними проблемами. Поэтому сложившихся условиях, то что описано в посте, очень помогает и разгружает наше решение. Но разумеется это не панацея и не в любых решениях будет оправдано.
DevКак я обработку на альтернативный сервер выносил#0 08.02.19 15:39
В данном посте хочу поделиться опытом. Однажды возник инцидент, который смотивировал реализовать обработку, которую запускал бы обычный пользователь 1С, в основной системе. Но весь процесс обработки должен происходить за пределами рабочей базы. А юзабилити должно остаться на уровне простого пользователя. В качестве решения я выбрал службу Windows (С#), приложение инициации на клиенте и далее прошу под кат...