1с сохранить в ansi
Цитатник веб-разработчиков В тексте курса вы встретите цитаты, высказанные в разное время разработчиками системы и разработчиками проектов на базе Bitrix Framework. Надеемся, что такие неформальные замечания внесут некоторое разнообразие в процесс изучения. Заодно опытные специалисты поделятся и своим опытом.
Имена авторов цитат даются в том написании, в каком авторы зарегистрировали себя на сайте "1С-Битрикс". .
Курс для разработчиков - продолжение линейки учебных курсов по Bitrix Framework. Получение сертификата по курсу рекомендуется после успешной сдачи тестов по всей линейке курсов, так как без понятия о работе Контент-менеджера и Администратора создание успешных сайтов будет затруднено.
Чтобы научиться программировать в Bitrix Framework, нет необходимости изучать всю линейку курсов. Но есть моменты, которые необходимо знать разработчикам о системе, они раскрыты в начальных курсах:
- Интерфейс программы - в главе Элементы управления курса Контент-менеджер.
- Компоненты 2.0 (начальные сведения) в главе Компоненты 2.0 (начальные сведения) курса Контент-менеджер.
- Информационные блоки - в главе Информационные блоки (начальные сведения) курса Контент-менеджер.
- Управление доступом к файлам, элементам контента, модулям и другие права доступа в главе Управление доступом курса Администратор. Базовый.
- Работа с инструментами системы - в главе Работа с инструментами курса Администратор. Базовый.
- Модуль Поиск - в главе Поиск курса Администратор. Базовый.
- Вся информация по администрированию модулей размещена в курсах:
-
- модули "1С-Битрикс: Управление сайтом" - модули "1С-Битрикс: Управление сайтом", связанные с коммерческой деятельностью в Интернете. - модули "1С-Битрикс: Корпоративный портал"
Как построен курс
Общепринятая градация квалификации разработчиков в рамках курса обозначает что:
- Junior сможет создавать простые сайты работая со штатными компонентами и модифицируя их шаблоны.
- Middle разработчик может работать с API Bitrix Framework.
- Senior умеет работать над производительностью и безопасностью сайтов, создавать свои модули и компоненты.
Примечание: Такое построение удобно для пошагового изучения принципов работы Bitrix Framework. По этому же принципу построены и тесты. Но такая структура не очень удобна для использования содержания курса как постоянного источника информации. Что бы переключить курс в режим Справочника, воспользуйтесь переключателем в верхнем правом углу шапки курса.
Начальные требования к подготовке
Для успешного изучения курса и овладения мастерством разработки сайтов на Bitrix Framework необходимо владеть (хотя бы на начальном уровне):
- основами PHP, баз данных;
- основами HTML, CSS.
У нас часто спрашивают, сколько нужно заплатить
Курс полностью бесплатен. Изучение курса, прохождение итоговых тестов и получение сертификатов - ничего из этого оплачивать не нужно.
Ещё у нас есть Академия 1С-Битрикс, где можно обучиться на платной основе на курсах нашей компании либо наших партнёров.
Баллы опыта
В конце каждого урока есть кнопка Прочитано! . При клике на неё в Вашу итоговую таблицу опыта добавляется то количество баллов, которое указано в прочитанном После нажатия кнопки Прочитано! появится
окно подтверждения:
уроке.
Периодически мы заново оцениваем сложность уроков, увеличивая/уменьшая число баллов, поэтому итоговое количество набранных Вами баллов может отличаться от максимально возможного. Не переживайте! Отличный результат - это если общее число набранных Вами баллов отличается от максимального на 1-2%.
Тесты
После изучения курса вам будет предложено пройти тесты на сертификацию. При успешной сдаче последовательности тестов на странице Моё обучение можно просмотреть результат обучения и загрузить сертификат в формате PDF.
Комментарии к статьям
Что дальше?
Одновременно с изучением курса Разработчик Bitrix Framework вам придётся обращаться к информации о других технологиях Bitrix Framework. Эта информация размещена в следующих курсах:
Для преподавания офлайн
Если данный курс берётся в качестве основы для офлайнового преподавания, то рекомендуемая продолжительность: 5 дней (40 академических часов).
Если нет интернета
iPhone:
FBReader
CoolReader
iBook
Bookmate
Windows:
Calibre
FBReader
Icecream Ebook Reader
Плагины для браузеров:
EpuBReader – для Firefox
Readium – для Google Chrome
iOS
Marvin for iOS
ShortBook
обновляются периодически, поэтому возможно некоторое отставание их от онлайновой версии курса. Версия файла - от 10.03.2022.
Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Доброго, Управление сайтом, малый бизнес. Кодировка базы Win-1251. Редактор notepad++. В какой кодировке сохранять файлы, чтобы отображалось без кракозябр? Сохранял в ANSI- проблемы. Надо, наверное жеж, кириллица, windows-1251? Можно как-то рекурсивно изменить все файлы в filezilla на нужную кодировку? Вообще не хочет сохранять в данной кодировке notepad++. Help!
Здесь не только кодировка базы имеет значения. Важно, на какую кодировку настроен сайт: если в /bitrix/php_interface/dbconn.php указано константа BX_UTF=true, значит, сайт в юникоде, иначе - win-1251. Соответственно, и кодировка базы (и таблиц), и кодировки файлов (не всех, а только файлов в публичной части, файлов с языковыми фразами, и некоторых других), и настройки php, и настройки Битрикса - все должно соответствовать этой кодировке.
Денис Сон , спс! Константы нет совсем. Сайт получается в кодировке win-1251.. Какую кодировку выставлять в notepad++ в языковых файлах? В ANSI дает сохранить, в windows-1251 не хочет.. Правильно понял- языковые файлы и файлы шаблонов компонентов (ну и стат. страницы) должны быть в нужной кодировке? Подскажите плиз в связке filezilla/notepad++ пошагово как это сделать..
Цитата |
---|
Тимур Шепетовский написал: Константы нет совсем. Сайт получается в кодировке win-1251. |
Цитата |
---|
Тимур Шепетовский написал: Какую кодировку выставлять в notepad++ в языковых файлах? В ANSI дает сохранить, в windows-1251 не хочет. |
Используйте ANSI. И в настройках (в разделе "Разное") рекомендую снять галку с опции "Авто-определение кодировки символов".
Цитата |
---|
Тимур Шепетовский написал: Правильно понял- языковые файлы и файлы шаблонов компонентов (ну и стат. страницы) должны быть в нужной кодировке? |
Языковые файлы - и статические страницы (/index.php, /catalog/index.php, /about.php и т.п.) - да, безусловно и без исключений. Шаблоны сайтов и шаблоны компонентов - необязательно. Если в них все русские символы вставляются через языковые фразы - то необязательно. А если в шаблонах имеются русские или специальные символы кодировок - то кодировку нужно соблюдать.
Цитата |
---|
Тимур Шепетовский написал: Подскажите плиз в связке filezilla/notepad++ пошагово как это сделать. |
Вот собственно говоря само решение:
ЗТ = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.ANSI);
ЗТ.Закрыть();
ЗТ = Новый ЗаписьТекста(ИмяФайла. Истина, Символы.ПС);
ЗТ.Записать(Данные);
ЗТ.Закрыть();
Специальные предложения
Ты точно utf с ansi не попутал? минус заслуженный, лучше бы решение с base64 привел.
p.s.: Пользователи любых других национальных языков просто в восторге, от такого фигового решения.
Для совсем непонятливых: ВОМ это 3 символа, которые добавляются в начало файла для автоматического определения кодировки.
P.S. "Тыкать" можете своим друзьям, а здесь этого не надо делать.
p.s.: это интернет, могут и послать.
(6) pumbaE, 1. В моем алгоритме НЕТ вообще нет преобразований кодировок! Прочитайте документацию по языку программирования 1С. Суть алгоритма в том, что сначала создается пустой файл в кодировке ANSI, который не содержит ВОМ, а затем к нему дописываются данные в кодировке UTF-8. Это происходит без каких-либо преобразований. Естественно, при дописывании данных ВОМ не пишется.
2. Это реально работает, сам давно использую. Прежде чем писать всякую чушь, надо было хотя бы разобраться или проверить.
3. Алгоритм с отрезанием ВОМ однозначно является более громоздким и ресурсоемким.
P.S. Насчет "послать" - это все-таки модерируемый технический форум, за это могут и "забанить", т.ч. стоит это учитывать при выборе стиля общения.
artichoke; hasr; mityushov.vv; asdfr16; tormozit; user799503; Sirin; aleksanderpushkin; kuzyara; Tolpinski; 1ckorolev; Hexed; nick-max; slavikss; + 14 – 1 Ответить
В этой статье я рассмотрю основные моменты работы с текстовым файлом в 1С 8.3. в режиме отключенной модальности.
Для написания статьи я создал форму обработки, на которой разместил реквизит «РеквизитСтрока» с типом Строка, а так же две команды: ЗагрузитьТекстовыйФайл и СохранитьТекстовыйФайл. Реквизит и команды я поместил на форму, у поля, которое связанно с реквизитом, выбрал тип «Поле текстового документа».
В пользовательском приложении должна получиться такая форма:
Для команд были созданы клиентские обработчики:
Для работы с текстовыми документами в 1С: Предприятии есть специальный объект ТекстовыйДокумент, который вызывается при помощи конструктора Новый. Решим следующую задачу: будем при выполнении команды СохранитьТекстовыйДокумент сохранять текст из реквизита «РеквизитСтрока» в определенный файл, а при выполнении команды ЗагрузитьТекстовыйДокумент будем загружать текст из определенного файла.
При сохранении, код в обработчике команды будет следующий
В этом коде мы создаем объект ТекстовыйДокумент (строка //1), и при помощи метода этого объекта УстановитьТекст помещаем в данный объект текст из реквизита «РеквизитСтрока» (строка //2).
А дальше нам необходимо записать текстовый документ в файл, для этого мы используем метод НачатьЗапись, который нужно применять в случае немодального использования конфигурации. Он имеет следующий синтаксис
Первый параметр — ОписаниеОповещения содержит имя процедуры, которая вызывается после записи. Можно не указывать, что мы и делаем в строк //3.
ИмяФайла – полное имя файла.
Смысл остальных параметром можете узнать в справочной информации.
Отмечу только, что разделитель я указал, как Символы.ВК + Символы.ПС, потому что такой набор символов используется по умолчанию при загрузке текстового файла.
Посмотрим, как работает наша команда
Теперь напишем загрузку текстового файла.
В этом случае, код будет немного сложнее, чем при записи. Мы используем метод НачатьЧтение объекта текстовый документ (строка //4), но в этот раз передаем в него описание оповещения (создали в строке //3), где указываем процедуру ПослеЧтенияФайла, а в описание оповещения передаем в процедуру ПослеЧтенияФайла параметр, в котором указали созданный текстовый документ (строка //2). И уже в процедуре ПослеЧтенияФайла реквизиту РеквизитСтрока присваиваем текст, который содержится в текстовом документе, при помощи метода текстового документа ПолучитьТекст.
Почему мы извлекаем текст именно в процедуре оповещения ПослеЧтенияФайла? Потому что она вызывается именно тогда, когда завершено чтение файла. Если Вы попытаетесь прочитать текст, после строки //4, то ни чего не получится. Это одна из особенностей работы асинхронных методов 1С 8.3.
Сейчас мы спокойно сможем сохранить текст в файл, путь к которому указан в качестве первого параметра метода НачатьЗапись. Но, иногда бывает нужно, что бы пользователь сам выбирал, в какой файл сохранить текст. Переделаем наш код записи текста: будем вызывать окно, в котором пользователь укажет каталог, куда будет записан файл, и само название файла.
В этом случае мы вызываем диалог выбора файла с режимом сохранения, заполняем нужные параметры этого объекта, и в конце используем метод Показать. В качестве единственного параметра этого метода нужно указать обработчик оповещения, который мы создали строкой ранее, с процедурой, которая выполнится после сохранения файла (после нажатия на кнопку «Сохранить» диалога). А вот уже в обработчике оповещения ПослеСохраненияФайла мы создаем текстовый документ, устанавливаем в него текст из реквизита и записываем в файл, путь которого указан в массиве – параметре процедуры ВыбранныеФайлы. В первом параметре процедуры обработки оповещения содержится массив полных путей к выбранным файлам (в случае множественного выбора). Если Вы посмотрите на переменную ВыбранныеФайлы в отладке, то увидите путь к этому массиву.
Посмотрим, как работает наш код.
Теперь выполним обратную задачу: будем загружать текст из файла в реквизит на форме. Переделаем обработчик команды ЗагрузитьТекстовыйФайл.
В этом случае, в обработчике ЗагрузитьТекстовыйФайл мы так же используем объект ДиалогВыбораФайл, который создаем в режиме Открытия, заполняем параметры этого диалога и используем метод Показать, где в качестве параметра используется описание оповещения, с процедурой, которая выполнится после выбора файла (после нажатия на кнопку «Открыть» диалога). А в процедуре ПослеЗагрузкиФайла, которая указана в оповещение, мы загружаем в текстовый файл по пути, который указан в массиве — параметре процедуры ВыбранныеФайл. В этом случае алгоритм действий точно такой же, как и в том случае, когда мы путь к файлу указывали жестко.
Посмотрим, как работает наша загрузка файла
Изучите программирование в 1С с помощью моей книги «Программировать в 1С за 11 шагов»
- Без сложных технических терминов.
- Более 700 страниц практического материала.
- Каждое задание сопровождается рисунком (скриншот).
- Сборник задач для домашней проработки.
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
Эта книга подойдёт тем, кто уже начал программировать и испытывает определенные сложности с этой темой и тем, кто уже давно программирует, но ни разу еще не работал с управляемыми формами 1С
- Без сложных технических терминов;
- Более 600 страниц практического материала;
- Каждый пример сопровождается рисунком (скриншот);
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
Промо-код на скидку в 15% — 48PVXHeYu
Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Вступайте в мои группы:
One thought on “ Работа с текстовыми файлами в 1С 8.3 (немодальные вызовы) ”
Нужно было установить у реквизита формы РеквизитСтрока тип ТекстовыйДокумент. Это позволило бы обойтись без преобразований, т.е. вместо
ТекстДок = Новый ТекстовыйДокумент;
ТекстДок.УстановитьТекст(РеквизитСтрока);
ТекстДок.НачатьЗапись(,ВыбранныеФайлы[0],
КодировкаТекста.ANSI,
Символы.ВК + Символы.ПС);
Было бы просто
РеквизитСтрока.НачатьЗапись(,ВыбранныеФайлы[0],
КодировкаТекста.ANSI,
Символы.ВК + Символы.ПС);
на него установлен MUI Windows6.1-KB2483139-x64-ru-RU.exe
на сервере: язык и региональные настройки установлено
- язык интерфейса - русский
- язык программ не поддерживающих юникод - русский
В терминале запускаем 1с предприятие 8.1
создаем текстовый файл
пишем по русский слово привет
сохраняем файл в кодировке ANSI
Проблема: при повторном открытии файла в 1С видим непонятные символы. Как решить?
- Изменен тип Petko Krushev Microsoft contingent staff 27 марта 2013 г. 15:00 Давность и отсуствие действий
Все ответы
может лучше 1сников спросить? )) notepad нормально открывает?
Выполните в командной строке chcp без параметров - какая кодировка отображается?
Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий
Follow us on Twitter
1с платформа 8.1
создаем на 1С текстовый файл (файл\новый)
пишем по русский слово привет
сохраняем файл, тип ansi
открываем файл в far, вместо букв . , в hex 3f 3f 3f 3f ..
открываем файл в блокноте, вместо букв .
1с платформа 8.2 так же не работает
если ставим русский сервер 2008 r2 + 1c платформа 8.2 - все в порядке
Смените кодовую страницу по умолчанию на 1252 (chcp 1252) и попробуйте еще раз Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий
Follow us on Twitter
менял кодовую страницу на 1252 и на 1251 не помогло
в текстовом файле также .
вот старую темку поднял. Может поможет.
мне тогда 1с ники ответили примерно следующее :
1. Локализация 1С Предприятия 8 зависит от кода локализации сеанса.
Код локализации сеанса устанавливается параметром запуска vl.
Попробуйте запускать предприятие с параметром /vlru
2. Возможно, что региональные настройки не применились для пользователя терминальной сессии.
Попробуйте дать пользоватетелю терминальной сессии права администратора и под ним проверить региональные настройки.
я вопрос решил, читайте по ссылке. Криво решил - да, но UAC отключать - не выход.
Читайте также: