Extcompt 1с что это

Обновлено: 08.07.2024

Внешние компоненты можно использовать на разных операционных системах:

А также может быть 32-х разрядная версия внешней компоненты и 64-х разрядная.

Внешние компоненты могут использоваться при работе через веб-клиент для браузеров:

  • Google Chrome
  • Microsoft Internet Explorer
  • Mozilla Firefox
  • Safari;

И в мобильной платформе 1С для мобильных операционных систем:

Существует две технологии создания внешних компонент для 1С:

Внешние компоненты разработанные по технологии COM можно использовать только:

  • В тонком и толстом клиентах
  • В веб клиенте, только для ОС Windows

Для подключения внешней компоненты используется метод НачатьПодключениеВнешнейКомпоненты, вторым параметром нужно указать ProgID COM компоненты.

ОбратныйВызов = Новый ОписаниеОповещения ( "ОбратныйВызов" , ЭтотОбъект ) ; НачатьПодключениеВнешнейКомпоненты ( ОбратныйВызов , "AddIn.Test" ) ; Процедура ОбратныйВызов ( Подключено , ДопПараметры ) Экспорт

Также можно использовать синхронный метод ПодключитьВнешнююКомпоненту и асинхронный ПодключитьВнешнююКомпонентуАсинх.

На данный момент данная технология является устаревшей, рекомендуется использовать технологию Native API.

Native API

Внешние компоненты разработанные по технологии Native API можно использовать:

  • В тонком и толстом клиентах
  • В веб-клиенте
  • На сервере
  • В мобильном приложении

Внешняя компонента может быть запакована в ZIP-архив или представлена в виде отдельного файла.

Так как внешние компоненты по технологии Native API могут быть использованы как в Windows, так и в Linux, то желательно помещать в архив с компонентой 5 файлов:

  • dll файл 32-х разрядной версии
  • dll файл 64-х разрядной версии
  • so файл 32-х разрядной версии
  • so файл 64-х разрядной версии
  • Файл-манифест

В этом случае при подключении внешней компоненты платформа сама определит какой файл использовать по файлу-манифесту.

Подключение внешней компоненты на клиенте

Перед подключением внешней компоненты на клиенте, ее сначала нужно установить методом НачатьУстановкуВнешнейКомпоненты. Установка выполняется в каталог компьютера клиента %APPDATA%\1C\1Cv8\ExtCompT. Установка выполняется один раз. В дальнейшем перед использованием компоненты ее нужно только подключать. Подключение выполняется методом НачатьПодключениеВнешнейКомпоненты.

В статье рассказывается что такое Кэш 1С и как его можно самостоятельно очистить несколькими способами. В конце публикации расположена подробная видеоинструкция.

Что же такое Кэш вообщем и Кэш 1С в частности. В переводе с английского cashe означает тайник либо хранилище. Впервые данный термин в компьютерном слэнге был использован в 1967 году во время подготовки стать для журнала «IBM Systems Jornal» (ссылка на статью в векипедии) . Векипедия дает данному термину следующее определение Кэш – промежуточный буфер с быстрым доступом, содержащий информацию, которая может быть запрошена с наибольшей вероятностью. Процесс кэширования используется как при работе, самого компьютера, так и при работе отдельных программ, 1С не является исключением. Кэшом 1С называется область на компьютере, куда платформа в процессе работы записывает наиболее часто используемую информацию для более быстрого доступа к ней, это может быть служебная информация пользователей, список отборов, шрифтов, расположение окон. При возникновении каких-либо сбоев Кэш начинает обрабатываться неправильно, и программа начинает работать некорректно. Это может произойти в случае аварийного завершение работы программы, например при отключении питания компьютера, динамического обновления программы, обновления без завершения работы пользователей и др.

В случае возникновения таких сбоев необходимо произвести чистку Кэша 1с, данную процедуру рекомендуется делать не только при возникновении сбоев, но и в рамках регламентного обслуживания программы, ведь часто в КЭШе хранятся данные, которые программа уже не использует и они только занимают место на компьютере, замедляя при этом работу 1с.

Существует несколько способов чистки Кэша 1С, давайте разберем подробно каждый из них

окно редактирование информационной базы

Первый и самый простой это удалить из списка базу, запомнив и сохранив ее путь и добавить ее туда снова. Сохранить путь проще всего следующим образом: выделить базу в списке, нажать на кнопку «изменить», откроется окно редактирование информационной базы, в котором нам нужно выделить строчку, которая находится в поле «каталог информационной базы». Кликнуть по ней правой кнопкой мыши и нажать копировать, записывать тем самым путь к базе в буфер обмена вашей операционной системы, его можно либо оставить там, до момента добавления базы, либо сохранить в любой текстовый редактор, например в Microsoft Word. И нажать на кнопку отмена, закрыв тем самым окно редактирование информационной базы

После этого в окне конфигурации жмем на кнопку «Удалить» и утвердительно отвечаем на вопрос программы

удаление информационной базы из списка баз 1с

Базу из списке мы удалили, теперь необходимо ее добавить, для этого в окне платформы жмем на кнопку «Добавить», устанавливаем переключатель в «Добавление в список существующей информационной базы» и жмем «Далее»

добавление в существующей базы 1с в список

В открывшемся окне в поле «Укажите название информационной базы» руками пишем название нашей базы, в поле «Каталог информационной базы» копируем пусть нашей базы, который мы сохранили на предыдущем шаге и жмем «Далее»

указание название и прописывание пути базы 1с

На следующем шаге оставляем все по умолчанию и жмем «Готово»

последний шаг добавления базы 1с

База в список у нас добавлена, Кэш для нее очищен

список информационный баз 1с в окне платформы

Данный способ хоть и является самым простым, но имеет ряд недостатков, во-первых при нем файлы Кэша не удаляются с компьютера, а лишь отвязываются от базы при ее удалении, оставаясь в компьютере и засоряя тем самым его память, во-вторых если в Вашем списке не одна база а несколько, такую процедуру придется проделывать для каждой базы. Этим способом рекомендуется пользоваться в тех случаях, когда необходимо быстро восстановить работу базы и нет времени разбираться или ждать программиста. Например, программа дала сбой, а Ваш программист в данный момент занят и не может Вам помочь и чтобы не останавливать работу, Вы чистите Кэш этим способом, но в дальнейшем будет необходимо провести его чистку другим способов с удалением файлов Кэша, о котором я рассажу далее.

Второй способ это вручную удалить файлы Кэша с компьютера. Чтобы это сделать, для начала нужно определить их местонахождение. Кэш 1C в Windows хранится в следующих папка профиля пользователя это Roaming и Loсal. Данные папки расположены в пути: C:\Users\ИмяПользователя\AppData. Причем папка AppData по умолчанию скрыта. Попасть в нее можно двумя способами: это либо включить отображение скрытых папок, перейдя в Панель управления→Параметры папок→Вкладка «Вид»→Показывать скрытые файлы, папки и диски

включение отображения скрытых папок

Либо в проводнике вручную, после имени пользователя написать строчку \AppData и нажать на клавиатуре Enter

вход в папку AppData

Либо если мы вдруг не знаем имя пользователя в проводнике можно написать следующую строчку: %userprofile%\AppData, нажать Enter и мы также попадем в эту папку

вход в папку AppData через проводник

Попав в папку AppData, поочередно заходим в папки Local и Roaming и переходим в каждой из них в папку 1С, а в ней в 1Cv8 и если есть 1Сv82 то в нее тоже

папки в которых хранится кэш 1с

В этих папках (1cV8, 1Cv82) мы видим множество папок с непонятным называнием, это и есть Кэш 1С. Все эти папки необходимо выделить и удалить, обязательно закрыв перед этим 1С, удалять можно смело, никакие данные из Вашей базы при этом не пострадают, а все необходимые папки платформа вновь создаст при очередном запуске

кэш 1с

Данный способ является самым эффективным, но немного трудоемким. Его можно упросить, создав специальный файл, который будет проделывать все эти процедуры автоматически, вам лишь необходимо будет запустить его под именем администратора. Это файл будет иметь расширение.bat, в народе такие файлы называется «батник». Создать его можно следующим образом, открываем блокнот Windows и пишем в нем следующие команды:

содержимое файла Чистка Кэша 1С

Далее выбираем Файл→Сохранить как→выбираем место куда сохраняем, пишем название файла (например «cashe») и в названии меняем расширение с .txt на .bat, должно получиться как на картинке ниже, и жмем сохранить

сохраняем файл Чистка Кэша 1С

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

И в заключении расскажу еще об одном способе очистки Кеша 1С - это установить дополнительный параметр запуска информационной базы. У данного способа есть свои плюсы и минусы, к плюсам я бы отнес, то, что Кэш очищается при каждом запуске 1С, к минусам – снижение общей производительности 1С. Еще отмечу, что данный способ подходит только для режима запуска Тонкий клиент. Данным способ рекомендуется использовать, тогда, когда ошибки базы связанные с Кэшем появляются систематически. Чтобы выставить данный параметр запуска, необходимо в окне платформы выбрать нужную информационную базу, нажать на кнопку «Изменить», в открывшемся окне ничего не меняя нажать «Далее»

окно редактирования базы 1с

Откроется окно редактирования информационной базы, где в дополнительных параметрах запусках необходимо написать строчку /ClearCache и кликнуть «Готово»

дополнительный параметр запуска 1С Предприятие "/ClearCache"

Обращу внимание, что после очистки Кэша Ваша база будет запускаться немного дольше обычного, т.к. программа будет создавать необходимые ей для работы временные файлы, но это только в первый раз после чистки, следующие разы запуск будет проходить быстрее. Также список пользователей базы (при их наличии) после очистки Кэша будет пуст, нужно будет выбрать нужного пользователя повторно

Если остались вопросы, можете задать их в комментариях, если же не хотите тратить свое время и доверить чистку Кэша 1С профессионалам, можете написать нам через форму обратной связи или позвонить по телефону который указан на сайте. будет рады Вам помочь.

Создание и использование внешней компоненты на C++

Внешние компоненты – это сторонние библиотеки, которые подключаются к системе "1С:Предприятие" для расширения ее возможностей. Внешние компоненты используются для решения задач, которые сложно или невозможно реализовать на встроенном языке "1С:Предприятия".

К таким задачам можно отнести:

  • подключение торгового оборудования, например, сканера штрихкодов или принтера этикеток;
  • обработку большого объема данных, например, код обработки больших текстов во внешней компоненте отработает в разы быстрее аналогичного кода на встроенном языке, и другие.

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

Создание внешней компоненты

Самый простой способ создания компоненты - это заменить нижеперечисленные функции в готовом шаблоне внешней компоненты:

  1. Присвоить классу C1CGetImageFragment новое имя, например MyAddIn .
  2. Также пеименовать файлы, например 1CGetImageFragment.h на MyAddIn.h и 1CGetImageFragment.cpp на MyAddIn.cpp .
  3. В файле MyAddIn.h в перечислении enum Methods указать свои имена перечисления (помимо eVersion). Копировать в буфер обмена
  4. В массивах строк g_MethodNames и g_MethodNamesRu указать названия своих функций на английском и русском языках. Рекомендуется оставить функцию Версия , в дальнейшем она пригодится для поддержки работы компоненты.
  5. В строковом литерале g_kClassNames указать свое имя класса, например MyAddIn .
  6. В функции GetNParams указать число аргументов для своих методов.
  7. При необходимости в функции GetParamDefValue указать аргументы по умолчанию для своих методов.
  8. В функции HasRetVal указать, возвращает ли ваша функция значение. Например: Копировать в буфер обмена
  9. В функции CallAsFunc добавить код одной или нескольких новых функций.

После замены функций необходимо выполнить следующие шаги:

Шаг 1. Скомпилировать компоненту в Release-варианте и получить файл в виде dll-библиотеки, например MyAddIn.dll . Этот файл необходимо разместить рядом с файлом Manifest.xml .

Шаг 2. В файл Manifest.xml необходимо внести следующие изменения:

  • вписать название компоненты в поле path=" MyAddIn.dll" ;
  • при необходимости изменить разрядность в поле arch="i386" , значение по умолчанию - 32 бит;
  • указать операционную систему в поле os="Windows" .

Шаг 3. Файлы MyAddIn.dll и Manifest.xml поместить в zip-архив с произвольным именем, например MyAddIn.zip .

Подключение внешней компоненты

Подключение внешней компоненты выполняется в конфигураторе и состоит из следующих шагов:

Шаг 1. Добавить общий макет с типом ДвоичныеДанные и назвать его, например МойМакет . Далее загрузить в макет файлы из подготовленного архива с внешней компонентой с помощью команды карточки макета Загрузить из файла - MyAddIn.zip .

Шаг 2. Если компонента еще не установлена (метод ПодключитьВнешнююКомпоненту возвращает Ложь ),нужно приступить к установке. Для этого предусмотрен вызов:

После установки компоненты не обходимо перейти к ее подключению.

Шаг 3. Подключение внешней компоненты выполняется в том месте конфигурации, где ее планируется использовать. Пример подключения внешней компоненты можно посмотреть в модуле РаботаСКартинкамиКлиент типовой конфигурации. Пример кода подключения:

Текст МойМакетAddIn - произвольный. Единственное условие - он должен совпадать в приведенных выше вызовах.
Строка AddInNativeExtension - уже указана в шаблоне компоненты ( RegisterExtensionAs ), ее не надо менять.
Переменную МояКомпонен та рекомендуется описать в мод уле управляемого и обычного приложения как Перем МояКомпонента Экспорт .

Шаг 4. Вызов кода внешней компоненты.

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

При написании внешней компоненты как правило возникает необходимость отладки. Самый простой способ отладки – это логирование в текстовый файл.
Более продвинутый способ – отладка в программе Microsoft Visual Studio. Для отладки в Microsoft Visual Studio необходимо:

  1. Создать компоненту в Debug-варианте, например MyAddIn.pdb .
  2. Расположить pdb-файл в каталог установки внешних компонент вида C:\Users\Имя пользователя\AppData\Roaming\1C\1Cv82\ExtCompT\ ;
  3. В режиме конфигуратора запустить "тонкий" клиент "1С:Предприятия"( 1cv8c.exe );
  4. Поставить в конфигураторе точку останова перед вызовом МояКомпонента.МояФункция и дождаться ее срабатывания.
  5. В Microsoft Visual Studio подключиться отладчиком к 1cv8c.exe .
  6. В Microsoft Visual Studio создать точку останова.
  7. В "1С:Предприятии" выполнить вызов МояКомпонента.МояФункция , при этом в Microsoft Visual Studio должна сработать точка останова.
  8. В Microsoft Visual Studio отладить работу компоненты.

Важно: при перекомпиляции внешней компоненты, нужно не только заново подготовить zip-файл ( dll компоненты + manifest.xml ) и загрузить его в общий макет, но и стереть закешированную компоненту dll в каталоге вида C:\Users\Имя пользователя\AppData\Roaming\1C\1Cv82\ExtCompT\ .

Варианты работы компоненты

При разработке внешней компоненты необходимо решить, в каких вариантах она будет работать: Windows/Linux, 32/64 бита, сервер/тонкий клиент/веб-клиент (разные браузеры).

Чтобы компонента работала на сервере, необходимо решить, будет ли она предназначена только для вашей организации или будет использоваться как тиражируемое решение. Для разработки тиражируемого решения необходимо предусмотреть четыре варианта работы – Windows 32бит, Windows 64бит, Linux 32бит, Linux 64бит. Подробнее .

Чтобы компонента работала на клиенте, необходимо решить, будет ли она предназначена только для вашей организации или будет использоваться как тиражируемое решение. Для разработки тиражируемого решения необходимо предусмотреть четыре варианта работы – Windows 32бит, Linux 32бит, Linux 64бит, сборки для разных веб-браузеров. Подробнее .

Ниже расскажу, что такое кэш 1С и как его почистить.

очистка временных файлов в 1С

Кеш 1С

Однако очень часто платформа 1С неправильно отрабатывает кеширование конфигурации, и в результате мы получаем неадекватное поведение конфигурации.

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

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

Получите понятные самоучители по 1С бесплатно:

Делается это следующим образом:

шаг 1

Каталог, где находится кеш 1С

Найти каталог, где хранятся временные файлы 1С, их можно увидеть в меню настройки в списке ИБ:

2 шаг

Мы получили адрес вроде

C:\Documents and Settings\username\Application Data\1C\1Cv82\tmplts\1c

Папки с кэшем расположены по адресу

C:\Documents and Settings\username\Application Data\1C\1Cv82\

Зайдя туда, мы находим множество (количество папок равно количеству конфигураций) интересных папок:

Как выглядят папки с кешом

Все выделенные каталоги являются кешем БД 1С, их можно смело удалять. Перед удалением обязательно необходимо выйти из ИБ.

Второй способ более простой, однако он не совсем правильный. Для очистки достаточно удалить эту конфигурацию и создать новую с тем же путем к ИБ.

Можно делать и так, кеш очищается, однако временные файлы так и остаются на жестком диске.

Рекомендую использовать, если глюки из-за наличия временных файлов появляются постоянно. Однако данный способ снижает производительность системы. Подходит только для тонкого клиента.

Необходимо в дополнительных параметрах запуска (в списке баз кнопка Изменить, последняя закладка) прописать команду /ClearCache. Пример использования:

Атрибут ClearCash в свойствах базы

Видео по очистке кэша в программах 1С:

Другие статьи по 1С:

Поддержите нас, расскажите друзьям!

СПРОСИТЕ в комментариях!

ClearCache ключ работает только для чистки кэша тонкого клиента. Некоторые особо квалифицированные считают ClearCache программой! и требуют ее скачать .

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

If Exist %USERPROFILE%\AppData\Roaming\1C\1Cv82 (
rem Удаляем все файлы
Del /F /Q %USERPROFILE%\AppData\Roaming\1C\1Cv82\*.*
Del /F /Q %USERPROFILE%\AppData\Local\1C\1Cv82\*.*

Спасибо за ценнейший комментарий :))
Кстати, ищем авторов для новых статей!)))

Спасибо. Пригодился способ 3. А главное работает.

Спасибо. Все получилось по второму способу.

Спасибо за замечание, добавил 🙂

Удаление конфигурации из списка может привести к полному сбросу настрое торгового оборудования для конфигурации Розница 2.0. Привет от 1С!

Можно уточнить откуда информация и для какой версии УТ11 это актуально?
Из личного опыта: настройка подключаемого оборудования привязывается к рабочему месту (связка [компьютер]+[пользователь компьютера]), а к пользователю 1С не имеет никакого отношения. На кассе работают

10 кассиров, а торговое оборудование я настраивал только один раз (из под своей учётки 1С).

Забыл уточнить: настраивалось на УТ11.1 (11.1.9.55).

ОЧЕНЬ верное и полезное замечание !

Неистово плюсую. Чистка кэша убивает настройки подключаемого оборудования.

не чиста кэша, а удаление какого-то там файлика (который dhjlt живёт в каталоге App). И не сбраывает настройки, а делает их недоступными (в файлике хранится строка, вроде GUID, а при сносе файла и последующей загрузке создаётся файл с новой такой строкой, не похожей на предыдущую). Лечение такой мелочи у специалиста занимает 10-15 минут. Но, конечно, не надо до такого доводить.

не совсем так, см. выше

А как-нибудь можно параметр ClearCache записать в файл списка информационных баз v8i?

Сам нашел посмотрев в %AppData%\1C\1CEStart\ibases.v8i
Нужно прописать
AdditionalParameters=/ClearCache

Огромное спасибо. Способ 1 очень пригодился.

Легче всего найти кэш через поиск файлов(Ctrl+F).
В настройках поиска ставим искать в скрытых и системных файлах и ставим на поиск файл: 1cv8.pfl.

Попробуйте найти так: системный диск(где Windows установлена):\Пользователи (или Users)\Нужный пользователь\AppData\Local\1c

Для ускорения работы 1С сделайте RAM-диск (диск в системе, который на самом деле находится в оперативной памяти) и присвойте букву R

В автозапуск всем пользователям поставить следующий скрипт ram_disk.bat

Читайте также: