Белый Алексей

422
Рейтинг

mrstomak
Алексей Белый



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

  •   Был(а) на сайте: 22.04.2024

Друзья
  • Evgeniy Nikolaenko
Подписчики 12

Группы

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

Рейтинг 422

Загрузка файлов на сервер с прогрессом и докачкой

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

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

1 стартмани

04.10.2016    25307    63    mrstomak    22       

104

Запросник на управляемых формах

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

За основу взята оригинальная консоль запросов "Запросник" из публикации http://forum.infostart.ru/forum24/topic34484/ Так получилось, что лично я всегда с огромным удовольствием пользовался вышеупомянутым творением, таскал везде и всюду, ибо давала невероятные возможности. Вошел в какой-нибудь РАУЗ в УПП, или модуль расчета ЗУП с простынями запросов, отбирающихся из менеджера временных таблиц, запустил мега-обработку и сразу всё как на ладони. Сказать, что ощущал себя как Нео - это мало сказать, с таким инструментом чувствовал себя почти богом. Но вскоре случилось ужасное - начали выходить всякие УТ на УФ и возможности применения инструмента резко сузились. Да, можно было включать режим ОФ и что-то делать, но удобство летело к черту, жизнь становилась не такой прекрасной. Время шло, версии для УФ не появлялось. И тут автор обработки, глубоко уважаемый лично мною tezin, заявляет: я от дел отошел, если что исходники открыты, если энтузиаст найдётся для перевода на УФ - я не против. Ну и собственно - почему бы и нет? Вооружился энтузиазмом и забацал консольку.

1 стартмани

07.08.2014    84755    1845    mrstomak    151       

318

Комментарии

DevЗапросник на управляемых формах#136 18.10.17 11:43
(135)
Цитата
отладки записать дамп?
Я по-разному пытаюсь создать внешнюю обработку - не вых
Недостаточно данных для анализа проблемы.
На 8.3.10 всё работает, строку для создания можно посмотреть из формы запросника.
DevЗапросник на управляемых формах#134 05.10.17 13:58
(133) поправил
DevЗапросник на управляемых формах#131 30.11.16 14:47
(130) Это старый известный косяк платформы, да.
DevЗагрузка файлов на сервер с прогрессом и докачкой#8 06.10.16 12:24
(6) Sybr,
РазделитьФайл, к сожалению,на веб-клиентах не поддерживается вообще.
Но принцип такой же, да.
DevЗагрузка файлов на сервер с прогрессом и докачкой#3 05.10.16 11:57
Контрольную сумму хотел считать, увидел, что платформенные хэш-функции не поддерживаются в тонком клиенте, поэтому сделал проверку только по имени файла и количеству байт.

Ну а пауза есть..

Нужно еще обработок ошибок накидать для асинхронных вызовов, иначе там при ошибках кнопка передачи недоступной останется.
AdminТехнология In-Memory OLTP (для SQL Server 2014)#12 04.10.16 10:48
Статья вызвала удивление.
Если мы переносим бизнес-логику на SQL-сервер, то мы вообще-то теряем те самые управляемые блокировки платформы, т.к. они реализованы на уровне сервера приложений.
Потому что бизнес-логика в ряде мест не укладывается в пресловутый Read Committed.

Описанное преимущество "мультиверсионности" и отсутствия необходимости в блокировках не выдерживает критики - СУБД-версионники существуют десятки лет, Read Committed Snapshot для MS SQL поддерживается начиная с 8.3, но когда ты контролируешь остатки, распределяешь партии или взаиморасчеты, концепция "версий" не обеспечивает целостности данных, т.к. недопустимо, чтобы каждый поток видел свою "версию" остатков - здесь бизнес-логика требует видеть реальный остаток именно сейчас. Именно для этого и используются управляемые блокировки, "дополняющие" используемый уровень изоляции СУБД (Да даже в автоматическом режиме с Serializable на регистрах нужно было хинтить for update!).

Показанные замеры с переносом логики в ХП SQL не имеют смысла, если потеряна поддержка управляемых блокировок - потому что очевидно, что при контроле остатков, задержка была именно в ожидании установки блокировки!

Не совсем ясно, как вообще выполняются ХП? откуда берется код? Вот платформа проверяет наличие записей в регистре, проверяет его настройки по метаданным, пишет со сплиттером или без, с учетом разделителя данных в multitanancy и в определенном порядке, добавляет условия RLS,обновляет таблицу итогов - это всё помимо управляемых блокировок. Неужто всё это перенесено на уровень SQL и учтено в замерах?

Ответ на вопрос "директора" есть на ИТС, ИС, Мисте, где угодно, странно видеть это основанием к подобному исследованию.
DevЗагрузка файлов на сервер с прогрессом и докачкой#0 04.10.16 1:45
Пример использования новых возможностей платформы 8.3.9 по низкоуровневой работе с двоичными данными для инкрементальной передачи файлов на сервер.
DevЗапросник на управляемых формах#127 29.06.16 14:34
(126) Если в ОФ запускать, то запустится оригинальный Запросник
DevЗапросник на управляемых формах#124 17.05.16 20:28
(123) Snork, про какую конфигурацию речь?
по умолчанию никаких ограничений нет, это в формах выбора конфигурации возможно ограничения какие-то
DevЗапросник на управляемых формах#119 16.01.16 13:08
В этом запросе таблица ВТВсеСотрудникиОрганизации переопределяется - т.е. она удаляется и потом по-новому задаётся.
К сожалению, такую ситуацию запросник не отслеживает - он захватывает в дамп все ВТ, которые используются в запросе, но в этом же запросе нигде не создаются.
А если даже будет их захватывать, то после первого исполнения он запомнит уже новые данные ВТ с этим именем и дальнейшие выполнения будут некорректными.
В общем тут поразмышлять надо, может в будущих версиях поправлю.