1c 7 ole закрыть базу
Краткая справка по использованию OLE в 1С-Предприятии.
Для запуска системы 1С-Предприятия в качестве OLE Automation сервера из внешнего приложения выполняется следующая последовательность действий:
- Создается объект с OLE идентификатором (регистр символов непринципиален):
- V1CEnterprise.Application - версия независимый ключ;
- V77.Application - версия зависимый ключ;
- V77S.Application - версия зависимый ключ, SQL версия;
- V77L.Application - версия зависимый ключ, локальная версия;
- V77M.Application - версия зависимый ключ, сетевая версия.
- Выполняется инициализация системы 1С-Предприятие методом Initialize().
- Вызываются атрибуты и методы системы 1С-Предприятия как OLE Automation сервера.
1С-Предприятие в качестве OLE Automation сервера имеет 4 метода:
- Initialize() - выполнить инициализацию системы 1С-Предприятие.
- CreateObject() - Создает объект агрегатного типа данных 1С-Предприятия и возвращает ссылку на него.
- EvalExpr() - Вычислить выражение системы 1С-Предприятие.
- ExecuteBatch() - Выполнить последовательность операторов системы 1С-Предприятие.
Функция проверки валидности e-mail с использованием регулярных выражений RegExp (7.7)
Функция проверки валидности e-mail с использованием регулярных выражений RegExp (7.7). Данную функцию можно вставить в Глобальный модуль и пользоваться, например, при вводе или сохранении e-mail.
30.10.2011 11502 zaursoft 11
Проверка часового пояса
При использовании терминалок для удаленных баз, иногда при входе в базу данных необходимо исключить возможность входа пользователей с компьютеров с другим часовым поясом. Например, работают в Новосибирской базе с временем UTC +6 и пытаются зайти в базу с UTC +3.
16.05.2016 11826 kudenzov 3
1С-Предприятие в качестве OLE Automation сервера имеет 4 метода:
- Initialize() - выполнить инициализацию системы 1С-Предприятие.
- CreateObject() - Создает объект агрегатного типа данных 1С-Предприятия и возвращает ссылку на него.
- EvalExpr() - Вычислить выражение системы 1С-Предприятие.
- ExecuteBatch() - Выполнить последовательность операторов системы 1С-Предприятие.
1С 7.7 и новый 1С:Контрагент
Получение реквизитов контрагентов из 1С:Контрагент для старых конфигураций под 1с 7.7.
25.04.2022 365 zhenyat 1
Пример: создание документа в другой базе, открытой через OLE.
Выгрузка происходит из обработки. ВыбДокумент - документ, выбранный пользователем для выгрузки в другую базу.
Этот пример на 100% рабочий. Используется у меня для выгрузки документов из одной конфигурации в другую.
Методы: EvalExpr() - вычислить выражение.
Синтаксис метода такой: EvalExpr(), где:
- строковое выражение, записанное на встроенном языке 1С-Предприятия.
Результатом выражения может быть число, строка, дата или значение любого агрегатного типа данных. Результат с неопределенным типом преобразуется к строковому типу.
Проблема булева типа из 7.7 (можем передать, но не можем вернуть)
Изменим структуру нашей базы, а именно. Для Константы Константа1 изменим тип с простого типа Строка на составной Булево,Число
Разместим в глобальном модуле функцию, которая нам вернет значение в виде строки.
Вызов из 77 я описывать не буду, он уже для вас довольно тривиален.
В принципе вместо напсиания данного кода мы можем, запустив восьмёрку, вычислить выражение в табло и убедиться, что ЗначениеВстрокуВнутр(Истина)= ЗначениеВстрокуВнутр(Ложь)=
Определим функцию работы с нашей константой в обработке вызываемой из 7.7
Какой вывод мы можем сделать из этого лога
Что тип булево возвращается стороннему приложению как число.
Мы можем установить значение булева и любого неизвестного 7.7 типа через ЗначениеИзСтрокиВнутр, но как минимум в случае с булевым типом мы не сможем его прочитать обратно иначе чем число.
Сам собой напрашивается вывод, что надо быть аккуратным при проектировании внешних функций и метаданных, проектируя их таким образом что бы мы могли одназначно опредилить по возвращенному параметру булев тип и никогда бы не смогли спутать его с числом.
Методы:
1. Initialize() - открыть базу.
Синтаксис метода такой:
.RMTrade - имя переменной и ключевое слово RMTrade.
- командная строка, в которой можно прописать путь к базе, имф пользователя и пароль.
) - либо пустая строка, либо "NO_SPLASH_SHOW" - чтобы не показывать заставку при загрузке.
Для того, чтобы открыть базу через OLE - необходимо создать объект с идентификатором OLE, выполнить инициализацию базы и проверить успешность выполнения инициализации. В своем примере я не указываю никаких дополнительных параметров, поэтому открывается квадратное окошко выбора базы, предлагается выбрать пользователя и ввести пароль.
2. CreateObject() - создать объект агрегатного типа.
Этот метод создает объект агрегатного типа данных системы 1С-Предприятия и возвращает ссылку на него.
Синтаксис метода такой:
- строковое выражение, значение которого содержит имя агрегатного типа данных, заданного в конфигураторе. Например: "Справочник.Номенклатура", "Документ.ПриходнаяНакладная".
3. EvalExpr() - вычислить выражение.
Синтаксис метода такой:
- строковое выражение, записанное на встроенном языке 1С-Предприятия.
Результатом выражения может быть число, строка, дата или значение любого агрегатного типа данных. Результат с неопределенным типом преобразуется к строковому типу.
4. ExecuteBatch() - выполнить последовательность операторов.
Синтаксис метода такой:
- строковое выражение, текст программы на встроенном языке 1С-предприятия.
Возвращает значение логического типа: TRUE, если последовательность операторов выполнена успешно, FALSE, если нет. В OLE Automation TRUE и FALSE имеют соответственно значения -1 (минус единица) и 0.
Сравнение в базе OLE. Константы, перечисления, элементы справочников.
Для сравнения значений агрегатных типов данных в базе, открытой через Оле, использовать стандартный алгоритм с использование знаков равно и неравно (=,<>) не получается. Выход простой. Необходимо перейти от сравнения агрегатных типов данных к простым типам данных - дата, строка и число.
Отсюда вывод: мы сравниваем не сами элементы, а их уникальные атрибуты. Например, для элементов справочника - это код (если он есть), либо наименование. Для перечисления используется метод Идентификатор(). Вот два примера:
Здравствуйте. Конфигурации ТИС-Комплексная .
Требуется из ТиС одновременно работать в Комплексной.Главная задача- одновременно создавать определенный документ сразу в двух базах. Подскажите 1. Как сделать, чтобы при входе один раз подключиться к базе-приемнику и в ней работать.Я прописал в глобальном функцию подключения и в принципе, подключаюсь, но при записи каждого документа приходиться вновь подключаться. Вот код который прописан в глобальном ПриНачалеРаботыСистемы(). Как из документа обращаться к уже открытой базе?
БазаИсточник = СоздатьОбъект("V77.Application");
Путь=Строка("D:\1C_Base\Копия\");
Пользователь="";
пароль="";
Открыта = БазаИсточник.Initialize(БазаИсточник.RMTrade, "/D" + СокрЛП(Путь) + " /N" + Пользователь + "/P" + Пароль, "");
Если Открыта = 0 Тогда
Предупреждение("Ошибка открытия информационной базы ");
Иначе
Сообщить("База доступна");
(1) Я извиняюсь,не совсем силен в "арифметике", самоучка. Обращение в процедуре модуля документа, который надо перенести, напрямую БазаИсточник не распознается. Т.е. БазаИсточник.СоздатьОбъект("РасходнаяНакладная")не работает.
(5) Нет, не объявлял. Вот это я именно и хотел уточнить. Я еще не совсем соображаю, как модуль в документе "понимает" что эту переменную надо вытягивать из Глобального. Т.е. Надо прописать В начале процедуры перем БазаИсточник(Экспорт) и все?))
(8) Спасибо всем! Заработало)).Т.е. формально можно наоткрывать "кучу" баз и таким образом затормозить работу БазыПриемника в частности? Подскажите, насколько это глючная/неглючная тема таким вот образом работать через ОЛЕ (планирую четыре разных дока синхронизировать)
(10) Чем плохая проясните? Просто на другом форуме рекомендовали именно такой путь, либо изучать КД (что так же весьма нетривиально, т.к. реквизиты весьма разнятся, боюсь упустить что-нибудь). Можно еще через ДБФ выгрузка-загрузка, но тогда отлавливать любителей покопаться в заднем числе прийдется, это тоже засада еще та. Что посоветуете то?
(12) А подскажите, как в плане оперативности обстоит в случае с КД, и не надо ли дописывать что-то в конфигурацию, из которой планируется выгружать доки, я ж так понимаю КД этой надо как то знать, поменял ли чел что-то в "заднем числе". Или на удаление может док. какой поставили, ну или номер поменяли?
Сейчас я наладил пока обмен с помощью ДБФ. Но это гемор конечно же еще тот. Постоянно все изменения под запись, запрет редактирования "снимите пожалуйста" и т.д.
(24) Остап Бендер говорил: "Если по стране ходят денежные знаки, то у кого-то их должно быть много. "
(25) Бывает. Но дороже.
(27) Вот я и ищу этого кого-то.
(26) Какие изменения, какую запись? А с датой запрета - у тебя всегда будут. Ибо нефиг лазить в прошлые тысячелетия.
Мне вот такое насоветовали- но не потяну, тут за деньги только прийдется:
Подсказка: УРБД.
Таблица 1supdts содержит список ИД измененных объектов данных.
Каждую из двух баз сделать центральной. Для каждой создать базу - только приемник.
Настроить мирацию объектов данных как надо (для каждой миграция чего надо только в эту самую периферийку - как будто в другую базу данных).
Когда надо - читать из 1supdts список "чего надо вігружать", "раскручивать" по ID объектов до примитивных значений реквизитов и в нужном формате выгружатью Каковую выгрузку - загружать в приемник. И чистить 1supdts. Плюс опциональн (и возможно) крутить в прочих урбд-кишочках маркеры-номра-признаки выполненных обменов.
А в-общем, задача далеко не тривиальная. Хотя и вполне решаемая. Лично я - делал, по каковой причине с этими глупостями сюда и вылезаю.
Простенькие учебные функции (с описанием) для работы с базой 1С 7.7 через OLE.
Полностью средствами 1С, т.е. не требуют никаких внешних компонент.
Пользоваться можно бесплатно:-)
Вставляете в глобальный модуль и пользуетесь.
Цель: обучение, готовая иллюстрация подходов, возможность сразу использовать или, если нужно, доработать под свои цели.
Числа прописью в родительном падеже в 7.7? Легко!
Вывод числительных прописью в родительном падеже штатными средствами в три строчки кода.
20.06.2015 13490 gimalaj 3
Получение характеристик и управление текущим процессом 1С на основе WMI
Функционал для работы из 1С с текущим процессом класса Win32_Process. Пример получает текущее значение ОЗУ занятое процессом 1С. По описанной методике можно получать значения пиковых нагрузок на ОЗУ, время запуска текущей сессии 1С с точностью до миллисекунд. Определять загрузку активного ядра процессом и даже поменять приоритет самого процесса.
09.07.2012 21931 dusha0020 8
Неправильное изменение категории плательщика ПФР при проведении справки МСЭК
В ЗиК (релиз 314) при проведении документа "Справка МСЭК" вкралась ошибка: проведение некорректно изменяет категорию плательщика ПФР на "Работник сельскохозяйственной организации - инвалид", затем на "Работник колхоза, совхоза и другого сельскохозяйственного предприятия". Связано это с разными типами ожидаемого и возвращаемого перечисления в функции "глКатегорияПФР": "КатегорияПлательщикаПФ" и "КатегорииЗастрахованныхЛицПФР". Решение: изменить функцию "глКатегорияПФР" (около 2932-й строки).
17.10.2011 6600 Krokokot 3
Создание каркасной базы
Создадим новую конфигурацию
В ней мы создадим ПараметрСеанса МиниЛогЗапуска и глобальный модуль с атрибутами
Приведу код глобального модуля
Так же определим процедуру в модуле внешнего соединения
Так же добавим ещё один не глобальный модуль с атрибутами
И с единственной функцией
Универсальный способ сравнения таблиц
На эту тему уже есть статьи, но этот способ нигде не описан. Хотя я его использую с тех пор, как занимаюсь программированием. Его преимущество в простоте и универсальности: можно применять на 1С, SQL, а также в любом другом языке программирования.
05.07.2015 20173 json 3
Проверка ИНН v.7.7
Проверка ИНН, есть наверняка куча аналогов, для v.8.x точно есть и не один.
08.03.2014 9945 kras_71 0
Класс не существует
Заполнение реквизитов документов из предыдущего документа
Функция для автоматического заполнения реквизитов документов.
04.02.2019 5854 drevilo 2
Запросы,Конструкторы запросов и произвольные объекты 8.* через ОЛЕ
Мы использовали работу менеджеров для получения и изменения, данных базы,но более высокой производительностью в восьмёрке обладают запросы и их мы так же можем использовать.
В данном примере мы сначала пользуемся V81.Application, у которого есть интерфейсные библиотеки и методом NewObject (являющимся конструкцией языка 1С 8.* Новый) для вызова конструктора запроса.
В принципе такой порядок использования запроса необязателен, но из ComConnector мы не сможем вызвать метод ОткрытьМодально() по причине отсутствия интерфейсных библиотек.
Методы:
1. Initialize() - открыть базу.
Синтаксис метода такой:
.RMTrade - имя переменной и ключевое слово RMTrade.
- командная строка, в которой можно прописать путь к базе, имф пользователя и пароль.
) - либо пустая строка, либо "NO_SPLASH_SHOW" - чтобы не показывать заставку при загрузке.
Для того, чтобы открыть базу через OLE - необходимо создать объект с идентификатором OLE, выполнить инициализацию базы и проверить успешность выполнения инициализации. В своем примере я не указываю никаких дополнительных параметров, поэтому открывается квадратное окошко выбора базы, предлагается выбрать пользователя и ввести пароль.
2. CreateObject() - создать объект агрегатного типа.
Этот метод создает объект агрегатного типа данных системы 1С-Предприятия и возвращает ссылку на него.
Синтаксис метода такой:
- строковое выражение, значение которого содержит имя агрегатного типа данных, заданного в конфигураторе. Например: "Справочник.Номенклатура", "Документ.ПриходнаяНакладная".
3. EvalExpr() - вычислить выражение.
Синтаксис метода такой:
- строковое выражение, записанное на встроенном языке 1С-Предприятия.
Результатом выражения может быть число, строка, дата или значение любого агрегатного типа данных. Результат с неопределенным типом преобразуется к строковому типу.
4. ExecuteBatch() - выполнить последовательность операторов.
Синтаксис метода такой:
- строковое выражение, текст программы на встроенном языке 1С-предприятия.
Возвращает значение логического типа: TRUE, если последовательность операторов выполнена успешно, FALSE, если нет. В OLE Automation TRUE и FALSE имеют соответственно значения -1 (минус единица) и 0.
Исправление и проведение документов
Исправление и проведение документов, например, счетов-фактур, введенных на основании документов реализации, можно организовать многими способами. Описан сравнительно простой подход, реализованный и работающий несколько лет в реальной бухгалтерии 1Cv7.7. Без внешних компонентов.
23.07.2012 13775 BorisBelov 11
Методы: ExecuteBatch() - выполнить последовательность операторов.
Синтаксис метода такой: ExecuteBatch(), где:
- строковое выражение, текст программы на встроенном языке 1С-предприятия. Возвращает значение логического типа: TRUE, если последовательность операторов выполнена успешно, FALSE, если нет. В OLE Automation TRUE и FALSE имеют соответственно значения -1 (минус единица) и 0.
Пример: создание документа в другой базе, открытой через OLE.
Выгрузка происходит из обработки. ВыбДокумент - документ, выбранный пользователем для выгрузки в другую базу.
Этот пример на 100% рабочий. Используется у меня для выгрузки документов из одной конфигурации в другую.
Application и ComConnector сравнение соединение из 1С 8
Для исследрования вызова функций не глобальных модулей Сохраняем конфигурацию, и теперь нам есть что исследовать.
Для целого ряда методов в синтаксис помощнике указанно "Не используется в модуле внешнего соединения". Это упоминание не даёт полной картины.
Создаём обработку в нашей конфигурации, для проверки вызова наших методов.
В обработке обявляем две переменных и функцию установления соединения с базой
В переменной открытия мы передаём либо строку "V81.Application", либо строку "V81.ComConnector"
При этом для V81.Application возвращается Истина в connection, а cntr является нашим объектом через который мы обращаемся к базе
Для ComConnector в connection возвращается объект для обращения к базе, а cntr является объектом описанным в синтаксис помощнике как COM-соединитель.
Полезные функции. Склонение (должность и фамилия подписантов). Любой язык
Уехал директор в командировку, отпуск. , оставил доверенность на хозяйственные операции на другого сотрудника. Все договора и другие документы в обмороке - "подписант" теперь другой, по тексту тоже много правок. Пересмотрел много публикаций, вариантов много, не приглянулось. Сделал свой "Баян" . У меня всего-то крутится пять фигурантов . Нет простого, наглядного и всепогодного варианта без языкового барьера. Всем процессом управляет пользователь.
03.03.2014 18571 kompas-dm 5
Сравнение в базе OLE. Константы, перечисления, элементы справочников.
Для сравнения значений агрегатных типов данных в базе, открытой через Оле, использовать стандартный алгоритм с использование знаков равно и неравно (=,<>) не получается. Выход простой. Необходимо перейти от сравнения агрегатных типов данных к простым типам данных - дата, строка и число.
Отсюда вывод: мы сравниваем не сами элементы, а их уникальные атрибуты. Например, для элементов справочника - это код (если он есть), либо наименование. Для перечисления используется метод Идентификатор(). Вот два примера:
Так же мы рассмотрим нюансы подключения к базе из 1C v7.7.
К данной статье будет приложен иллюстративный материал в виде конфигурации с демо-обработкой, входящей в состав данной базы, и обработка для 7.7, демонстрирующая соединение с данной базой.
Устранение проблемы при работе с полем, которое ограничено маской ввода
Для поля, у которого установлена маска ввода, перед программной инициализацией необходимо начальное значение преобразовать к значению в соответствии с маской, иначе буду потеряны символы в местах разделителях. В данной публикации приведена функция, которая универсально выполняет данное действие.
08.08.2012 17323 www2000 4
Краткая справка по использованию OLE в 1С-Предприятии.
Для запуска системы 1С-Предприятия в качесте OLE Automation сервера из внешнего приложения выполняется следующая последовательность действий:
- Создается объект с OLE идентификатором (регистр символов непринципиален):
- V1CEnterprise.Application - версия независимый ключ;
- V77.Application - версия зависимый ключ;
- V77S.Application - версия зависимый ключ, SQL версия;
- V77L.Application - версия зависимый ключ, локальная версия;
- V77M.Application - версия зависимый ключ, сетевая версия.
- Выполняется инициализация системы 1С-Предприятие методом Initialize().
- Вызываются атрибуты и методы системы 1с-Предприятия как OLE Automation сервера.
Методы: CreateObject() - создать объект агрегатного типа.
Этот метод создает объект агрегатного типа данных системы 1С-Предприятия и возвращает ссылку на него.
Синтаксис метода такой: CreateObject(), где: - строковое выражение, значение которого содержит имя агрегатного типа данных, заданного в конфигураторе. Например: "Справочник.Номенклатура", "Документ.ПриходнаяНакладная".
Свойства и методы COM-соединителя.
Свойство, только чтение, Тип: Число.
Определяет максимальное число одновременно существующих объектов COM-соединение, созданных через данный COM-соединитель.
Число одновременно существующих соединений включает также число соединений, находящихся в пуле COM-соединений. Значением по умолчанию 0 (число одновременно существующих объектов COM-соединение не ограничено).
Если же объект COM-соединитель был создан в Singlethreaded Apartment (STA), то реально все действия с COM-соединителем и созданными им объектами COM-соединение будут выполняться в одном потоке. В этом случае, если метод Connect не сможет на первом проходе найти подходящее или создать новое COM-соединение, то выполнение этого метода зациклится, так как освободить уже, возможно, ненужное другое COM-соединение будет нельзя по той причине, что операция освобождения объекта COM-соединение должна быть выполнена в том же потоке, в котором уже выполняется метод Connect.
Следует помнить, что создание COM-объектов из приложения 1C:Предприятие 8.1 выполняется из STA. Это же справедливо для большинства GUI-приложений Windows.
Строка параметров, используемая 1С:Предприятием для соединения с информационной базой.
Строка соединения представляет собой набор параметров, каждый из которых является фрагментом вида: , где Имя параметра — имя параметра, а Значение — его значение. Фрагменты отделяются друг от друга символами ';'. Если значение содержит пробельные символы, то оно должно быть заключено в двойные кавычки (").
Для файлового варианта определен параметр: File — каталог информационной базы (файловый режим);
Для клиент-серверного варианта определены параметры: Srvr — имя сервера 1С:Предприятия; Ref — имя информационной базы на сервере;
Для всех вариантов определены параметры: Usr — имя пользователя; Pwd — пароль и UC позволяет выполнить установку соединения с информационной базой, на которую установлена блокировка установки соединений.
Если при установке блокировки задан непустой код доступа, то для установки соединения необходимо в параметре /UC указать этот код доступа.
Создает соединение с информационной базой 1С:Предприятия 8.1.
Устанавливает соединение с информационной базой 1С:Предприятия 8.1 и возвращает ссылку на объект COM-соединение.
Установка соединения выполняется по следующему алгоритму:
- COM-соединение с требуемыми параметрами ищется в пуле соединений. Если найдено, то используется оно.
- Если COM-соединение с требуемыми параметрами не найдено, то анализируется не исчерпан ли лимит по числу одновременно существующих соединений. Если не исчерпан, то создается новое COM-соединение.
- Если лимит исчерпан, но при этом в пуле имеются неиспользуемые COM-соединение, то соединение, дольше всех находящееся в пуле, удаляется и создается новое COM-соединение.
- Если никаким способом найти подходящее или создать новое COM-соединение не удалось, то происходит ожидание освобождения COM-соединение другим потоком, после чего весь процесс повторяется, начиная с пункта 1.
- (обязательный)
- Тип: Строка. Идентификатор протокола (по умолчанию tcp), имя компьютера или IP адрес агента сервера (обязательно), номер IP порта агента сервера (по умолчанию 1540). Например, значением параметра могут быть следующие строки: «server1», «tcp://server1», «tcp://server1:1540», «server1:1540».
Выполняет подсоединение к агенту сервера 1С:Предприятия 8.1, работающему на указанном серверном компьютере.
Если подсоединение невозможно, то вызывается исключение.
- (обязательный)
- Тип: Строка. Имя или IP адрес рабочего процесса, с которым должно быть установлено соединение, в формате: ://: Например:
- testcomp
- tcp://testcomp
- tcp://testcomp:2354
- tcp://43.73.34.11:5342.
Создает административное соединение с рабочим процессом кластера серверов 1С:Предприятия 8.1.
Для установки соединения с базой надо методу Connect нашего объекта передать строку соединения Для файловой версии данная строка содержит параметры:
- File с указанием пути к папке с файлом базы
- Usr с указанием имени прользователя
- Pwd с указанием пароля прользователя
Для соединения с сервером Usr и Pwd прежние параметры, а вот вместо File два параметра Srvr с указанием имени сервера и Ref с указанием имени Базы
Доработка ТиС 9.2 на предмет запрета одинаковых (дублей) артикулов
Проверка уникальности артикула
03.07.2012 11365 atb123 11
Хитрость. Использование БУЛЕВО при OLE обмене/подключении из 7.7 к 8
Как известно, при OLE обмене доступны только типы СТРОКА, ЧИСЛО, ДАТА. А вот БУЛЕВО (ИСТИНА, ЛОЖЬ) использовать при подключении из 7.7 к 8 не получается. Как же быть? Есть хитрость, как использовать тип булево в семерке при обмене с 1С8! :)
28.09.2011 17348 dnikolaev 8
Печать таблицы значений в 1С 7.7 при отладке
Функция выводит таблицу значений в табличный документ. (v7.7) Особенно полезно при отладке. Не нужно вносить изменения в код, вызываем функцию как вычисляемое выражение при останове. Если таблица обрабатывается в несколько этапов, можно вывести её после каждого и визуально проследить эволюцию.
30.06.2021 2047 Zoltan_Black 11
Методы: Initialize() - открыть базу.
- .RMTrade - имя переменной и ключевое слово RMTrade.
- - командная строка, в которой можно прописать путь к базе, имф пользователя и пароль.
- ) - либо пустая строка, либо "NO_SPLASH_SHOW" - чтобы не показывать заставку при загрузке.
Для того, чтобы открыть базу через OLE - необходимо создать объект с идентификатором OLE, выполнить инициализацию базы и проверить успешность выполнения инициализации. В своем примере я не указываю никаких дополнительных параметров, поэтому открывается квадратное окошко выбора базы, предлагается выбрать пользователя и ввести пароль.
Исправление в типовой комплексной конфигурации глобальной функции глВсеРеквизитыДокументаЗаполнены()
В типовых конфигурациях глобальная функция глВсеРеквизитыДокументаЗаполнены() не работает с реквизитами табличной части. Данная статья содержит текст исправленной функции, корректно проверяющей табличную часть.
20.08.2014 8380 hvv2002 0
Вызовы из восьмёрки через Application и ComConnector
Пробуем организовать вызов функций нашей конфигурации из обработки на 8.1
Пишем процедуру вызова функций с определением, что возвращается при вызове
Что это нам даёт?
Значения типа неопределено,NULL,Истина,Ложь передаются в соединение с базой корректно.
Модуль внешнего соединения при подключении через V81.Application не отрабатывает.
Модуль приложения при подключении через V81.Application отрабатывает.
Тип подключения, в котором мы подключаемся к базе, соответствует типу подключения клиент
Пишем аналогичную процедуру, но уже с использованием ComConnector
Теперь попробуем обратиться к нашим объектам, ну хотя бы к V81.Application из 1С 7.7
Пишем примерно тот же код
Так мы убеждаемся что Ложь соответствует 0, Истина -1, а NULL и неопределено ничего в стандартах 1Cv7.7 не возвращают
Как же отличить NULL от неопределено?
В описание данного метода сказано "Получает строковое представление значения произвольного типа".
Пробуем использовать этот метод из 7.7
Добавив в нашу Функцию ВызовФункций() несколько строк кода
Мы можем получить тип любых метаданных используя этот пример и описание работы с метаданными
Проблема времени из 7.7 (не можем передать)
Добавляем в нашу базу регистр накопления и документ регистратор и пишем в 7.7 простую функцию, формирующую движения данного документа
Вывод из этого лога прост. Время даже при передаче через ЗначениеИзСтрокиВнутр теряется.
Использование менеджеров для работы с данными через ОЛЕ
Мы прояснили процесс работы с метаданными, а теперь обратимся к работе с данными
В данной процедуре мы указываем наименование справочника, и если такого наименования нет, то мы создаём элемент справочника. Выводим всю информацию которую можем получить и присваиваем значение элемента справочника нашей константе
Процедура расшифровки ячейки таблицы в отчетах 1С 7.7
Хочу поделиться с вами универсальной процедурой для расшифровки ячеек печатной формы отчетов в 1С 7.7.
24.09.2015 19342 Anzhey 14
См. также
Дата запрета редактирования
Очень часто необходимо постоянно закрывать период для редактирования документов. Вот как я вышла из этой ситуации.
Специальные предложения
Если в гл81Сv77_СобратьСтрокуИнициализации()
строку
txtСтрока = txtСтрока+"/D "+txtПуть+" ";поменять на строку
txtСтрока = txtСтрока+"/D """+txtПуть+""" ";то будут нормально восприниматься пути с пробелами ))
Просмотры 29827
Загрузки 0
Рейтинг 45
Создание 06.08.08 14:34
Обновление 06.01.09 16:31
№ Публикации 57211
Тип файла Нет файла
Конфигурация Конфигурации 1cv7
Операционная система Не имеет значения
Страна Россия
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)
Код открыт Не указано
Скрытие помеченных на удаление в справочнике
Корректно скрываем помеченных на удаление в справочнике, с иерархией и без. Вроде простая и нужная вещь, но почему-то нигде не встречалась
08.08.2012 15007 mikukrnet 7
Читайте также: