1C как OLE сервер

Опубликовано Опубликовано в рубрике 1C Программирование, Разное

Справка по использованию OLE в 1С-Предприятии.

Для запуска системы 1С-Предприятия в качесте OLE Automation сервера из внешнего приложения выполняется следующая последовательность действий:

  • Создается объект с OLE идентификатором (регистр символов непринципиален):
  • V1CEnterprise.Application — версия независимый ключ;
  • V77.Application — версия зависимый ключ;
  • V77S.Application — версия зависимый ключ, SQL версия;
  • V77L.Application — версия зависимый ключ, локальная версия;
  • V77M.Application — версия зависимый ключ, сетевая версия.
  • Выполняется инициализация системы 1С-Предприятие методом Initialize().
  • Вызываются атрибуты и методы системы 1с-Предприятия как OLE Automation сервера. (далее…)

Структура csv файла

Опубликовано Один комментарийОпубликовано в рубрике 1C Программирование, Разное

Для того, чтоб программа понимала как работать с scv файлом данных необходимо, чтоб в каталоге вместе с файлом csv находился файл schema.ini
Файл schema.ini выглядит примерно так:

В данном файле описаны два различных файла csv, в обоих случаях разделитель точка с запятой, при необходимости можно изменять, в обоих случаях файл не содержит заголовочной строки. Но в первой файле 2 колонки, первая содержит строку до 20 символов и называется Code, второая строка содержит число не более 2 символов  называется Day.

Во втором файле 3 колонки,  первая под названием Code строка 20 символов, вторая и третья колонки содержат дату и называются соответственно ND и KD.

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

Номер строки = Наименование ТипДанных Точность

1С импорт данных из csv файла

Опубликовано Опубликовано в рубрике 1C Программирование, Разное

Поскольку csv файл — является текстовым форматом данных с разделителем мы можем получать данные из него потем запроса с помощью Microsoft Text Driver, ну и конечно же 1cpp.dll

В данном примере мы получим ТаблицуЗначений (ТЗ) содержащую все данные, но что делать если нам необходимы не все, а только часть данных?

Во первых нам необходимо разобраться со структурой csv файла.

После того как мы разобрались с структурой файла мы можем совершать запросы к определенным данным, например так:

Поля Code и KD описаны в файле shema.ini, поэтому мы можем использовать их в запросе к нашему файлу. Результатом будет ТаблицаЗначений содержащая 2 колонки с данными.

1C Выгрузка данных в Excel при помощи ADO

Опубликовано Один комментарийОпубликовано в рубрике 1C Программирование, Разное

Ранее нами была рассмотрена задача загрузки данных в 1с из Excel при помощи ADO, Теперь рассмотрим обратный процесс:Focuz

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

Достоинства:

Недостатки:

Как и в предыдущем примере данный метод не требует наличия установленной версии программы Excel, Единственное требование файл, в который мы будем писать данные никем не был занят (открыт)…

Как ускорить проведение документов в 1С 7.7?

Опубликовано Опубликовано в рубрике 1C Программирование, Разное

Прежде всего нужно исчерпать все штатные возможности.

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

А вот обратить внимание на состояние данных стоит самым внимательным образом. Например, регистры должны закрываться. Вот пример из практики.

В программе оформляются документы «Реализация» с видом операции «Прочая розничная реализации», которые формируют задолженность с видом долга «Долг за товары».

Они закрывается безналом (Строка выписки приход). (далее…)

Работа в пакетном режиме. Часть 5

Опубликовано 2 комментарияОпубликовано в рубрике 1C Программирование

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

  • тестирование и исправление информационной базы;
  • выгрузка данных;
  • сохранение данных;
  • автообмен распределенной информационной базы.

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

Структура файла пакетного режима. Часть 4

Опубликовано 2 комментарияОпубликовано в рубрике 1C Программирование

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

[General]

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

Output=Имя_файла

Указывает файл, в который будет дополнительно направляться вывод записей о выполняемых действиях в пакетном режиме. Имя файла может указываться как абсолютным путем, так и относительно каталога, в котором расположен файл параметров. Формат файла дополнительного вывода совпадает с форматом вывода в журнал регистрации.

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

Quit=Значение

Указывает, нужно ли завершать выполнение Конфигуратора после выполнения действий пакетного режима.

Если задано Y или 1, после выполнения действий пакетного режима, программа будет завершена, а если 0 или N, то нет.

Если параметр не задан, то программа будет завершена.

CheckAndRepair=Значение

Указывает, нужно ли выполнять тестирование и исправление информационной базы.

Если задано Y или 1, тестирование и исправление будет выполняться, а если 0 или N, то нет.

Если параметр не задан, то тестирование и исправление выполняться не будет.

UnloadData =3начение

Указывает, нужно ли выполнять выгрузку информационной базы.

Если задано Y или 1, выгрузка будет выполняться, а если 0 или N, то нет.

Если параметр не задан, то выгрузка выполняться не будет.

SaveData=Значение

Указывает, нужно ли выполнять сохранение информационной базы.

Если задано Y или 1, сохранение будет выполняться, а если 0 или N, то нет.

Если параметр не задан, то сохранение выполняться не будет.

AutoExchange=Значение

Указывает, нужно ли выполнять автообмен в распределенной информационной базе.

Если задано Y или 1, автообмен будет выполняться, а если 0 или N, то нет.

Если параметр не задан, то автообмен выполняться не будет.

[CheckAndRepair]

Данная секция предназначена для описания выполнения тестирования и исправления информационной базы.

Repair=Значение

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

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

Если задано значение N или 0, то будет производиться только тестирование.

Если параметр не задан, то будет производиться тестирование и исправление.

PhysicalIntegrity=Значение

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

Если задано Y или 1, проверка будет производиться, если N или 0, то нет.

Если параметр не задан, проверка будет производиться.

Reindex=Значение

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

Если задано Y или 1, реиндексация будет производиться, если N или 0, то нет.

Если параметр не задан, реиндексация будет производиться.

Если установлен режим исправления, то рекомендуется установить и режим реиндексации.

LogicalIntegrity=Значение

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

Если задано Y или 1, проверка будет производиться, если N или 0, то нет.

Если параметр не задан, проверка будет производиться.

RecalcSecondaries=Значение

Параметр указывает, следует ли производить обновление (пересчет) вторичных данных информационной базы, то есть служебных данных, которые могут быть рассчитаны на основании другой информации, хранящейся в информационной базе.

Если задано Y или 1, обновление будет производиться, если N или 0 — то нет.

Если параметр не задан, обновление будет производиться.

RecalcTotals=Значение

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

Если задано Y или 1, пересчет будет производиться, если N или 0 — то нет.

Если параметр не задан, пересчет будет производиться.

Pack=3наченис

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

Если задано Y или 1, упаковка будет производиться, если N или 0, то нет.

Если параметр не задан, упаковка не будет производиться.

Данный параметр имеет смысл, только если данные хранятся в формате DBF/CDX.

SkipUnresolved=Значение

Параметр указывает, следует ли пропускать неразрешенные ссылки, или их следует исправлять.

Если задано Y или 1, неразрешенные ссылки будет только диагностироваться, если N или 0, то ссылки будут разрешаться способом, задаваемым параметром

CreateForUnresolved (см. ниже).

Если параметр не задан, ссылки будут исправляться.

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

CreateForUnresolved=Значение

Параметр указывает способ разрешения неразрешенных ссылок.

Если задано Y или 1, для неразрешенной ссылки будет создан объект соответствующего типа, если N или 0, то ссылка будет очищена.

Если параметр не задан, будет создан объект.

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

Reconstruct=Значение

Параметр указывает способ исправления информационной базы в случае, когда данные объекта частично потеряны. Если задано Y или 1, будет создан объект, заполненный имеющимися данными, если N или 0, то данные объекта будут удалены.

Если параметр не задан, будет создан объект.

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

[UnloadData]

Данная секция предназначена для описания выполнения выгрузки данных информационной базы.

UnloadToFile=Имя_Файла

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

Параметр должен быть задан обязательно.

IncludeUserDef=Значение

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

Если задано Y или 1, то список пользователей будет включен в файл переноса, если 0 или N, то нет.

Если параметр не задан, то список будет включен в файл переноса.

Password=Пароль

Параметр задает пароль, которым будет закрыт файл переноса данных.

Если параметр не задан, то файл переноса не будет закрыт паролем.

[SaveData]

Данная секция предназначена для описания выполнения сохранения данных информационной базы.

SaveToFile=Имя_Файла

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

Параметр должен быть задан обязательно.

FileList=Список сохраняемых файлов

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

Если параметр не задан, то список сохраняемых файлов будет взят из файла 1CV7FILE.LST, так же как и в случае выполнения сохранения из пункта меню.