11 ноября 2019

Структура и название таблиц использыемых для хранения данных в БД 1С 8.х

Данные, которые определяют логику функционирования системы на базе 1С:Предприятия, относятся к информационной базе. Хранение информационной базы осуществляется в базе данных с виде набора таблиц, для чего 1С:Предприятие 8.1 может использовать одну из четырех систем управления базами данных (СУБД):
* Встроенную в 1С:Предприятие 8.1 (файловый вариант информационной базы). В этом случае все данные информационной базы хранятся в файле с именем 1Cv8.1CD. Этот файл имеет двоичный формат и по сути является базой данных для встроенной в 1С:Предприятие 8.1 СУБД.
* Microsoft SQL Server (клиент-серверный вариант информационной базы). Все данные информационной базы хранятся в базе данных Microsoft SQL Server.
* PostgreSQL (клиент-серверный вариант информационной базы). Все данные информационной базы хранятся в базе данных PostgreSQL.
* IBM DB2 (клиент-серверный вариант информационной базы). Все данные информационной базы хранятся в базе данных IBM DB2.

На уровне объектов базы данных (таблиц, полей, индексов и т. п.) как файловый так и клиент-серверный вариант информационной базы имеют сходный формат (отличающийся несущественными деталями). Некоторая информация об этом формате содержится ниже.

Вся информационная база представляется в базе данных в виде набора таблиц. Среди них есть несколько таблиц, которые обязательно присутствуют в представлении любой информационной базы:

* Config - основная конфигурация информационной базы. Эта конфигурация соответствует реальной структуре данных и используется 1С:Предприятием 8.0 в режиме Предприятия.
* ConfigSave - конфигурация, редактируемая Конфигуратором. Конфигурация из ConfigSave переписывается в Config при выполнении "Обновления конфигурации базы данных" в Конфигураторе, а наоборот - при выполнении в Конфигураторе операции "Конфигурация - Конфигурация базы данных - Вернуться к конфигурации БД".
* Files содержит служебную информацию, например, о работе с хранилищем конфигурации.
* Params содержит параметры информационной базы. Среди них:
=> Список пользователей информационной базы.
=> Национальные настройки информационной базы.
=> Таблица соответствия объектов метаданных и объектов базы данных (таблиц, полей, индексов).
=> Некоторая другая информация.
* _YearOffset - смещение дат в базе данных. Эта таблица создается только при использовании Microsoft SQL Server.
* DBSchema содержит информацию о структуре базы данных 1С:Предприятия и определяет другие объекты базы данных, используемые данной информационной базой.

При старте 1С:Предприятие проверяет наличие в информационной базе перечисленных таблиц и в случае отсутствия какой-нибудь из них выдается сообщение "информационная база разрушена". Отсутствие всех перечисленных таблиц означает, что информационная база пустая. В последнем случае эти таблицы будут созданы.

Перечень и структура других таблиц базы данных определяется конкретной конфигурацией, а именно, определенными в ней объектами метаданных. Имя каждой таблицы состоит из буквенного префикса и следующего за ним номера. Префикс определяет назначение таблицы, а номер позволяет различать таблицы одинакового назначения, относящиеся к разным объектам метаданных. Если в качестве СУБД используется IBM DB2, то описанную структуру имеют не имена таблиц, а их псевдонимы.

Если в конфигурации определен хотя бы один план обмена с установленным флагом "Распределенная информационная база", то будут созданы следующие таблицы:

* _ConfigChangeRec - таблица регистрации изменений объектов конфигурации.
* _ConfigChangeRec_ExtProps - таблица имен файлов измененных внешних свойств объектов конфигурации.

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

* Константы
=> _Consts содержит текущие значения всех констант, определенных в конфигурации.
=> _ConstsChangeRec - таблица регистрации изменений констант. Создается, если хотя бы одна константа участвует хотя бы в одном плане обмена.
* Планы обмена
=> _Node<n> - таблица плана обмена.
=> _Node<n>_VT<k> - табличная часть плана обмена, создается для каждой табличной части.
* Справочники
=> _Reference<n> - таблица справочника.
=> _Reference<n>_VT<k> - табличная часть справочника - для каждой табличной части.
=> _ReferenceChangeRec<n> - таблица регистрации изменений справочника. Создается, если справочник участвует хотя бы в одном плане обмена.
* Документы
=> _Document<n> - таблица документов для каждого объекта метаданных "документ".
=> _Document<n>_VT<k> - табличная часть документа - для каждой табличной части каждого документа.
=> _DocumentChangeRec<n> - таблица регистрации изменений объекта метаданных типа "документ". Создается для каждого объекта метаданных типа "документ", если он участвует хотя бы в одном плане обмена.
* Последовательности документов
=> _Sequence<n> - таблица регистрации документов - для каждой последовательности.
=> _SequenceBoundary<n> - таблица границ последовательности - для каждой последовательности.
=> _SequenceChangeRec<n> - таблица регистрации изменений последовательности. Создается для каждой последовательности, которая участвует хотя бы в одном плане обмена.
* Журналы документов.
=> _DocumentJournal<n> - таблица журнала документов, создается для каждого журнала документов.
* Перечисления
=> _Enum<n> - таблица перечисления - по одной для каждого перечисления.
* Планы видов характеристик
=> _Chrc<n> - основная таблица плана видов характеристик.
=> _Chrc<n>_VT<k> - табличная часть плана видов характеристик - для каждой табличной части.
=> _ChrcChangeRec<n> - таблица регистрации изменений плана видов характеристик. Создается, если план видов характеристик участвует хотя бы в одном плане обмена.
* Планы счетов
=> _Acc<n> - основная таблица плана счетов.
=> _Acc<n>_ExtDim<k> - таблица видов субконто плана счетов, создается для плана счетов в том случае, если максимальное количество субконто больше нуля.
=> _Acc<n>_VT<k> - табличная часть плана счетов, создается для каждой табличной части плана счетов.
=> _AccChangeRec<n> - таблица регистрации изменений плана счетов. Создается, если план счетов участвует хотя бы в одном плане обмена.
* Планы видов расчета
=> _CalcKind<n> - основная таблица плана видов расчета.
=> _CalcKind<n>_BaseCK - таблица базовых видов расчета, создается для плана видов расчета в случае, если его свойство "Зависимость от базы" имеет значение, отличное от "Не зависит".
=> _CalcKind<n>_DisplacedCK - таблица вытесняемых видов расчета, создается для плана видов расчета в случае, если у него установлен флаг "Использует период действия".
=> _CalcKind<n>_LeadingCK - таблица ведущих видов расчета - для каждого плана видов расчета.
=> _CalcKindDN<n> - вспомогательная таблица для порядка вытеснения, создается, если у плана видов расчета установлен флаг "Использует период действия".
=> _CalcKind<n>_VT<k> - табличная часть плана видов расчета, создается для каждой табличной части.
=> _CalcKindChangeRec<n> - таблица регистрации изменений плана видов расчета. Создается, если план видов расчета участвует хотя бы в одном плане обмена.
* Регистры сведений
=> _InfoReg<n> - таблица движений регистра сведений.
=> _InfoRegChangeRec<n> - таблица регистрации изменений регистра сведений. Создается, если регистр сведений участвует хотя бы в одном плане обмена.
* Регистры накопления
=> _AccumReg<n> - таблица движений регистра накопления.
=> _AccumRegTotals<n> - таблица итогов регистра накопления, если регистр поддерживает остатки.
=> _AccumRegTurnovers<n> - таблица оборотов регистра накопления, если регистр поддерживает обороты.
=> _AccumRegChangeRec<n> - таблица регистрации изменений регистра накопления. Создается, если регистр накопления участвует хотя бы в одном плане обмена.
=> _AccumRegOptions - таблица настроек хранения итогов регистров накопления одна на все регистры накопления.
* Регистры бухгалтерии
=> _AccntReg<n> - таблица движений регистра бухгалтерии.
=> _AccntRegED<n> - таблица значений субконто регистра бухгалтерии, создается в том случае, если он ссылается на план счетов, у которого максимальное количество субконто больше нуля.
=> _AccTtl0<n> - таблица итогов по счету.
=> _AccTtl<i><n> - где i от 1 до максимального количества субконто. Таблица итогов по счету с количеством видов субконто равным i.
=> _AccTtlC<n> - таблица итогов оборотов между счетами, только для регистра бухгалтерии поддерживающего корреспонденцию.
=> _AccntRegChangeRec<n> - таблица регистрации изменений регистра бухгалтерии. Создается, если регистр бухгалтерии участвует хотя бы в одном плане обмена.
=> _AccntRegOptions - таблица настроек хранения итогов одна на все регистры бухгалтерии.
* Регистры расчета
=> _CalcReg<n> - таблица движений регистра расчета.
=> _CalcRegActPer<n> - таблица фактических периодов действия для регистра расчета, создается, если у регистра расчета установлен флаг "Период действия".
=> _CalcRegChangeRec<n> - таблица регистрации изменений регистра расчета. Создается для каждого регистра расчета, участвующего хотя бы в одном плане обмена.
=> _CalcRegRecalc<n> - таблица перерасчета регистра расчета, создается для каждого перерасчета.
=> _CalcRegRecalcChangeRec<n> - таблица регистрации изменений перерасчета. Создается, если перерасчет участвует хотя бы в одном плане обмена.
* Бизнес-процессы
=> _BPRoutePoint<n> - таблица точек маршрута бизнес-процесса для каждого бизнес-процесса.
=> _BusinessProcess<n> - основная таблица бизнес-процесса.
=> _BusinessProcess<n>_VT<k> - табличная часть бизнес-процесса для каждой табличной части.
=> _BusinessProcessChangeRec<n> - таблица регистрации изменений бизнес-процесса. Создается для каждого бизнес-процесса, участвующего хотя бы в одном плане обмена.
* Задачи
=> _Task<n> - основная таблица задачи.
=> _Task<n>_VT<k> - табличная часть задачи для каждой табличной части.
=> _TaskChangeRec<n> - таблица регистрации изменений в задачах. Создается для каждого объекта метаданных типа "задача", который участвует хотя бы в одном плане обмена.

При использовании IBM DB2 префиксы псевдонимов таблиц начинаются не с символа подчеркивания, а сразу с буквенной части.

Количество этих таблиц зависит от функциональности конфигурации и может быть достаточно большим. В штатном режиме 1С:Предприятие не выполняет проверку их наличия, а также целостности и непротиворечивости содержащихся в них данных. Поэтому важно, чтобы база данных, в которой размещена информационная база 1С:Предприятия 8.1, была защищена от несанкционированного доступа и ее модификация выполнялась только средствами 1С:Предприятия. Для проверки необходимо использовать функцию "Администрирование - Тестирование и исправление", встроенную в конфигуратор.

Важно также, чтобы резервное копирование и восстановление базы данных, хранящей информационную базу, выполнялось только целиком. С этой целью рекомендуется использование средств резервного копирования баз данных, встроенных в в используемую СУБД. Резервное сохранение файлового варианта информационной базы может быть выполнено копированием файла 1Cv8.1CD.

В конфигураторе есть специальная функция: Администрирование - Выгрузить информационную базу. С ее помощью можно выгрузить в указанный файл (файл выгрузки) все данные, относящиеся к информационной базе, и больше никакие. Обратная ей функция "Загрузить информационную базу" позволяет в текущую информационную базу вместо существующих загрузить все данные из файла выгрузки. Эти функции также можно использовать для резервного копирования данных информационной базы как в файловом так и в клиент-серверном варианте.

Как просмотреть структуру таблиц информационной базы?

В данном примере получается структура таблиц справочника Номенклатура (в общем случае с этим объектом может быть связано несколько таблиц):
Код 1C v 8.х
 МассивИменМетаданных = Новый Массив();
МассивИменМетаданных.Добавить("Справочник.Номенклатура");
 
// Таблица значений, содержащая таблицы указанного объекта.
Таблицы = ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных);

Для Каждого Таблица Из Таблицы Цикл

 ПоляТаблицы = Таблица.Поля;

 Для Каждого Поле Из ПоляТаблицы Цикл

  // Просмотр свойств поля.

 КонецЦикла; 
  
 ИндексыТаблицы = Таблица.Индексы;

 Для Каждого Индекс Из ИндексыТаблицы Цикл

  // Просмотр свойств индекса.

 КонецЦикла;   
КонецЦикла;    

ПолучитьСтруктуруХраненияБазыДанных - возвращает таблицу значений с описаниями структуры таблиц, индексов и полей базы данных в терминах SDBL или используемой СУБД (MS SQL, PostgreSQL, IBM DB2)
Возможность получения структуры хранения базы данных может использоваться для выполнения административных действий. Информация о структуре хранения базы данных не должна применяться для реализации какой-либо части прикладной функциональности, а только для административных задач обслуживания базы данных и анализа записей технологического журнала.
https://helpf.pro/faq/view/673.htm

28 октября 2019

Проброс COM портов через TCP/IP с помощью Virtual Serial Ports Emulator (Windows)

Проброс COM портов через TCP/IP с помощью Virtual Serial Ports Emulator (Windows) от компании Eterlogic . Простой пример настройки. Альтернатива стандартному маппингу com портов средствами Windows через RDP.
Всем доброго времени суток.
Столкнулся с проблемой плохой стабильности маппинга com портов через RDP. Казалось бы, все должно работать замечательно, к тому же у клиента всего 4 магазина, стабильный интернет (как на сервере, так и на точках). Но к сожалению, работало все крайне паршиво. Схема классическая, ут 10.3 на терминальном сервере и фискальные регистраторы на клиентах. Все стандартно, настроили фискальники и пробросили com порты стандартными средствами windows. Но работники магазинов стали часто жаловаться на зависания, не возможность пробить чек или на странные магические проблемы частичного пробития чека или страшного слова "Драйвер ФР не загружен". Все эта ситуация мне совершенно не нравилась, и я решил реализовать проброс com портов через интернет. Пришлось погуглить. Я нашел несколько решений, но самым лучшим для меня оказалось решение от компании Eterlogic программа Virtual Serial Ports Emulator (далее VSPE). Задуманную мной схему удалось сделать за пару дней (анализ, настройка, тестирование и боевой выход). 
Долго вести свое повествование я не буду. Все довольно просто и понятно. Есть несколько нюансов. Данный продукт бестлатный для Windows с архитектурой х86 и платный для х64.
Стоит $24.95 плюс коммисия магазина.
Программу я купил, но пользоватся версией для х64 можно и без ключа. Просто постоянно выскакивает предложение купить программу. Других ограничений (по времени работы или функционалу) я не увидел. Мне не нравилось постоянно выскакивающее сообщение о покупке и для пользователей это лишняя информации и лишнее действие по закрытию окошка. Купленный ключ можно использовать на нескольких копиях (как я понял неограниченно).
Петь дифирамбы о качестве и возможностях я не буду. Вся информация есть в интернете. Опишу свой пример настройки. 
Итак.
Дано:
  • 4 магазина
  • 4 фискальных регистратора
  • 4 кассовых компьютера
  • 1 сервер терминалов
Задача:
  • Пробросить com порты фискальных регистраторов через интернет.
Настройка VSPE на сервере.
Устанавливаем VSPE на сервер и запускаем (в настройках я выбрал русский язык). После нужно создать виртуальные порты (для каждой кассы свой порт). Номера портов лучше взять пониже, дабы избежать проблем. У нас 4 кассы, поэтому я создаю 4 виртуальных порта (29,30,31,32). Эти порты и будут указаны в настройках касс в 1С. Нажимаем на кнопку "создать новое устройство". Тип устройства "connector". 
Дальше указываем номер нашего нового виртуального порта
После жмем готово.
По аналогии создаем требуемое количество com портов. Идея в том, что этот виртуальный порт будет связывается с реальным com портом кассы магазина.
После мы должны определиться по с адресами. На магазинах у нас должны быть статические ip. Каждый виртуальный порт у нас станет tcp клиентом и будет подключатся к tcp серверу, который будет настроен на компьютере кассы магазина. Поэтому здесь нужно быть внимательным. Мы имеем 4 статических внешних адреса магазинов. Важно понимать, что просто подключится по ip мы не можем. Нужно указать порт tcp server. Продумать номер мы можем заранее. Я решил просто, номера портов складываются следующим образом. 
10хх - где хх номера виртуальных портов, которые будут подключаться к реальному com порту (tcp серверу). Каждый виртуальный порт я отнес соответственно магазину, как мне было удобно (т.е. com29 у меня магазин №1, com30 - магазин №2 и т.д.)
В итоге подучилось 4 адреса:
ххх.ххх.ххх.ххх:1029
ххх.ххх.ххх.ххх:1030
ххх.ххх.ххх.ххх:1031
ххх.ххх.ххх.ххх:1032
ххх.ххх.ххх.ххх - внешний статических адрес магазина. 
Важно продумать эти параметры, чтобы спокойно и удобно настраивать серверную часть.
Идем дальше. Настраиваем подключение tcp клиента. Добавляем новое подключение с типом "tcp client"
Далее
По аналогии делаем все виртуальные порты.
Дальше нужно сохранить наши подключения в файл. Нажимаем сохранить, указываем имя файла и путь.
Данный файл с подключением мы должны запускать при каждом старте Windows. Сделать это очень просто, нужно создать ярлык вида "C:\Program Files\Eterlogic.com\Virtual Serial Ports Emulator\VSPEmulator.exe" -minimize -hide_splash c:/****.vspe
c:/****.vspe - путь к сохраненному файлу. Созданный ярлык помещаем в автозагрузку пользователя (не стартанет если пользователь не зайдет в систему, как настроить службу написано в справке). Программа стартанет в трее.
Естественно клиентская часть у нас не настроена, соответственно созданные подключения tcp client будут ругаться и ждать инициализации. 
Результат настройки на сервере (статус "ОК", т.к. все уже настроено)
Настройка клиентской части.
Устанавливаем VSPE. Настраиваем. Здесь уже клиентская машина будет выступать в роли tcp сервера.
Добавляем новое подключение с типом "tcp server"
Жмем готово. Подключение создано. Нужно обязательно сохранить данное подключение. Нажимаем кнопку сохранить, указываем имя файла и выбираем путь. 
Данный файл с подключением мы должны запускать при каждом старте Windows. Сделать это очень просто, нужно создать ярлык вида "C:\Program Files\Eterlogic.com\Virtual Serial Ports Emulator\VSPEmulator.exe" -minimize -hide_splash c:/****.vspe
c:/****.vspe - путь к сохраненному файлу. Созданный ярлык помещаем в автозагрузку. Программа стартанет в трее.
Следующим шагом нужно на маршрутизаторе магазина сделать проброс.
192.168.х.х:10хх ->ххх.ххх.ххх.ххх:10хх (порты 10хх одинаковые).
После проброса все должно заработать. Статус соединения "ОК"
После меняем настройки 1С на наши виртуальные порты. Делаем тестирование.
P.S. Ваш голос будет лучшей благодарностью для меня.

25 октября 2019

1C начало

Можете также посмотреть видеоуроки Евгения Гилева и Фарида Насипова курс "1С Программист - Быстрый старт в профессию"(скачать) либо курс "Программирование в 1С 8.3 - за 21 день".(скачать)

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

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

Сканирование Win2012R2 terminal

И так для того что бы настроить пользователям сканирование на терминальной ферме, нам нужно создать новую коллекцию для сканирования, соответственно сервер должен быть на windows server 2012 или 2012 R2.
Далее нам нужно создать свои папки драйверов для сканеров, у меня использовались в основном МФУ компании HP, про другие модели не чего не скажу, ну думаю принцип тот же, поясню как создать свой драйвер пак для сканера HP LaserJet 1536 mfp.

1. Качаем полный набор драйверов с офф сайта для системы windows 8.1
2. Распаковываем его в ручную с помощью winrar например
3. Ищем INF файл отвечающий за установку сканера, в нашем примере это файлик hppasc16.inf, объясняю почему именно он, если его открыть то можно понять по строчке «HP LJ M1530 MFP Series Scan» что это INF файл связанный со сканером, но нас интересует в нем не эта строчка, а вот эта «vid_03f0&pid_012a&IP_SCAN», и из этого же файла можно понять какие dll и cab нам нужны для установки.
4. Так же находим программку «hpbniscan64.exe» ее можно использовать и для установке других моделей сканеров HP хотя в других драйверах я ее не нашел, она будет прикреплена к данной теме.
5. Теперь нам нужно составить строчку установки драйвера, выглядеть она будет так: «hpbniscan64.exe -f «hppasc16.inf» -m «vid_03f0&pid_012a&IP_SCAN» -a «192.168.1.229» -n 1″, да запускать CMD нужно с правами Администратора
6. Смотрим в диспетчере задач появления нового сканера, ура он там появился, теперь что бы пользователи не путались где чей сканер нам нужно его переименовать, это делается в реестре, я например брал и просто вбивал поиск данного IP сканера, он находил как правило это папочка с номером например «0001» выделяем ее и ищем параметр «DriverDesc» и «FriendlyName» и меняем их на понятные для пользователя названия, например «Сканер Иванова», перезагружаем сервер и воля все программы сканирования будут видит его как «Сканер Иванова»

P.S. Сталкнулся с МФУ 1214 долго не мог понять откуда выдрать «vid_03f0&pid_012a&IP_SCAN», так как перерыв все inf файлы такого не на рыл, но потом методом проб и ошибок выяснил, что для данной МФУ строчка выглядит так «WiaScanner.Scanner» так что дерзайте, все работает на ура пользаки рады)))))

ЗЫЗЫ:
WIA на Windows 2012 R2
Добрый день, коллеги!

Столкнулся с такой проблемой: не получается включить поддержку WIA(Windows Image Acquisition) в Windows 2012 R2
на серверах 2003-2008 всё решалось установкой расширений рабочего стола.
но с 2012 сервером всё не так. В нём есть расширение работы с мультимедиа. Установил его. Перезагрузился. wia по прежнему не доступна.

необходимо добавить компоненту "Возможности рабочего стола". после этого в системной папке появляется оснастка сканирования C:\Windows\System32\wiaacmgr.exe и WIA библиотеки. 

16 октября 2019

PgTune — настройка производительности PostgreSQL для заданной аппаратной конфигурации (онлайн версия)

Еще в 2008 году Грегори Смит создал хорошую утилиту pgtune. Основной задачей этой утилиты было помочь новичкам с начальной настройкой PostgreSQL. Утилита отличная, но обладает небольшими минусами:


  • Не обновляется с 2009 года (поэтому расчеты немного уже не актуальны стали)
  • Нужно скачивать или устанавливать с пакетов (не проблема, во многих Linux дистрибутивах она есть)


Поэтому я создал онлайн версию PgTune. Основные плюсы:

  • Обновлен подсчет конфига
  • Не нужно ничего ставить или качать
  • Работает в offline режиме, и из-за этого может использоваться как mobile app


При первой загрузке больше Вам не потребуется доступ к интернету (только за обновлениями), чтобы использовать утилиту. Реализовано это и использованием AppCache технологии. Что бы поставить её как приложение на мобильный, достаточно зайти в iOS Safari или Chrome Android и выбрать пункт меню «Добавить на рабочий стол».

Ну и самое главное — утилита Open Source.

В заключение, хочу предупредить, что данная утилита не является «серебряной пулей» в настройке и тюнинге PostgreSQL. Многие настройки зависят не только от аппаратной конфигурации, но и от размера базы данных, числа клиентов и сложности запросов, так что оптимально настроить базу данных возможно только учитывая все параметры системы и приложения (например учитывать, SSD диски и влезает ли база в память). Но надеюсь эта утилита поможет начать настройку PostgreSQL.

https://pgtune.leopard.in.ua/#/

07 октября 2019

SDXC

Для многих не секрет, что память своего Andrid-смартфона можно увеличить с помощью Micro SD карты. В данный момент эти карты делятся на три категории: Micro SD, Micro SDHC и Micro SDXC. В данной статье я не буду вдаваться в подробности каждого типа карт, т.к. данной информации достаточно в сети. Укажу лишь разницу принципиальную для нас. Карты Micro SD могут быть максимальным объёмом до 2 Гб, Micro SDHC от 4 Гб до 32 Гб (сейчас массово используются) и Micro SDXC от 64 Гб и до 2 Тб (теоретически, практически на данный момент есть карты 64 Гб и 128 Гб). Карты отличаются не только объёмом памяти, но и различными файловыми системами. Например Micro SD - система FAT, Micro SDHC - FAT32, Micro SDXC - теоретически только exFAT (на самом деле это не так, о чём ниже и пойдёт речь). К тому же устройство пользователя для чтения карт должно поддерживать определённый вид карт. Ситуация проста: если устройство поддерживает карты SDXC, то оно поддерживает и более ранние поколения - SD и SDHC.

В последнее время появилось достаточно много Micro SD карт объёмом 64 Гб, но увы пока большинство Android-смартфонов официально не поддерживают карты Micro SD объёмом больше 32 Гб. На самом деле смартфон в состоянии прочитать карту на 64 Гб и правильно работать с ней, если с картой перед установкой провести несложные действия. Все известные производители Micro SDXC карт изначально форматируют их в систему exFAT, поскольку именно эта система разработана для карт большого объёма. Поскольку эта система создана компанией Microsoft, производители Android-смартфонов должны выкупить права на её использование для того, чтобы смартфон умел работать с данной системой. Думаю вы понимаете, что компании пока неохотно идут на лишние затраты, а поэтому систему exFAT на картах памяти поддерживают очень немногие устройства, а работают они с системой FAT32. Многие уже догадались: чтобы ваш смартфон заработал с картой 64 Гб её всего лишь нужно отформатировать в систему FAT32. Но, оказывается, сделать это не совсем просто. Дело в том, что сама система FAT32 теоретически поддерживает только носители (карты, разделы и т.д.) только до 32 Гб, но на практике может очень неплохо работать с носителями до 64 Гб. Единственная проблема, с которой можно столкнуться при этом это небольшая потеря скорости при чтении/записи с карты, но она будет почти не заметна. Далее мы рассмотрим как ПРАВИЛЬНО отформатировать карту Micro SDXC в систему FAT32, чтобы смартфон, не поддерживающий данный тип карт, её увидел и карта НЕ ВЫШЛА ИЗ СТРОЯ СПУСТЯ НЕКОТОРОЕ ВРЕМЯ.

1. Карту SDXC МОЖНО ФОРМАТИРОВАТЬ ТОЛЬКО В УСТРОЙСТВЕ ПОДДЕРЖИВАЮЩЕМ ДАННЫЙ ТИП КАРТ. Т.е. ваш картридер должен поддерживать карты Micro SDXC (или SDXC, если вы вставляете карту через переходник). Во многих отзывах на сайтах магазинов можно увидеть отзывы, в которых пользователи форматируют карты на 64 Гб в смартфоне, поддерживающем карту только на 32 Гб, после чего карта через нескольк месяцев выходит из строя. Этого делать ни в коем случае нельзя! Иначе ваша карта выйдет из строя в срок от 1 дня до нескольких месяцев. Если у вас нет картридера, поддерживающего SDXC, его можно приобрести по цене от 250 рублей (например, прекрасный вариант картридер Transcend RDF5 (ссылка на официальный сайт)). По сравнению стоимстью карты это ничтожная сумма и очень маленькая цена за вашу "живую" карту и сохранённые данные.

Итак, форматируем карту SDXC ТОЛЬКО в устройстве поддерживающем SDXC.

2. Поскольку у большинства пользователей установлена на компьютере операционная система Windows, то рассмотрим вариант форматирования именно из неё. Если у вас операционная система Windows XP обзятельно установите на неё обновление, в котором имеется поддержка файловой системы exFAT. В Windows 7 и Windows 8 такая поддержка уже имеется.

3. Возможно, когда вы вставите новую карту в картридер, Windows выдаст сообщение, что карта не отформатирована. В этом случае сначала отформатирйте её утилитой SDFormatter (ссылка на официальный сайт программы) в систему exFAT. Я в любом случае рекомедую эту утилиту для форматирования вашей карты, если она не читается/читается некорректно. Данная программа форматирует карты SD/micro SD в соответствии со спецификацией.

4. Стандартным методом Windows отформатировать карту объёмом 64 Гб в файловую систему FAT32 не получится, поэтому мы будем использовать утилиту Guiformat.
[​IMG]

Программа специально предназначена для форматирования носителей больше 32 Гб в файловую систему FAT32. Если утилита выдаёт ошибку перед форматированием, выполняем пункт 3 (сначала форматируем программой SDFormatter), который всё же лучше выполнить обязательно. ВНИМАНИЕ! Чтобы смартфон корректно увидел Micro SDXC выбираем размер кластера 32 Кб! Лучше использовать быстрое форматирование (Quick), выполнять полное нет никакой необходимости.

5. Если вы всё выполнили строго в соответствии с вышеуказанными рекомендациями, то ваша карта готова. Ваш Android-смартфон её увидит и покажет правильный объём 59,XX Гб. С картой можно будет работать, записывать/считывать файлы, но НИКОГДА НЕ ФОРМАТИРУЙТЕ её в вашем смартфоне. Карта прослужит вам долгое время верой и правдой.



P.S. Я рекомендую использовать только утилиты, указанные в данной статье. В остальных случаях успешного результата может не получиться. Эксперимет проводился с картой Sandisk Micro SDXC 64 Гб и смартфоном Huawei Ascend D1 (U9500). Жду ваших отзывов, вопросов и результатов с другими картами и устройствами. Желаю вам хороших объёмов в вашем смартфоне!
 ___________________________________________________________________
##########################################
-----------------------------------------------------------------------------------------------------------------


Не многие знают, что микро СДшные флешки делятся на 3 категории.
1. microSD — максимальный объем до 2Гб
2. microSDHC — объем от 4 до 32 Гб
3. microSDXC -объем от 64Гб до 128Гб
Большинство современных девайсов могут переваривать microSDHC и microSD . Файловая структура на них FAT32. Флехи бОльшего объема, данные устройства по их ттх (тактико техническим характеристикам =)) ) переваривать не могут. Причина проста — их файловая структура exFAT. Сия структура (пардон за тафтологию) разработана майкрософтом. Для того, чтобы любой девайс читал сию структуру (снова тавтология блиадь…) компания производитель девайса должна выкупить у майкрософта права на нее, но, как всем понятно, большинству производителей класть на сие большой болт.
По этой причине многие ваши девайсы некорректно работают с флешками 64-128Гб. Более того, если данные флешки (64-128Гб) отформатировать в самом устройстве, то они помрут максимум в течении месяца. Единственный возможный вариант — отформатировать флешку в винде в файловой системе FAT32. Но и здесь кроется загвоздка — 64 и 128Гб флешки нельзя отформатировать стандартными средствами винды в системе FAT32.
Для этого нужны соответствующий картридер, который может работать с флешками microSDXC (например Transcend TS-RDF5K) и программа для формата — SDFormatter.
При форматировании флешки необходимо ставить размер кластера 32Кб. После формата при помощи всех вышеуказанных средств, флешки размером 64-128Гб будут безпроблемно читаться на вашем устройстве, т.к. их файловая структура меняется с exFAT на FAT32 . Даже, если в ттх написано, что девайс читает флехи до 32Гб. Т.е., если вы правильно выполнили все условия, то в 90% случаев ваше устройство благополучно будет писать и считывать инфу с флехи.
Привожу также статью, благодаря которой я подружил свой регик с картой в 64Гб.
Фся инфа изъята и пережевана для более адекватного усвоения. С немого согласия автора: videoregforum.ru/threads/…i-na-64gb.822/#post-24572
Спасибо, если освоили сие количество букафф. Удачи на дорогах!

PostgreSQL для 1С 8.3 - резервное копирование

В этой статье разберем оптимизацию работы с моментальным снимком отдельной базы 1С в кластере PostgreSQL средствами pg_dump.exe, pg_restore.exe, psql.exe в среде Windows Server 2008,2012,2016. А также разберем проблемные ситуации и неожиданные ограничения при работе 1С в связке с PostgreSQL. Для Linux все аналогично.

03 октября 2019

postgresql получен запрос на вежливое выключение

Бывает что после отключение питания на Linux серверах с 1С вообще ничего не запускается. База postgres поломана и кэш 1С тоже. Вот шаги как заново всё привести в рабочее состояние.

16 сентября 2019

Elastix (FreePBX, Asteriks) за NAT

  1. Настраиваем Elastix.
    Вносим изменения в файл sip_general_custom.conf:
    externip=10.20.30.40
    localnet=192.168.0.0/255.255.255.0
    nat=yes
    canreinvite=no
    registertimeout=20
    registerattempts=0
    maxexpiry=3600
    minexpiry=60

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

    При желании все эти настройки можно сделать через веб интерфейс используя Unembedded freePBX, но это не рекомендуется во избежании конфликтов.
  2. Настраиваем маршрутизатор
    Нам необходимо пробросить 5060 и 10000-20000 внешние udp порты на сервер Elastix. Для маршрутизаторов MikroTik будут такие правила:
    /ip firewall filter add action=accept chain=forward dst-address=192.168.0.10 dst-port=5060,10000-20000 protocol=udp in-interface=wan
    /ip firewall nat add action=dst-nat chain=dstnat dst-port=5060,10000-20000 in-interface=wan protocol=udp to-addresses=192.168.0.10
    где 192.168.0.10 адрес вашего Elastix сервера
    wan порт на маршрутизаторе к которому подключен интернет.
    Конечно с вашего Elastix должен быть настроен выход в интернет.

    Если вы сомневаетесь про порты 10000-20000, то откройте файл rtp.conf и посмотрите какие у вас порты указаны в настройках.
Данная настройка великолепно работает с sip телефонами которые имеют как прямой ip адрес, так и те, которые расположена также за NAT, при условии что промежуточные провайдеры не блокируют voip трафик. При этом в дополнительной настройки маршрутизатора со стороны клиента нет необходимости. Вам просто в клиенте надо указать внешний ip адрес вашего Elastix.
Но, для 100% надежности, я бы рекомендовал клиентов подключать через vpn, чтобы весь трафик был как бы  локальным.

09 сентября 2019

Отключение блокировки ГОСТ Р 34.10-2001 в КриптоПро CSP

Информация обновлена:
Отключение блокировки формирования электронной подписи по ГОСТ Р 34.10-2001 в КриптоПро возможно несколькими способами:
  1. Обновить КриптоПро до версии 4.0 R4 (сборка 9963). На сайте КриптоПро называют это «наиболее безболезненным путем». Сборка 9963 сертифицирована.
  2. Скачать небольшую программу с сайта КриптоПро и запустить от имени администратора. После установки перезапустить службу КриптоПро или перезагрузить компьютер.
  3. Править реестр руками. После правки реестра перезапускаем службу КриптоПро или перезагружаем компьютер.
  • В Windows старше XP\Server 2003 нужно создать в реестре параметры типа QWORD и установить ffffffffffffffff: Для 64-битных: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro\Cryptography\CurrentVersion\Parameters\forbid_time_sign_2001 Для 32-битных: HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Cryptography\CurrentVersion\Parameters\forbid_time_sign_2001
  •  В Windows XP\Server 2003 нужно создать в реестре параметры типа DWORD и установить ffffffff:Для 64-битных: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro\Cryptography\CurrentVersion\Parameters\forbid_time_sign_2001 Для 32-битных: HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Cryptography\CurrentVersion\Parameters\forbid_time_sign_2001
Важно! В КриптоПро 4.0 младше R3 (4.0.9944) перенос даты блокировки при включенном режиме усиленного контроля ключей не предусмотрен (включен режим или нет смотрим в КриптоПро на вкладке «Безопасность»).

31 января 2019

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

Хотите разрешить пользователям со стандартной учетной записью запускать приложения с правами администратора без UAC или запроса на ввод пароля? Тогда я расскажу, как сделать. Мы создадим ярлык, использующий команду runas /savecred, которая сохраняет пароль. Замечу, что это можно считать дырой в безопасности – обычный пользователь сможет использовать runas /savecred для выполнения любой команды от имени администратора без ввода пароля. Тем не менее, в некоторых ситуациях это может быть полезно – например, если вы хотите, что бы ваш ребенок из под стандартной учетной записи мог запускать приложения от имени администратора не спрашивая вас.
Создаем ярлык, который позволит обычным пользователям запускать приложение с правами администратора

Включаем учетную запись администратора

В первую очередь необходимо включить встроенную учетную запись администратора, которая по умолчанию отключена. Итак, щелкните правой кнопкой мыши по ярлыку командной строки и выберите «Запустить от имени администратора».
10-09-2012 12-04-44
В открывшемся окне командной строки выполните следующую команду:
net user administrator /active:yes
10-09-2012 12-03-51
Теперь учетная запись включена, хотя и без пароля. Чтобы установить пароль, откройте «Панель управления, выберите категорию «Учетные записи пользователей и семейная безопасность», а затем откройте меню «Учетные записи пользователей». Далее щелкните по ссылке «Управление другой учетной записью».
10-09-2012 12-05-43
Выберите учетную запись администратора, нажмите на кнопку «Создать пароль», и создайте пароль для учетной записи администратора.
10-09-2012 12-06-52

Создаем ярлык

Теперь мы создадим ярлык, который будет запускать приложение с администраторскими привилегиями. Щелкните правой кнопкой мыши на рабочем столе, выберите пункт «Создать», а затем нажмите на «Ярлык».
10-09-2012 12-08-09
В открывшемся окне нужно ввести команду следующего типа:
runas /user:ComputerName\Administrator /savecred “C:\Path\To\Program.exe
Обратите внимание, что вам необходимо заменить ComputerName на имя вашего компьютера, а C:\Path\To\Program.exe на полный путь к программе, которую вы хотите запустить. Например, если имя компьютера Laptop, а программой, которую вы хотите запустить, является Auslogics BoostSpeed, вам необходимо ввести следующий путь:
runas /user:Laptop\Administrator /savecred “C:\Program Files\Auslogics\Auslogics BoostSpeed\BoostSpeed.exe"
10-09-2012 12-11-23
В следующем окне введите имя для ярлыка. По желанию можно выбрать иконку для нового ярлыка – щелкните по нему правой кнопкой мыши и выберите пункт «Свойства».
10-09-2012 12-12-31
В диалоговом окне «Свойства» нажмите на кнопку «Сменить значок» и выберите подходящий.
10-09-2012 12-12-47
10-09-2012 12-13-48
Когда вы в первый раз дважды щелкните по ярлыку, вам будет предложено ввести пароль от учетной записи администратора, которую вы создали ранее.
10-09-2012 13-05-56
Этот пароль будет сохранен – в следующий раз, когда вы будете запускать программу, вам уже не придется вводить его снова.
Как уже упоминалось выше, из под стандартных учетных записей пользователи могут запускать любые программы с правами администратора без ввода пароля (с помощью команды runas /savecred), так что имейте это ввиду.
Не забудьте так же прочитать что делать когда то или иное приложение выдает сообщение о том, что администратор заблокировал выполнение этого приложения на windows 10.
Пароль администратора хранится в «Диспетчере учетных данных» – если вы хотите удалить сохраненный пароль, вы можете сделать это оттуда.

Отсюда https://windowstips.ru/kak-sozdat-yarlyk-pozvolyayushhij-obychnym-polzovatelyam-zapuskat-prilozhenie-s-pravami-administratora

З.ы.: Admilink (admilink.narod.ru)