Автор: Павел Грибов
Копирование в буфер обмена на JavaScript
В JavaScript скопировать в буфер обмена можно только то что находится внутри тега <input>. Потому приходиться для копирования в буфер обмена произвольного текста приходиться идти на ухищрения в виде например временного помещения текста для копирования в input. Например как-то так:
1 2 3 4 5 6 7 8 9 10 11 |
<span style='cursor: pointer;' id='ipsegsw'>192.168.1.1</span> <script> $('#ipsegsw').click(function() { var $temp = $("<input>"); $("body").append($temp); $temp.val($('#ipsegsw').text()).select(); document.execCommand("copy"); $temp.remove(); console.log('IP скопирован в буфер обмена'); }); </script> |
Никто и звать никак
1С Чтение CSV
Подвох однако В интернетике полно примеров чтения CSV из 1С, но в большинстве из них при попытке использования ругается на «метод объекта не обнаружен ПолучитьСтроку». Секретик прост до безобразия: все эти статьи копипасты из одного какого-то источника, где команда ПолучитьСтроку написана в смеси английскиму-русскими буквами.
Вот нормальный рабочий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
//создаем таблицу, в которую будут записаны данные из файла Таблица = новый ТаблицаЗначений; // чтение сообщить("--читаем файл "+тПуть); ЗагружаемыйФайл = Новый ТекстовыйДокумент; ЗагружаемыйФайл.Прочитать(тПуть); // ИмяФайла - путь к файлу на диске сообщить("--ок"); //Формируем шапку таблицы. Шапка по умолчанию первая строчка сообщить("--получаем шапку"); Шапка = ЗагружаемыйФайл.ПолучитьСтроку(1); сообщить("--ок"); //раскладываем стрoку в массив Разделителем колонок в данном случае является точка с запятой МассивКол = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Шапка, ";"); //генерируем столбцы сообщить("--генерируем столбцы таблицы"); Для Каждого ИмяСтолбца Из МассивКол Цикл ИмяБезПробелов = СтрЗаменить(ИмяСтолбца," ",""); // убираем из имени пробелы Таблица.Колонки.Добавить(ИмяБезПробелов,,ИмяСтолбца); КонецЦикла; сообщить("--ок"); сообщить("--загружаем файл в таблицу"); Для НомерСтроки=2 по ЗагружаемыйФайл.КоличествоСтрок() Цикл // получить стрoку с указанным номером и преобразуем её в массив Строка = ЗагружаемыйФайл.ПолучитьСтроку(НомерСтроки); МассивКол = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Строка,";"); НоваяСтрочка= Таблица.Добавить(); Для НомерСтолбца= 1 по МассивКол.Количество() Цикл //заполняем строчку значениями ТекущееЗначение = МассивКол[НомерСтолбца-1]; ИмяКолонки = Таблица.Колонки[НомерСтолбца-1].Имя; НоваяСтрочка[ИмяКолонки] = ТекущееЗначение; КонецЦикла; КонецЦикла; сообщить("--ок"); |
P.S. Тем кто изначально разместил такой не рабочий код, посылаю лучи ненависти. Тоже тупил наверное минут 15.
Даунгрейт платформы 1С
Бывает так, что обновил платформу, а что-то пошло не так. И нужно вернуть «всё как было». Засада в этот раз подкралась когда удалил обновлённую платформу: перестал стартовать Агент сервера в службах. При внимательном изучении — оказалось что служба пыталась стартовать новый агент, который уже удален. Гугл подсказал, что проблема решается перерегистрацией службы:
1 |
ragent.exe -instsrvc |