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 на той же строке” »

Добавление хлебных крошек в Битрикс

<?$APPLICATION->IncludeComponent(
    «bitrix:breadcrumb»,
    «breadcrumb»,
    array(
        «COMPOSITE_FRAME_MODE» => «A»,
        «COMPOSITE_FRAME_TYPE» => «AUTO»,
        «PATH» => «»,
        «SITE_ID» => «s2»,
        «START_FROM» => «1»,
        «COMPONENT_TEMPLATE» => «breadcrumb»
    ),
    false
);?>

резиновая верстка на col-xx-xx Bootstrap 3

шаг этой разметки довольно большой что начинает сразу видеться на больших и маленьких экранах
к примеру фото каталога 100px на 100px задать для всех экранов col-md-2 col-xs-2… это значит что на средних экранах смотреться будет хорошо, на больших более 20′ будет разъезжаться в разные стороны а на совсем маленьких — телефонах текст описания из соседней col-xs-10 будет наезжать на фото
выход — свой стиль и прописать размеры используя свою медиа разметку
    @include BootstrapGridBreakpoint(xs) {
      height: auto;
      left:   0px;
        }
    @include BootstrapGridBreakpoint(sm) {
      height: auto;
      left:   0px;
    }

твсРаботаСФайлами модуль 1с8

Функция ПолучитьРасширениеФайла(стрИмяФайла) Экспорт
	
	стрРасширениеФайла = "";
	
	ПозицияТочки = СтрДлина(стрИмяФайла);
	Пока ПозицияТочки >= 1 Цикл
		Если Сред(стрИмяФайла, ПозицияТочки, 1) = "." Тогда
			стрРасширениеФайла = Сред(стрИмяФайла, ПозицияТочки + 1);
			Прервать;
		КонецЕсли;
		ПозицияТочки = ПозицияТочки - 1;
	КонецЦикла;
	Возврат стрРасширениеФайла;
	
КонецФункции

Функция ВыбратьФайл(стрПолноеИмяФайла, Режим, Заголовок, Фильтр)
	
	Диалог = Новый ДиалогВыбораФайла(Режим);
	Диалог.Заголовок = Заголовок;
	Диалог.ПредварительныйПросмотр = Ложь;
	Диалог.Фильтр = Фильтр;
	
	Если ЗначениеЗаполнено(стрПолноеИмяФайла) Тогда
		Диалог.ПолноеИмяФайла= стрПолноеИмяФайла;
		стрИмяФайла = "";
		стрПутьКФайлу = "";
		РаботаСФайлами.ПолучитьКаталогИИмяФайла(стрПолноеИмяФайла, стрПутьКФайлу, стрИмяФайла);
		Диалог.Каталог = стрПутьКФайлу;
	КонецЕсли;
	
	Если Диалог.Выбрать() Тогда
		стрПолноеИмяФайла = Диалог.ПолноеИмяФайла;
		Возврат Истина;
	Иначе
		Возврат Ложь;
	КонецЕсли;
	
КонецФункции

// Открывает диалог выбора файла
//
// Параметры:
// стрИмяФайла - Строка - Полный путь к файлу
// Режим - РежимОткрытияФайла- (на запись, на чтение, на дозапись...)
// стрЗаголовок - Заголовок окна выбора файла
// Фильтр - маска фильтрации файлов в диалоге выбора файла
//
// Возвращаемое значение:
// нет
//
Функция ВыборИмениФайла(стрИмяФайла, Режим, стрЗаголовок = "", Фильтр = "*.*") Экспорт
	
	флВозврата = Ложь;
	СтандартнаяОбработка= Ложь;
	если Не ВыбратьФайл(стрИмяФайла, Режим, стрЗаголовок, Фильтр) тогда
		флВозврата = Ложь;
	Иначе
		флВозврата = Истина;
	КонецЕсли;
	Возврат флВозврата;
	
КонецФункции


// Проверяет по полному пути файла его существование
//
// Параметры:
// Параметр1 - Строка - Полный путь к файлу
//
// Возвращаемое значение:
// <Булево> - Возвращает Истина если файл существует
//
Функция ПроверитьСуществованиеФайла(стрПолнПутьКФайлу) Экспорт
	
	ФайлДляПроверки = Новый Файл(стрПолнПутьКФайлу);
	
	Возврат ФайлДляПроверки.Существует();
	
	
КонецФункции // ПроверитьСуществованиеФайла()

Функция СохранитьТекстВоВременныйФайл(стрТекст, стрРасширениеФайла, кодировкаФайла = "") Экспорт
	
	ЗагружаемыйФайл = Новый ТекстовыйДокумент;
	файлXML = Новый ЧтениеXML;
	
	ЗагружаемыйФайл.ДобавитьСтроку(стрТекст);
	
	стрИмяФайла = ПолучитьИмяВременногоФайла(стрРасширениеФайла);
	локКодировкаФайла = ?(кодировкаФайла = "", КодировкаТекста.UTF8, кодировкаФайла);
	ЗагружаемыйФайл.Записать(стрИмяФайла, локКодировкаФайла);
	
	Возврат стрИмяФайла;
	
КонецФункции //СохранитьТекстВоВременныйФайл()


Функция СохранитьURLВоВременныйФайл(знач стрURL, стрРасширениеФайла = "") Экспорт
	
	Если стрРасширениеФайла = "" Тогда
		стрРасширениеФайла = ПолучитьРасширениеФайла(стрURL);
	КонецЕсли;
	стрИмяФайла = ПолучитьИмяВременногоФайла(стрРасширениеФайла);
	стрСервер = твсРаботаСИнтернетом.ПолучитьСерверИзURL(стрURL);
	
	локПрокси = твсРаботаСИнтернетом.ПолучитьПрокси();
	Соединение = Новый HTTPСоединение(стрСервер,,локПрокси);
	
	HTTP_Запрос = твсРаботаСИнтернетом.СформироватьHTTPЗапрос(стрURL);
	Состояние("Загрузка: " + стрURL);
	
	Попытка
		HTTP_Ответ = Соединение.Получить(HTTP_Запрос, стрИмяФайла);
	Исключение
		Сообщить("Ошибка получения данных из Интернета по адресу: " + стрURL);
	КонецПопытки;
	
	Попытка
		Если HTTP_Ответ.КодСостояния >= 400 Тогда
			Сообщить("Код ответа сервера: " + HTTP_Ответ.КодСостояния + ". Ошибка получения данных из Интернета по адресу: " + стрURL);
			стрИмяФайла = "";
		КонецЕсли;
	Исключение
		Сообщить("Ответ не получен по адресу: " + стрURL);
	КонецПопытки;
	
	Возврат стрИмяФайла;
	
КонецФункции // СохранитьURLВоВременныйФайл()


Включение фоновой отладки в браузерах Chrome

chrome://flags/

silent-debug-google-chrome

 

 

 

 

 

 

во вкладке найти Фоновый режим откладки :

silent-debug-google-chrome1

Фоновый режим отладки Mac, Windows, Linux, Chrome OS

Не показывать информационную панель, когда расширение связано со страницей с помощью API chrome debugger. Установка этого флажка позволяет выполнять отладку фоновых страниц расширений.
Включить

Ну и напоследок: «А зачем мне это нужно?»  — чтобы отключить сообщение «Включен режим отладки NetBeans при отладке веб-страниц в NetBeans

 

 

не работают скрипты .JS .VBS в Windows 7,8,10 — x64, x32 — решение

я столкнулся с проблемой: пытаюсь запустить 1С 7.7 на Windows 10 — выдает ошибки и не регистрирует скрипты и библиотеки OpenConf (программы расширяющей возможности конфигуратора 1С 7.7) файл regall.bat.

Ошибки:

  • не удается найти файл сценария regfiles.js
  • Отсутствует исполняющее ядро для расширения имени файла js

Этот файл вызывает выполнение JS скрипта:

cscript //nologo regfiles.js /I %1 %2

Я обнаружил, что cscript в Windows 10 уже встроен и устанавливать движок скриптов не нужно еще раз.

При выполнении подобных команд в Windows старше XP возникают 2 основных проблемы:

  • Для расширений скриптов не зарегистрирована программа, которая их обрабатывает (.vbs, .js).Решение: зарегистрировать для этих расширений программу выполнения скриптов:
    Выполнить в командной строке от имени Администратора:
    ASSOC .JS=JSFile

    ASSOC .VBS=VBSFile

  • Команда вызова движка скриптов (cscript) не может найти нужный мне скрипт (regfiles.js), чтобы его выполнить.

Причина этого:

Все из-за механизма контроля учетных записей, когда мы выполняем программы от имени администратора, путь текущей папки меняется на путь к cscript.exe — c:\windows\system32\, а там нет файла пользовательского скрипта, который мы запускаем.

Решение:

В команде вызова скрипта указать полный путь к файлу скрипта, например:

cscript //nologo «d:\My Program Files\1Cv77\BIN\Config\system\regfiles.js» /I %1 %2

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

Если Вы нашли это — вам повезло — у Вас есть рецепт решения проблемы и экономии времени.

Спасибо за внимание. До новых встреч!

PS. Будет здорово, если Вы будете присылать проблемы, а я вам с ними смогу помочь.

сдвиги блоков, div, кнопок, картинок и т.п. CSS, Bootstrap

чтобы объект «съехал» нужно применить к нему стиль float:

со значением:

  • left;     — влево
  • right;  — вправо

сдвигает весь элемент, включая рамку, отступы и ширину рамки в указанном направлении (влево или вправо).

в Bootstrap это организовано добавлением класса уже содержащего этот стиль:

xx — число от 1 до 12 ширина сдвига, равная ширине колонки такого же формата. Эта ширина задается в процентах и ее можно увидеть в boostrap.css файле

отличия всех -sm-, -xs-,-md- классов в том, что у Boostrap есть 3 основных вида разрешения экрана контролируемых через


<span class="p">@media (</span><span class="n">max-width</span><span class="o">:</span> <span class="o">@</span><span class="n">screen-xs-max</span><span class="p">)</span> <span class="p">{</span> <span class="nc">...</span> <span class="p">}
</span>
внутри boostrap.css таблицы стилей. Итак, классы для:

для сдвига вправо:

  • col-sm-push-xx
  • col-xs-push-xx
  • col-md-push-xx

для сдвига влево:

  • col-sm-pull-xx
  • col-xs-pull-xx
  • col-md-pull-xx

чтобы сдвинуть колонки ВЛЕВО за счет увеличения свойства CSS margin-left (левого промежутка или поля между колонками) нужно использовать эти классы CSS из комплекта Boostrap:

только для сдвига влево:

  • col-sm-offset-xx
  • col-xs-offset-xx
  • col-md-offset-xx

 

Перенос по словам CSS, HTML

если часть содержимого контейнера скрывается, есть замечательное CSS свойство и его значение:

CSS код:
word-wrap: break-word;

оно делает так, чтобы текст переносился по словам на другую строку, а не прятался за границами контейнера (кнопки, div…)

Boostrap — картинка в круге (кружочке)

есть такой стиль в Boostrap

.img-circle {
border-radius: 50%;
}

если в class тега img, например, через пробел добавить img-circle  будет картинка в круглой рамке — не надо писать в свою таблицу стилей такой тег — он стандартный для Boostrap

Правда что Viber (Вайбер) станет платным?

Правда что Viber (Вайбер) станет платным?

«Естественно, это не правда. Кому это может быть нужно, я не знаю, но предполагаю, что рассылают сообщения сами пользователи. Несколько лет назад похожая ситуация была с ICQ. Абсолютно идентичные сообщения. Если бы эти сообщения присутствовали только в Viber, то можно было бы предположить, что это какие-то проделки конкурентов. Но так как такие же сообщения присутствуют в WhatsApp, то скорее всего этим занимаются сами пользователи», — рассказала Вероника Кесова.

вот данные с сайта Viber:

бесплатность вайбера

Как настроить телефон Grandstream BudgeTone 100 VoIP

budgetone_200Сначала настройте IP адрес прямо на телефоне

Нажать кнопку MENU

Выбрать IP Addr — Ввести IP адрес

Открыть на комьютере URL http://ip_адрес_телефона

имя пользователя по-умолчанию admin  пароль 123

компьютер должен иметь тот же диапазон адресов IP что и телефонный

Через браузер пропишите свои настройки IP телефонии.

Они выглядят примерно так:

grandstream-install2

 

 

 

 

grandstream-install4

 

grandstream-install1

 

 
grandstream-install6

 

инструкции :

Как сменить IP адрес в Windows 7 

от производителя телефона Grandstream BudgeTone 100

еще одна от производителя телефона Grandstream BudgeTone 100 в PDF