Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Сбойнула ert на сохранении - откуда вытащить?

v7: Сбойнула ert на сохранении - откуда вытащить?
Я
   Злопчинский
 
06.03.21 - 00:18
блин, холеора, ниогда такого не было и вот опять...
При сохранении ert в конфигураторе дало ошибку тупо "ошибка сохранения докуменат". в итоге - ертешка путсая. блин 3 часа работы....
откуда можно вытащить, из каких темпов? где-то посикать по сигнальным может последовательностям символов?
   Злопчинский
 
1 - 06.03.21 - 00:22
   Злопчинский
 
2 - 06.03.21 - 00:35
Видать жпс.. В принципе. не страшно, восстановиться уйдет минут 40-сач.. но обидно же.. ;-0
   kubik_live
 
3 - 06.03.21 - 00:49
(2) Соболезную...
Тож было такое - при сохранении на внешний ХДД - разъем сбойнул
введи в привычку сохраняться промежуточно, на всякий случай
   Злопчинский
 
4 - 06.03.21 - 02:26
восстановил. 1ч20мин, заодно отрефакторил.
Всем спсб за помощь.
закрыто.
   Cthulhu
 
5 - 06.03.21 - 03:00
я не верю, что такой зубр как чугундер - в настройках установил синтаксическую проверку при сохранении.
ЗЫ: ну или если это не потому - а из-за опенконфа перегруженного - то там же не закрывая ертшку можно через копипасту код спасти (диалог конечно же перерисовывать придется. это да). сам нарывался...
   Злопчинский
 
6 - 06.03.21 - 04:49
(5) ну ты ваще... отключен конечно синтакс-контроль
без опенконфа (никак не соберусь нормально на вин10 поставить)
я уже и не помню когда нарывался на сабж...
.
а код-то да, на экране висел, но тут я сплоховал (много за компом нельзя сидеть... клинит...), засуетился, блин, у меня еще пару форм догого ваяния с исправленими были открыты, а исправления незначительные, их хрен упомнишь - я их и метнулся спасать - их спас (сами форме в бэкапе есть).
.
а погиб как раз вспомгательный инсрумента АРМ управления заказами... не спас код.. хотя мог...
   Злопчинский
 
7 - 06.03.21 - 04:49
Пришлось вспомнить молодость, достать из закормов бэкап ромиксовый...
   Вафель
 
8 - 06.03.21 - 09:27
нужно бэкапы ертшек делать.
   ildary
 
9 - 06.03.21 - 12:16
Потерять 40 минут - не потерять два дня. Обидно, но восстанавливается по горячим следам.
   ДедМорроз
 
10 - 06.03.21 - 12:28
Промежуточное сохранение не спасает,если версии файлов не включены,то падение приводит к тому,что файл начал записываться,но он пустой,т.к. компаунд сначала создаёт структуру,а потом в нее пишет данные.
   Злопчинский
 
11 - 06.03.21 - 15:05
(8) делал, в коне рабочего дня делаю, если много прогания - то и в течении дня, тут это тоже было, но не сильно свежий. а так - теперь вздрогнул и включил ромиксовскую приблуду... пока восстанавливал и рефакторил и еще программил - 200 МБ уже оперативных бэкапов набежало...
   MWWRuza
 
12 - 07.03.21 - 11:12
Было подобное несколько раз...
Обычно, написанное в такой ситуации "с нуля по горячим следам", оказывается на порядок лучше потерянного :-) Обидно, досадно - но ладно...
   mistеr
 
13 - 07.03.21 - 11:17
(11) Используй программы, делающие быстрый инкрементный бэкап.
Или синхронизацию с облаком.
   ДедМорроз
 
14 - 07.03.21 - 12:28
Стандартное версионирование в системе должно спасать
   trdm
 
15 - 07.03.21 - 12:39
(8) > нужно бэкапы ертшек делать.

нужен инструмент.
   Злопчинский
 
16 - 07.03.21 - 12:48
(15) Поставил ромиксовский бэкапер
   trdm
 
17 - 07.03.21 - 13:06
(16) ссылку дай плз.

пробую Cobian Backup, обзор: https://itigic.com/ru/best-programs-to-make-a-backup/
посмотрим как себя поведет.
   ДедМорроз
 
18 - 07.03.21 - 15:11
Если файловая система fat,то можно достать файл,т.к.новое место записи при обновлении файла отличается от старого.
К сожалению,ntfs при обнулении размера файла сразу место не освобождает до завершения транзакции записи и поэтому,пишет в то же место,но можно найти куски записанного в файле свободного места,если записано было гораздо меньше,чем было ранее.
Однако,формат ert не позволяет так легко и быстро из нее что-то достать.
   ptiz
 
19 - 07.03.21 - 15:30
(4) Как восстановил-то?
   Злопчинский
 
20 - 07.03.21 - 15:42
(17) кобиан норм, он у меня в конторе на продакшене стоит на основную файловую торговую 77. раз в сутки полный, потом инрементный (или разностный, хз админ рулит) кажждые 20 мин вроде. По факту получается каждые 20 мин бэкапятся почти все важные файлы - документы, журналы, регистры
   Злопчинский
 
21 - 07.03.21 - 15:44
(17) http://x-romix.narod.ru - в разделе Плангинов Backup_ERT - в давние времена когда ее юзал - выручала пару раз
   Злопчинский
 
22 - 07.03.21 - 15:45
(19) как-как.. руками.. заново перебил и все... даже лучше стало... отрефакторил попутно...
   Cthulhu
 
23 - 07.03.21 - 15:49
(20): да вот хренасдва. пока кто-то в файловой базе работает - консистентную копию гарантировано получить невозможно (хоть кобианом хоть чем).
   Злопчинский
 
24 - 07.03.21 - 16:30
(23)
1.Физически - будет консистентная, логически - да, может разъехаться, т.к. 77 не умеет взаимодейсвовать со службой теневого копирования, которую поддерживает Кобиан
2.Но логические "противоречия" если и будут - это лучше чем вообще рухнувшая база, и логические противоречия можно убрать перепроведением поднятой из бэкапа базы *если конечно не архитектурные изыски типа документов на справочниках, которые не поддерживают кодом все правильно при перепроведении базы)
3. за более чем 10 лет по существу базу из бэкапа приходилось подымать один раз, в 2010 в жаркое лето когда недосервер спекся и пару раз для тестовых вариантов брал кобиановские бэкапы - норм,потому что все-таки длинные транзакции на несколько минут/секунд в файловой 77 все-таки редкость. Конечно еще и от обилия пользователей зависит.
.
для п.1 для гарантии консистентности если припрет - можно юзать фичу от hogik где он тормозит базу в момент когда все транзакции завершены и в этот момент делать что надо...
.
да и ваще - 77 лучше чем снеговик! чем? - чем снеговик!
   Злопчинский
 
25 - 07.03.21 - 16:31
опять же - ХЗ как кобиан теневое копирвоание делает - может он вообще сажает всю папку на тень-паузу и тогда вообще все норм.
но так внятно никто и не смог мне объяснить/илия тупой что такое теневое копирвоание и как оно работает
   Тындр
 
26 - 07.03.21 - 17:23
Сохраняю в разные файлы периодически, типа в ИмяФайла_1, ИмяФайла_2, ИмяФайла_3, после 3 снова 1 и так по кругу.
Уже на автомате, давно привычка сформировалась. Не на пустом месте, естественно :-))
Такое "версионирование на минималках". И даже cf ники не ленюсь по такому принципу сохранять на диск, но реже, чем мелкие файлы и документы.
Ctrl+S святое сочетание, а вот для "сохранить как" комбинаций толком не придумали.
С наступающим днем Клары Цеткин всех причастных и непричастных!
   Гений 1С
 
27 - 07.03.21 - 17:32
(26) я тоже. а по сабжу один раз сталкивался, так в папке temp нашел с помощью проги по поиску удаленных файлов.
   ДедМорроз
 
28 - 08.03.21 - 11:40
Теневое копирование делается очень просто,в какой-то момент операционная система фиксирует состояние диска,и это и будет теневая копия,а потом вся запись и перезапись отправляется в другое место,то есть изменение одного байта в файле будет приводить к его копированию в новое место.
Опять же,это сильно снижает скорость работы и требует наличия места на диске теоретически в два раза больше,чем копируемых данные.
Ну и проблема в том,что система в момент теневой копии только видит,что какие-то файлы открыты,и никто не даёт гарантии,что они записаны правильно.
Для dbf-файлов это не смертельно,так как или запись в них есть или нету,а индекс все равно перестраивать.
Для 1с8,где все в одном файле,может оказаться,что карта блоков в файле изменилась,а блок ещё не записан,так как блоки висят в памяти целиком,если меняется что-то в нем.
Но,с другой стороны,явной каши тоже не будет,как при записи,например,файла word,где структура напоминает фат и пишется в разные места с достаточно странной буферизацией,хотя,последний word уже от этого свободен,он пишет xml в zip и если его поймали на середине,то файл в принципе прочитать нельзя.
   Cthulhu
 
29 - 08.03.21 - 13:37
(24): консистентность бывает только логическая (точнее - функциональная). замораживание файловых операций НЕ гарантирует консистентности - т.к. для консистентности необходимо чтобы все операции стали завершены (а не заморажены). это отнюдь не всегда "исправимые" ошибки копии, но само поганое - не всегда обнаруживаемые "сразу".
ясен пень что клюшки лучше. но когда я узнал. что в 38-м году они сломаются - я лично впал в лютую депрессию и даже кушать перестал... на пару часов.
   Злопчинский
 
30 - 08.03.21 - 14:11
(29) "...для консистентности необходимо чтобы все операции стали завершены"
.
хм.. а как они могут быть не завершены, если физически ось записывает все правильно (например, во время выполнения бекапов с использованием теневого копирования)?
 
 Рекламное место пустует
   Вафель
 
31 - 08.03.21 - 14:56
(30) у фалйовой базы нет транзакции на запись в разные файлы, а на запись в 1 файл есть транзакции самой нтфс. собственно на этом и основано теневое копирование
   ДедМорроз
 
32 - 08.03.21 - 15:59
Не забываем про кеширование операций,и если системный кеш теневое копирование может сбросить на диск,то кеш и буферы приложения никому кроме самого приложения не доступны.
dbf файл очень сложно испортить,если идет запись,то мы или видим старое значение или новое,если идёт увеличение файла(добавление записи)то будет хвост нулей.
То,что в одном файле данные будут,а в другом-нет легко находится и исправляется.
Конечно,если будет копия посередине проведения,то там много чего может быть,ну или в момент отката транзакции,но это не так печально.
   Вафель
 
33 - 08.03.21 - 16:14
(32) в файловой нет записанных транзакций. все транзакции в памяти
   Вафель
 
34 - 08.03.21 - 16:15
отсюда и ускорение выполнением в транзакции
   Cthulhu
 
35 - 09.03.21 - 02:42
(34): и еще большее ускорение абсолютно безтранзакционной фат относительно нтфс
   mistеr
 
36 - 09.03.21 - 11:33
(30) При теневом, для того что бы было "все правильно", то есть консистентно, приложение должно участвовать в процессе. Есть специальный API (VSS Writer), через который ОС говорит приложению: "сейчас буду делать теневую копию, быстро приведи свои файлы в консистентное состояние". Приложение записывает все, что недозаписано и отвечает, "готово, продолжай". Дальше запись замораживается и делается теневая копия.

Скуль это все делает, а файловая 8-ка нет. Поэтому с файловой как повезет.

В случае с ert все будет консистентно.
   trdm
 
37 - 09.03.21 - 11:35
(20) Работает, пока нормально. Меня все устраивает.
   trdm
 
38 - 09.03.21 - 11:36
Нужен еще инструмент, который смотрит файлы в каталоге на изменение и не архивирует их, а пишет в лог, отмечая файл как измененный.
есть такой у кого?
   Sиlьver
 
39 - 09.03.21 - 11:39
Меня в подобной ситуации выручал dropbox. Все обработки храню в папке, которая синхронизируется с облаком. В течение месяца хранятся все версии файлов. Т.е. если заметил, что что-то не то, просто откатываешься на предыдущую версию файла и все.
   mistеr
 
40 - 09.03.21 - 12:06
(38) Любая утилита для подсчета контрольных сумм. Например fciv, md5deep.
   trdm
 
41 - 10.03.21 - 12:01
(40) Не совсем то что надо.
   Arbuz
 
42 - 10.03.21 - 17:12
(38) да полно такого.
кроссплатформенное:
на питоне "родной": https://pypi.org/project/watchdog/
на питоне скоростной поллинг: https://github.com/samuelcolvin/watchgod
на руби без зависимостей: https://github.com/filewatcher/filewatcher
на джаве npm: https://github.com/doowb/watch-cli

утилиты под окошки:
https://sourceforge.net/projects/luba-filewatcher/

старая но рабочая:
- Multiple framework versions:
    45 = .NET Framework 4.5
    40 = .NET Framework 4.0
    30 = .NET Framework 3.0
    20 = .NET Framework 2.0
Windows 7 x64, Windows 10 x64, LGPL
https://sourceforge.net/projects/fwutilities/
   Arbuz
 
43 - 10.03.21 - 17:16
+(42) Вместо Windows 7 x64, имелось ввиду Windows 7 x86, конечно
   trdm
 
44 - 10.03.21 - 19:09
(42) Спасибо, но я уже свою пишу на с++
   trdm
 
45 - 19.03.21 - 04:28
Делов то... опенконф рулит...

ИсторияОткрытияДокументов.vbs
+
' trdm 2021-03-19 04:17:29  
' Делает копию файла после сохранения в конфигураторе.
' Работает только с файлами в  в каталоге 'IBDir + "ExtForms\"'
Sub makeCopyToArhive(psDocPath)
    vCopyFolder = IBDir + "ExtForms\_Arhive\"
    vCheckFolder = IBDir + "ExtForms\"
    vDocPathNew = psDocPath
    if InStr(psDocPath,vCheckFolder) = 0 Then 
        exit sub        
    Else
        vDocPathNew = Replace(vDocPathNew,vCheckFolder,"")
        vDocPathNew = Replace(vDocPathNew,"\","#")

    end if
    if not gFso.FolderExists(vCopyFolder) Then 
        exit sub
    end if
    vDocPathNew = ""+glFrmDateTimeToFile(Now)+vDocPathNew
    vDocPathNew = vCopyFolder + vDocPathNew
    gFso.CopyFile psDocPath,vDocPathNew
    'message vDocPathNew
    
End Sub

Sub Configurator_OnFileSaved( psDoc )
    ' trdm 2021-03-19 03:48:36  
    makeCopyToArhive psDoc.path
    if Not DictHWND.Exists(psDoc.path) Then
        RegisterOpenWindow psDoc 
    End IF
    RemakeDictHWND
End Sub
   trdm
 
46 - 19.03.21 - 04:31
думаю надо еще чистку делать и архивацию полезно замутить.
   Злопчинский
 
47 - 19.03.21 - 11:35
я сейчас включил ромиксовский бэкап, норм вроде, бэкапит при каждом сохранении
   trdm
 
48 - 19.03.21 - 11:44
(47) Ну незнаю, я чисто опенконфом обошелся.
Тоже обратотка побилась.
Cobian Backup в этом случае избыточен и/или недостаточчен, он сейвает по расписанию.
Часто сделаешь, будет мозги системе делать, редко - шанс пропустить сейв.
А с ромиксом я навоевался и при архивации БД. 2 дня воевал. Win 7 еле сделал.
Не хочу сломать
   kissolo
 
49 - 19.03.21 - 14:27
Натравил Cobian Backup на каталоги баз, только на ert-шки. И регулярно делает. Вроде не особо тормозит. Сделал такое, потому что прога уже  стояла для других целей, ну и как глюкануло при сохранении - добавил задание для ert.
имхо вполне себе вариант.
   kissolo
 
50 - 19.03.21 - 14:28
(39) Дропбокс, конечно, рулит, вот только базы бывают разного размера...))))
   Arbuz
 
51 - 23.03.21 - 17:32
(45) Как-то не подошло к найденному на 1срр скрипту 2006 года. Не хватает gFso, glFrmDateTimeToFile() и OPTION COMPARE (т.к. регистр почему-то разный у строк). Я конечно подпилил, но всё же... А самое главное, что фактически копируется уже сохранённый файл, а не предыдущая версия.
   Злопчинский
 
52 - 05.04.21 - 21:06
Rgw/ кропал обработку на сервер заказчика. подвисло. итог = обработка в дауне. код отсутствует после перезапуска.
как все-таки в таком случае вытащить код? ну должен же где-то в темпах лежать...
   trdm
 
53 - 05.04.21 - 23:05
(51) нет события перед записью. пользуемся тем, что есть.
   Ёпрст
 
54 - 05.04.21 - 23:59
(52) в темпах в лучшем случае. валяется только копия мд-ника, если была реструктуризация..ert там нема.
ert можно только с памяти вытащить, если окно предприятия не закрыто с открытой обработкой.
   Cthulhu
 
55 - 06.04.21 - 01:28
(54): а если не предприятия но конфигуратора?
   DrZombi
 
56 - 06.04.21 - 06:51
(0) У вас случаем не Касперский?
Версию платформы не огласите?
   Злопчинский
 
57 - 06.04.21 - 08:19
(56) не, в первом случае вин10 штатная
в (52) не знаю, но на пристутсиве каспеар не похоже
   Злопчинский
 
58 - 06.04.21 - 08:20
(56) платформа какая имеется в виду? 1ска?
   Злопчинский
 
59 - 06.04.21 - 15:07
(54) предприятие не запущено. только окнфигуратор
   Злопчинский
 
60 - 06.04.21 - 15:08
еще бы понять что это так поддает.
 
 Рекламное место пустует
   Mihenius
 
61 - 06.04.21 - 16:16
   Mihenius
 
62 - 06.04.21 - 16:17
У меня падало из-за openconf


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.