Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 8106 сообщений
Cообщения с меткой

usb - Самое интересное в блогах

Следующие 30  »
rss_rss_hh_new

30 000 скачиваний ReactOS v.0.4.5 за 5 дней

Вторник, 24 Мая 2017 г. 00:32 (ссылка)

image



Приветствуем хабражителей!



18 мая 2017 года в свет вышел новый релиз ReactOS под номером 0.4.5, и за 5 дней его скачали почти 30 000 раз с официальных зеркал. Вот пруфы, Билли.



Страница загрузки | список изменений | альтернативный список изменений | официальная новость | Читать дальше →

https://habrahabr.ru/post/329314/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
ssmmua

Как выбрать игровой джойстик для компьютера

Пятница, 19 Мая 2017 г. 16:03 (ссылка)
ssmm.org.ua/?p=9824

Компьютерный джойстик рассчитан на игры. Едва ли игровой манипулятор пригодится в обыденном использовании ПК. Для набора текста у него мало кнопок


1.
intro (700x343, 193Kb)
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
SoXiE

Прошлые

Суббота, 07 Мая 2017 г. 03:42 (ссылка)

выхи посвятил очень насыщенной социалочке, так что эти дни хочется посвятить производству и задротству с паяльником, программатором и шпинделем. Поскольку я к электронным игрушкам подхожу довольно олдскульно - с программатором типа STK200 (пять проводков из LPT) и все Arduino-подобные упрощалки мне чужды, потому моя ардуина отладочная плата для AVR, NAND-флешки на 1ГБ и дисплея от Nokia 1616 LCD выглядит следующим образом:


PCB_LCD_Nokia_1616_NAND_FLASH (654x700, 233Kb)

Уже в заделе, чтобы можно было внедрить в 5.25" отсек компьютера и выводить на дисплей всяческую моддерскую ересь модными BITMAP-шрифтами (что там моддеры выводят? Температуры, загрузку ЦП, ОЗУ, ну то, что ни разу в жизни знать не полезно). Также есть две кнопки, у которых схема подключения настолько несовершенна, что лучше про них забыть. Они ввиду нехватки свободных пинов ATMega328 подключены параллельно к линиям #WE и ALE флешки. Для индексации, на плате есть:


• ATMega328 в DIP-исполнении
• MCP42010 - переменный резистор/потенциометр с SPI-управлением для регулировки яркости
• CH340G - мост USB-UART, который я искренне полюбил, однажды доставшись мне от одного конченного наркомана, я заказал ещё 25 штук и сую куда ни попади теперь.
• SAMSUNG K9K8G08U0B PIB0 - NAND-флеш память на 1ГБ, изъятая то ли из плеера, то ли откуда ещё.
• К142ЕН3Б - винрарный ☭ стабилизатор в золоте, на 3,3В для флешки.

Такая вот геттообразная ардуино отладочная плата. Она умеет общаться по программному SPI с дисплеем от Nokia 1616 (рекомендую всем паялам, в Art-GSM стоит копейки, лярвочка привезла 10 штук и я их распихиваю по устройствам), код вывода оптимизирован на ассемблер так, что инверсия бита порта CLK происходит в 1 такт, а значит заливка белым или чёрным экрана это не посылка двух байт на пиксел, а лишь ~16...20 тактов (+циклы с 8-битными счётчиками), что означает LCD CLS менее, чем за 400 мс при кварце 16 МГц. Плата также умеет выводить картинку прямо из UART (тот самый USB дисплей, но быстрее всего получается выводить картинку на LCD из флеш-памяти NAND. Заранее оптимизированная картинка о двух байтах на пиксел (RGB 5-6-5) залита постранично на флешку, остаётся только дёргать #RE (2 раз) и CLK (16 раз) и преобразовывать параллельную шину флешки в последовательную DATA дисплея. Никаких SD-карт! А также на этой плате можно вылизать методы низкоуровневого доступа к TSSOP-чипам памяти, алгоритмы шифрования, контрольные суммы и файловую систему для AVR.


И разумеется, после смены компа мне стало острейше не хватать LPT-порта на Winbond-чипе, не PCI-LPT, который с Win7x64 не то, что через InpOut, и DLPortIO плохо работает через CVAVR. Приходилось для заливки прошивки пользовать старую машину по RDP, а это лишний шум и геморрой. Вот тут бы и обратиться к идеологии прошивки по USB Arduino, только без дикой для белого человека Arduino IDE. А чтобы в нормальном таком ассемблероподобном BASCOM-AVR от MCS Electronics.


Написано много слов в интернетах, что BASCOM-AVR умеет программировать как через STK200, также как и через USB ASP (руки дойдут однажды:)), так и через их AVR USB-загрузчик MCS Bootloader. Но вот же в чём беда, что по схеме аппаратная UART пара RX-TX висит у меня на шине данных к NAND флешке, и общение ATMega с CH340G происходит через Software UART, а загрузчик для компактности написан под аппаратный UART. Ну, MCS приложили исходник загрузчика BootLoader_m328.bas, который нагуглить та ещё проблема.


Как выяснилось из чтения мануалов и форумов, загрузчик ни что иное, как кусок кода, который при использовании метауказаний компилятору $loader $loadersize размещается в конце области памяти контроллера по дальним адресам типа $3c00, $3800, $3f00, $3e00 (для ATMega328) и при помощи фьюзов BOOTRST, BOOTSZ0...BOOTSZ1 выставляется первичное действие контроллера (адрес прыжка) к этому загрузчику, который, например, ожидает по UART байт 123 или иной другой, чтобы начать запись прошивки, побайтно SPM-LPM командами принимая её из UART. Если же байт 123 или иной другой не приходит, прыгаем на адрес $0000, где по идее лежит основная программа. Размер основной программы, при наличии загрузчика в контроллере, ограничивается 30КБ, на 2КБ меньше.


Мой модифицированный загрузчик MCS для ATMega328 занял порядка 1024 слова (2 КБ), это много по меркам памяти контроллера, однако что поделать (жертвы), посему шить его надо по адресу $3c00, соответсвенно ему и выставляем фьюзы в CVAVR.


Бац, и ниxyя не работает. Ну, загрузчик прошивается в конец, даже работает, соединяется с BASCOM на скорости 115200, пишет отладочное приветствие "LDR", происходит запись принятой прошивки (основная программа на BASCOM-AVR или AVR-ASM, где метадирективой $loadersize=1024 указывается размер загрузчика, который не затереть бы...), прошивка стартует, выполняется цикл (общение по UART с прогой на ПК), но... Жмём RESET, и нет приветствия "LDR", что говорит о том, что загрузчик не запустился повторно с $3c00, а происходит запуск основного куска кода с $0000.


Фьюзы загрузчика в CVAVR, которые не влияют на результат по неведомым причинам

Проебшись 4 месяца набегами, перебрав все возможные комбинации фьюзов, таки наступил прогресс: сначала нажав кнопку Program All, зашил через CVAVR какие-то ещё ЗАПОВЕДНЫЕ БАЙТЫ, о которых в диалоговом окне ни слова, и загрузчик перестал шить SPM-ом вообще, и это были не LOCK-биты, а какая-то неведомая хepь. Хотя визуально всё оставалось на местах (зашитые фьюзы читались и чекбоксы ставились), это не был глюк CVAVR или битый чип Atmel. Просто фьюзы не зашивались, и на адресе $0000 были значения FFFF, которые пропускались как NOP контроллером и в итоге первый раз всегда запускался загрузчик, когда счётчик команд доходил до $3c00.


Корректные фьюзы в BASCOM-AVR

И только прочитав, что иногда PonyProg шьёт неверно фьюзы, я решил попробовать шить фьюзы не CVAVR, а STK200 BASCOM-AVR. И вуаля, вот оно счастье! CodeVision AVR тоже в помойку, как и PonyProg, за неправильные фьюзы! Надо выставлять в BASCOM-AVR следующие биты:


• Fusebit High DE 01:Bootsize 1024 words
• Fusebit F 0:Select BOOT vector

Ну, умный разберётся, дурак не полезет, короче из всех программаторов наибольшую верность заслуживает BASCOM-AVR.


Также была реализована следующая фича: любой Arduino просит жать RESET чтобы войти в загрузчик ручками, хотя люди с AVRProject пишут, что можно сигнал квитирования DTR (который COM-мыши пользовали для питания) подключить к ноге RESET контроллера, и перезагружать контроллер без участия кнопки. Проверено - RESET via DTR работает и штатно поддерживается MCS Bootloader / Programmer даже через мост CH340G.


Днём и ночью Nokia 1616 (640x621, 105Kb)

Это означает, что теперь я смогу зашить таким образом контроллер станка и апдейтить прошивку онлайн. Также, что я таки рожу более портативный девайс, который без геморроя прошивать можно будет.


Из минусов прошивки по USB/UART:


- нет возможности шить фьюзы и локбиты, что ограничивает манипуляции с частотами и делителями частот, watchdog и т.д., но и нет возможности сделать контроллер кирпичём.


- вероятность сбоя ввиду бросков питания и наводок на линии UART повышаются. То есть случайность может передать "123" контроллеру, он войдёт в режим прошивки, а вместо байтов прошивки на ножку UART будет прилетать эфирный мусор, и контроллер зашьёт его. А вы думали, как так может быть, чтобы в телефонах и иных устройствах от падения слетает прошивка? Да очень просто: BGA-шарик перестаёт контачить или замыкается в 0 с дребезгом, что приводит устройство в неработоспосоность.




А теперь несколько мыслей около.


Раз уж AVR на гарвардской архитектуре, обладает малым объёмом ОЗУ, и приниципиально не хочет выполнять код, взятый из ОЗУ, а люди иссохшишь по свободе 8085 и Z80 изгаляются, вляпывая в эти немощные контроллеры интерпретатор бейсика TinyBasic и вообще Linux запускают, то почему бы свой вариант изврата не предложить?


Да, все эти интерпретаторы недоязыков это здорово, но сразу же встаёт вопрос аппаратной платформы, терминала, ввода-вывода, а это уже ограничение возможностей вплоть до превращения многоногого ATMega в интерпретатор ему-же-подобного ассемблера... GW-BASIC. Это не наш путь. Так вот, волшебная штука этот ваш SPM - LDM, самопрограммирование AVR открывает широчайшие возможности по кастомизации кода во флеше, разве что вместо ОЗУ будет использоваться ФЛЕШ (ага, с его ограниченным ресурсом в 10000 циклов перезаписи). Для начала рисуем ОС, операционку в виде менюшки с возможностью выбора программы для заливки. Эту ОС запихиваем во внешний SPI Flash (3...4 ноги), как BIOS, затем рисуем загрузчик размером в 1024 слова, который при включении контроллера сначала шьёт в контроллер программу менюшки из SPI Flash, а уже менюшка может обращаться куда угодно, в т.ч. и к внешней памяти, SD-карте, UART и т.д., откуда можно взять прошивку любой кастомной программы, тетрис и иные утилитки, и уже вот эта менюшка шьёт на своё место или даёт указание загрузчику через EEPROM или состоянием физического переключателя зашить не себя (менюшку), а вот эту кастомную прогу. Опять же, кастомный переключатель, отвечающий за то, чтобы в контроллере не поселилась навсегда игрушка вместо менюшки, должен быть аппаратным, как кнопка RESET на персональных компьютерах эпохи IBM PC XT, ибо из DIGGER и ALLEY CAT нет другого выхода.


А ещё загрузчиком можно реализовать ликвидацию как прошивки в контроллере для защиты от вскрытия устройства, так и самого устройства, подав питание через умножитель напряжения...


Да вообще полезная возможность.

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Восстановление 1С базы после форматирования

Среда, 26 Апреля 2017 г. 13:04 (ссылка)

Люди в погоне за комфортными для них условиями работы зачастую не задумываются о безопасности и сохранности своих данных и рано или поздно сталкиваются с вопросами их утраты. Рассмотрим обращение клиента с USB Flash 2Gb Transcend. Со слов клиента, в один из дней при установке накопителя в USB порт компьютера было предложено ее отформатировать. Как утверждает клиент, он отказался от этого и обратился за помощью к системному администратору. Системный администратор, обнаружив, что при подключении USB накопителя «подвешивается» компьютер, не придумал ничего лучшего, чем согласиться с предложением операционной системы отформатировать его (никогда этого не делайте!). Далее системный администратор использовал популярную программу автоматического восстановления R-Studio. Результат ее работы в виде безымянных папок был скопирован клиенту на другой накопитель. При просмотре результата клиент обнаружил, что около четверти файлов не могут быть открыты и, что хуже всего, 1С Бухгалтерия 7.7 отказывалась запускаться с восстановленной базой, ссылаясь на отсутствие файлов.





рис. 1



Как выяснилось, резервная копия данной базы у клиента более, чем годовой давности.





Первый этап в решении подобных задач – это создание поблочной копии оригинального накопителя (или как принято писать со времен, когда носителями были только накопители на гибких и жестких магнитных дисках – посекторной). При вычитывании обнаруживается нестабильная скорость чтения, что говорит о серьезном износе NAND памяти (многократное чтение NAND контроллером страниц NAND памяти и коррекция ошибок за счет избыточности кодов коррекции ошибок (ECC) весьма ресурсоемкая операции, что в итоге влияет на скорость чтения). При наличии непрочитанных участков необходимо заполнить их паттерном, который в дальнейшем нам поможет идентифицировать файлы, которые не были вычитаны целиком.



Далее приступаем к анализу. Необходимо установить, какая файловая система и в каких границах ранее была на USB flash. То есть, необходимо выполнить поиск регулярных выражений, характерных для различных метаданных файловых систем, но прежде, чем его начать, проверим простой вариант, который подразумевает, что границы разделов прежние. Для этого установим текущие параметры файловой системы.

Открываем LBA 0 (0x0 в файле образе) и проверяем там наличие таблицы разделов, либо наличие Boot сектора файловой системы.





рис. 2



В нашем случае видим по смещению 0x1C2 типа раздела 0x0B, означающее, что на данный момент на USB накопителе есть раздел FAT32, который начинается с 0x80 сектора (DWORD по смещению 0x1C6), длиной 0x003C2000 секторов (DWORD по смещению 0x1CA). Переходим к boot сектору описанного раздела в сектор 0x80 (в файле образа байтах 0x10000)





рис. 3



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

Для этого нам нужны следующие параметры, описанные в boot секторе (будут указаны в виде смещения от начала сектора): размер сектора по смещению 0x0B — 0x200 (512 байт), количество секторов в кластере по смещению 0x0D — 0x08, размер кластера получается посредством перемножения размера сектора на количество секторов в кластере 0x08*0x0200=0x1000 (4096 байт), количество зарезервированных секторов до первой копии таблиц FAT — по смещению 0x0E=0x01FE (510 секторов), количество копий FAT — по смещению 0x10=0x02, размер одной копии FAT — по смещению 0x24=00000F01 (3841 секторов). Используя полученные параметры, произведем расчет положения начала области данных: 0x10000+0x01FE*200+0x00000F01*2*200=0x410000 (8320 сектор). Небольшой подвох от создателей FAT32 заключается в том, что на данный момент мы рассчитали начало области данных для раздела FAT32, но оно не является нулевой точкой отсчета, так как первые две записи в FAT таблице зарезервированы и не используются по прямому назначению, в связи с чем нулевой точкой принимается начало области данных за минусом 2 кластеров. В данном случае это будет 0x410000-0x1000*2=0x40E000 (8318 сектор)

Выполним проверку на предмет отсутствия записей в таблице размещения файлов и проведем процедуру сравнения копий на предмет разночтений.





Рис. 4



Сравнение копий FAT показало, что разночтения отсутствуют. Анализ содержимого одной из копий FAT показал, что согласно таблицы на разделе заполнен только один кластер.

Далее необходимо оценить корневой каталог на предмет удаленных записей. Позиция первого кластера корневого каталога указывается в boot сектор по смещению 0x2C=0x00000002. Для второго кластера в FAT указано FF FF FF 0F, что означает конец цепочки, то есть корневой каталог состоит из одного кластера.





рис. 5



По адресу, рассчитанному выше, мы видим корневую директорию (корневой каталог), в которой содержится единственная 32-байтная запись. По смещению 0x0B мы видим значение 0x08, которое указывает на тип записи – метка тома. Тот факт, что таблицы размещения файлов заполнены нулями, и в корневом каталоге нет намека на какие-либо иные записи, говорит о том, что данный раздел был отформатирован.



Для проверки предположения о том, что раздел не пересоздавался и все параметры файловой системы корректны, необходимо произвести поиск регулярного выражения 0x2E 0x2E 0x20 0x20 0x20 0x20 0x20 0x20 со смещением внутри сектора 0x20 (данное выражение признак начала директории FAT32).





рис. 6



При нахождении регулярного выражения необходимо удостовериться, что это действительно директория, по иным признакам, так как в некоторых случаях возможно совпадение и найденное регулярное выражение не является элементом директории. Согласно информации на рис. 6, можно сказать, что данная директория начиналась с 3 кластера (номер текущего кластера директории DWORD содержится в WORD по смещению 0x1A (младшая часть) и WORD по смещению 0x14 (старшая часть)) и описывалась в корневом каталоге, так как по смещениям 0x3A и 0x34 содержатся нули (начальный кластер родительской директории). Проверим, соответствует ли номер кластера данной директории нулевой точке отсчета файловой системы, созданной после форматирования. Для этого номер кластера директории умножим на размер текущего кластера и прибавим к нулевой точке 0x03*0x1000+0x40E000=0x411000. Как видим, расчетный адрес соответствует фактическому нахождению. Установить имя данной директории возможно только в случае, если ранее корневой каталог состоял более, чем из одного кластера, и ссылка на данную директорию была не в первом кластере, так как содержимое первого кластера при форматировании было полностью уничтожено вместе с таблицами размещения файлов.



Далее продолжим поиск регулярного выражения 0x2E 0x2E 0x20 0x20 0x20 0x20 0x20 0x20 со смещением внутри сектора 0x20.





рис. 7



Повторяем все проверки: 0x04*0x1000+0x40E000=0x412000. Снова видим соответствие положения директории параметрам текущей файловой системы. Но, кроме этого, видим, что есть номер кластера родительской директории 0x03, что говорит о том, что данная директория была вложенной, и взглянув на рис. 6, можно установить имя директории, которая изображена на рис. 7. Итак, согласно рис. 6, по смещению 0x4B видим значение 0x10 — это означает, что данная запись указывает на директорию, а по смещениям 0x5A и 0x54 число 0x00000004 – указатель на 4-й кластер. По смещению 0x40 – имя директории «BIN». Именно таким образом устанавливается взаимосвязь директорий в поврежденном FAT разделе. После выполнения еще некоторого числа проверок директорий в разных участках образа можно сделать окончательный вывод о том, что на данном накопителе состоялось форматирование в границах предшествующей файловой системы и параметры вновь созданной файловой системы унаследованы от предыдущей, то есть дальнейшие аналитические операции нужно проводить в рамках раздела, описанного в таблице разделов с учетом параметров текущей файловой системы.



Зная, что 1С база, состоящая из DBF файлов, должна содержать файл конфигурации 1CV7.MD, выполним поиск последовательности 0x31 0x43 0x56 0x37 0x20 0x20 0x20 0x20 0x4D 0x44. Для того, чтобы уменьшить количество заведомо ложных результатов, поиск лучше выполнять в рамках 32-байтных блоков с нулевым смещением.





Рис. 8



Таким образом, находим все директории, содержащие в себе указатель на файл 1CV7.MD. В нашем случае обнаружилась только одна такая директория, что позволяет предполагать, что мы нашли первый кластер необходимой директории. Далее следует анализ положения родительских директорий, вплоть до корневой директории. Каждая найденная директория прописывается в таблицу FAT (сначала как директория из одного кластера, посредством записи FF FF FF 0F для соответствующего элемента таблицы). Также в корневой директории прописывается ссылка на дочерний объект.



На текущем этапе мы выполним копирование найденных файлов с предположением об их непрерывности, так как обе копии FAT не содержат информации о фрагментации (напомним, что они были безвозвратно уничтожены системным администратором в результате необдуманного форматирования USB flash). После копирования директории 1С базы анализируем количество файлов. Учитывая, что фрагмент директории был размером в один кластер, то извлекли мы не более 126 файлов, что явно намного меньше, чем должно быть в директории с DBF и CDX файлами, относящимися к 1С базе. Примерно такой же результат выдадут программы автоматического восстановления, о чем свидетельствует результат, полученный системным администратором посредством использования R-Studio.



Среди извлеченных файлов есть 1CV7.MD (файл конфигурации) и 1СV7.DD (файл словаря данных). После выполнения проверки целостности создадим у себя на диске временную папку, куда поместим 1CV7.MD. Укажем данный путь при добавлении новой базы и откроем конфигуратор, посредством которого создадим чистую базу на основании этой конфигурации. Сравним сформированный DD файл с восстановленным, если описания и количество справочников идентичны, то никаких дополнительных действий не требуется, и, имея полный список файлов, можно приступать к поиску остальных фрагментов директории 1С базы. Для этого необходимо осуществить поиск последовательностей из ASCII кодов символов, используемых в именах недостающих DBF файлов. По мере обнаружения фрагментов директории дописывать в таблицу размещения файлов продолжение цепочки. После каждой операции дополнения цепочки директории выполнять копирование файлов и анализировать, насколько сократилась количество недостающих DBF файлов, и вновь формировать последовательность ASCII кодов символов для поиска следующего фрагмента.





рис. 9



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

В данном случае выполнив поиск 5 последовательностей удалось найти все остальные фрагменты директории с базой 1С.



После того, как построена полная цепочка фрагментов директории, выполняем повторное копирование уже всех файлов 1С базы с предположением об их непрерывности. Пользовательская информация содержится в DBF файлах, поэтому необходимо проверить их целостность.



Основной метод контроля целостности DBF файла – это проверка информации, содержащейся в служебном заголовке и соответствует ли содержимое файла описанию в заголовке.





рис. 10



Первоначально проводится оценка заголовка: проверяется его длина, указанная по смещению 0x08, приводит ли указанное в нем смещение на конечный маркер 0x0D. Записи полей базы, начиная со смещения 0x20, описываются 32-байтовыми записями, в которых по смещению 0x00 следует имя поля, по смещению 0x0B тип поля, по смещению 0x10 – размер поля. Сумма размеров полей +1 (один дополнительный байт для каждой записи в базе является статусом записи в DBF) должна равняться содержимому по смещению 0x0A (размер одной записи в базе). На рисунке DBF файлы мы видим следующие длины полей: 0x09+0x10+0x10+0x10+0x10+0x10+0x01=0x5A. Проведем проверку корректности размера файла. Для этого выполняем умножение количества записей, которое указано в заголовке по смещению 0x04 на размер одной записи в базе по смещению 0x0A с последующим сложением с содержимым по смещению 0x08. 0x00000003*0x005A+0xE1=0x01EF. По полученному смещению должен находиться маркер окончания файла 0x1A.

Для контроля целостности содержимого полей можно использовать визуальный метод.





рис. 11



В таком вариант просмотра нужно пролистывать содержимое записей от начала и до конца. В случае если заполнение однородное, в каждом поле располагаются типы данных, характерные для описанного в заголовке и инородного содержимого нет, то по завершении просмотра DBF файла можно сделать вывод о корректности его содержимого.



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





Рис. 12



Исходя из описания полей в заголовке и содержимого конкретного DBF файла, можно формировать предположительные ASCII последовательности, которые должны находиться по заданным смещениями в недостающих фрагментах. При отсутствии однотипных баз на одном из накопителей (в том числе и файловых копий одной и той же базы) такой метод позволит относительно быстро найти все недостающие фрагменты в образе накопителя. Отдельно отметим, что возникнут дополнительные сложности в стыковке фрагментов, если размер записи в DBF файле маленький или кратен 16. При наличии иных однотипных баз задача будет многократно усложнена (это утверждение справедливо на всех этапах работ, начиная с поиска фрагментов нужной директории).



Необходимо проверить целостность каждого DBF файла, коих в одной 1С базе несколько сотен. По прохождении всех проверок и сборов фрагментов файлов последует финальная проверка в конфигураторе 1С Предприятия.





рис. 13



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



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

Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/327414/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_novate

Лайфхак: 10 ценных изобретений для людей, у которых всегда мерзнут руки

Среда, 26 Апреля 2017 г. 10:14 (ссылка)




Многие люди сталкиваются с проблемой холодных рук. Причём, как правило, руки мёрзнут независимо от погоды и температуры окружающей среды. Сидишь за компьютером или пишешь конспект, за окном лето, а тебе так и хочется натянуть на руки варежки. В этом обзоре собраны необычные изобретения для людей, которые сталкиваются с этой проблемой.

Подробнее..

http://www.novate.ru/blogs/260417/41053/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
eovw

Без заголовка

Суббота, 15 Апреля 2017 г. 04:40 (ссылка)

Usb программатор в Волгограде - https://vk.com/page-129469175_54616938

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
nucoleoo9

Без заголовка

Пятница, 15 Апреля 2017 г. 00:18 (ссылка)

Usb осциллограф купить в Волгограде - https://vk.com/page-129469175_54624555

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<usb - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda