Архив за месяц: Октябрь 2018

ST3 Sublime Text 3 конвертация кодировки, отображение кодировки в строке состояния, работа с кодировкой из строки состояния

Стандартная работа с кодировкой ведется через меню File-Reopen with encoding-нужная кодировка

дополнительный функционал по кодировкам включая их автоопределение, можно добавить установкой плагина
EncodingHelper по ссылочке: https://github.com/titoBouzout/EncodingHelper 

устанавливается он просто: нажимаете Clone or download 

скачивается zip архив. распаковываете его в папку плагинов Sublime text 3. Папка плагинов открывается командой меню Sublime Text3: Preferences=>Browse Packages

копируете в папку плагинов содержимое архива

после этого видите в строке состояния:

по левой кнопке мыши на названии кодировки в строке состояния:

в строке состояния справа

видите меню:

меню по ЛКМ (Левой Кнопке Мыши) в строке состояния справа

в строке состояния слева

Как в 1Cv8 (1С: Предприятие версий 8.x) быстро создать XDTO объект, если есть шаблон результирующего XML файла?

мое мнение, что если в шаблон нужно вносить мало изменений (например это файл ответа о результатах обмена), то нужно сделать так:


стрКодировка = "Windows-1251";
ШаблонОтветаXML   = ЭтотОбъект.ПолучитьМакет("ШаблонОтветаXML");
локИмяВременногоФайла = ПолучитьИмяВременногоФайла("xml");
ШаблонОтветаXML.Записать(локИмяВременногоФайла);

локЧтениеXML = Новый ЧтениеXML;
локЧтениеXML.ОткрытьФайл(локИмяВременногоФайла);
   
локФабрикаXDTO = Новый ФабрикаXDTO;
ОбXDTO = локФабрикаXDTO.ПрочитатьXML(локЧтениеXML);

шаблон можно сохранить в макетах обработки (или конфигурации) и читать через команды:


ШаблонОтветаXML   = ЭтотОбъект.ПолучитьМакет("ШаблонОтветаXML");
локИмяФайлаОтвета = ПолучитьИмяВременногоФайла("xml");
ШаблонОтветаXML.Записать(локИмяФайлаОтвета);

Как в 1Сv8 (1С: Предприятие версий 8.x) указать параметры XML файла, включая кодировку?


локЗаписьXML = Новый ЗаписьXML();
локЗаписьXML.ОткрытьФайл(ПолучитьИмяВременногоФайла(".xml"), "windows-1251");
//именно эта строка записывает
//<?xml version="1.0" encoding="windows-1251"?>
локЗаписьXML.ЗаписатьОбъявлениеXML();

кодировка указывается строкой


локЗаписьXML.ОткрытьФайл(ПолучитьИмяВременногоФайла(".xml"), "windows-1251");

объявление параметров XML файла записывается строкой


локЗаписьXML.ЗаписатьОбъявлениеXML();

как в 1Сv8 (1С: Предприятие версий 8.x) быстро записать объект XDTO фабрикиXDTO в файл XML?

чтобы записать объект нужно создать объект ЗаписьXML, открыть файл в который будешь писать и вызвать у фабрики XDTO метод ЗаписатьXML() с параметрами (указываю по порядку):

  • Объект ЗаписьXML который будет осуществлять запись
  • ОбъектXDTO который будет записан в файл
  • ИмяВетки-контейнера (обрамляющий тег)


локЧтениеXML.ОткрытьФайл(стрИмяФайла);
ОбXDTO = локФабрикаXDTO.ПрочитатьXML(локЧтениеXML);
//имея некоторый объект полученный от ФабрикиXDTO, например, как я указал выше, нужно сделать так:
локЗаписьXML = Новый ЗаписьXML();
локЗаписьXML.ОткрытьФайл(ПолучитьИмяВременногоФайла(".xml"), "windows-1251");
локЗаписьXML.ЗаписатьОбъявлениеXML();
локФабрикаXDTO.ЗаписатьXML(локЗаписьXML, ОбXDTO,"Файл");

1C8 важно, чтобы XSD схема была в кодировке UTF-8

я загружал XSD схему в кодировке windows-1251 в CериализаторXDTO

1С8 выдавала ошибку 

Ошибка при вызове метода контекста (СоздатьФабрикуXDTO)
локФабрикаИзXSD = СоздатьФабрикуXDTO(локИмяФайлаXSD_Ответа);
по причине:
Ошибка разбора XML: — [2,21] Фатальная ошибка:
Input is not proper UTF-8, indicate encoding !
Bytes: 0xD4 0xE0 0xE9 0xEB

Сохранил XSD файл в кодировке UTF-8  и все заработало.

также эту проблему можно устранить указав в начале XSD файла тег


<?xml version="1.0" encoding="windows-1251"?>

1С8 Ошибка разыменования схемы XML. Почему? Есть ответ… все дело в атрибуте xmlns:xs

Я через сервис в интернете сгенерировал схему XSD и пытался ее загрузить в 1С объект:


Continue reading “1С8 Ошибка разыменования схемы XML. Почему? Есть ответ… все дело в атрибуте xmlns:xs” »

в Winows 8/ Windows 10 не работают клавиши регулировки яркости ноутбука. Как починить/исправить?

Клавиши яркости ноутбука не работают из-за неверного драйвера монитора. Как исправить — читайте в этом материале:


Continue reading “в Winows 8/ Windows 10 не работают клавиши регулировки яркости ноутбука. Как починить/исправить?” »

как минимизировать по-настоящему CSS и почему purify не подходит

результаты работы по исключению не используемых классов из CSS файла

Когда я пишу сайты я пользуюсь CSS SCSS(SASS) — мне больше нравится синтаксис SCSS. Потом естественно при записи Gulp отслеживает изменения *.scss файлов и генерирует CSS. Конечно при генерации я делаю циклы и миксины, чтобы было всё удобное под рукой. Отсюда и минус — в одном проекте классы нужны, в другом нет, а пишу я универсальные, чтобы использовать повторно. И даже в рамках одного проекта бывает что пока подбираешь верстку используешь то одни классы, то другие, но все они генерируются по одному алгоритму.


Continue reading “как минимизировать по-настоящему CSS и почему purify не подходит” »

как работает float:left, почему блочные элементы переносятся на новую строку или как оставить элемент HTML на той же строке

блочные элементы в 1 строку через float: left

html код страницы

CSS код страницы

  1. Элемент должен являться блочным чтобы это работало, т.е. когда применено свойство float: left элемент переводится браузером в блочный (display: block)
  2. Блочные элементы по-умолчанию начинаются с новой строки. Не достаточно просто сделать элемент блочным, чтобы оставить его на той же строке.
  3. Чтобы блочный элемент оставался на той же строке нужно задать предыдущему перед ним элементу CSS стиль float: left .
  4. У родителя обоих элементов (их контейнера) должна быть задана ширина width в процентах, пикселях или чем-то еще.
  5. Эта ширина не должна быть меньше ширины обоих объектов внутри контейнера, включая их margin, padding, border.


Continue reading “как работает float:left, почему блочные элементы переносятся на новую строку или как оставить элемент HTML на той же строке” »