Пример работы с Oracle через OracleInProcServer

Публикация № 120965

Разработка - Практика программирования

В данной статье рассматривается пример работы с СУБД Oracle через OracleInProcServer.

Существуют 2 способа соединения с базой Oracle:

1) Через ODBC (Open DataBase Connectivity)

2) Через OOO4O (Oracle Objects for OLE)

 

Небольшое отступление касаемо их отличий.

Что такое ODBC?

ОDBC - это стандартизованное API, разработанное по спецификации SQL Access Group, которое
позволяет соединяться с любой базой данных, поддерживающей SQL. В нем определен стандартный
набор функций, кодов ошибок и типов данных, которые можно использовать для разработки приложений,
независимо от базы данных. Обычно, ODBC используется, если требуется независимость от базы данных,
или осуществляется работа с разными источниками данных.

Основные преимущества:

  1. Простота работы с ним
  2. Входит в поставку ОС Windows

Недостатки:

  1. (Главное) Не поддерживает большинства расширений Oracle
  2. Производительность ниже чем у OOO4O

Что такое Oracle Objects for OLE (OO4O)?

OO4O – это средство доступа к БД, базирующееся на COM, позволяющее получать, оптимизированный доступ к БД Oracle. 
Входит в поставку Oracle и открывает перед разработчиками доступ ко всем возможностям предоставляемым БД Oracle.

Основные преимущества: 

  1. Полная поддержка координатора транзакций в Microsoft Transaction Server (MTS)
  2. (Главное) Простой доступ к переменным и объектам специализированных типов данных реализованных в Oracle, включая:
    1. Object References (REFs – ссылочный тип)
    2. Object Instances (Objects – объектный тип)
    3. Nested Tables (Вложенные таблицы)
    4. Varrays (Массивы переменной длины)
    5. BLOBs, CLOBs, NCLOBs and BFILEs
  3. Поддержка параметров типа курсор (это единственный способ возвратить результат выполнения оператора SELECT (Resultset) из PL/SQL-блока или хранимых PL/SQ-процедур)
  4. Полный доступ к возможностям Oracle Advanced Queuing
  5. Эффективное управление подключениями к БД и пользовательскими сессиями (connection pooling и multiplexing)
  6. Большая производительность

Недостатки: Необходимо установить клиент Oracle на каждой пользовательской машине где планируется работать через OO4O.

 

Теперь рассмотрим сам процесс работы через OO4O.

 Для начала нужно установить клиентскую часть Oracle которая идёт вместе с поставкой СУБД Oracle.
Затем сконфигурировать файл tnsnames.ora который находится в директории:
...\oracle\ora92\network\admin

Приведите содержание файла к следующему виду:

ИмяБазы=
  (DESCRIPTION=
    (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=IPАдресСервера)
      (PORT=1521)
    )
    (CONNECT_DATA=
      (SERVICE_NAME=ИмяБазы)
    )
  )

Введите свое ИмяБазы и IPАдресСервера и сохраните файл.

 

В 1С соединение с базой  выглядит следующим образом:

session = Новый COMОбъект("OracleInProcServer.XOraSession");     //Создаем COM обьект
db = session.OpenDatabase(Base,Login+"/"+Pass,);                          //Открываем базу

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

значит произошла ошибка, которая будет описана в методе session.LastServerErrText

Пример соединения:


Функция ПодключитьсяКБазеOralce(Base,Login,Pass)
    Попытка
        session = Новый COMОбъект("OracleInProcServer.XOraSession");
        db = session.OpenDatabase(Base,Login+"/"+Pass,);                     
    Исключение
        Сообщить(session.LastServerErrText); 
    КонецПопытки;
    Возврат session.LastServerErr
КонецФункции

 

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

db.Parameters.Add (Ключ1, Значение1,1);

db.Parameters.Add (Ключ2, Значение2,1);

...

db.Parameters.Add (КлючN, ЗначениеN,1);

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

        Для й = 0 по db.Parameters.Count-1 Цикл
            db.Parameters.Remove(0);
        КонецЦикла;    
 

Ну и наконец сам запрос к базе выглядит так:

oradynaset = db.CreateDynaset(ТекстЗапроса,);

 

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

Функция ЗапросКOracle(ТекстЗапроса,Параметры=Неопределено)      
    Если Параметры <> Неопределено Тогда
        Для й = 0 по db.Parameters.Count-1 Цикл
            db.Parameters.Remove(0);
        КонецЦикла;    
        Для Каждого СтрПараметр Из Параметры Цикл
            db.Parameters.Add (СтрПараметр.Ключ, СтрПараметр.Значение,1);    
        КонецЦикла;    
    КонецЕсли;

    oradynaset = db.CreateDynaset(ТекстЗапроса,);
    

    //Формируем структуру Таблицы значений из результата запроса
    Тз = Новый ТаблицаЗначений;
    ЧКТ = oradynaset.Fields.Count();
    Для сч = 0 По ЧКТ-1 Цикл
        Тз.Колонки.Добавить(Строка(oradynaset.Fields(сч).Name()));
    КонецЦикла;
    

    //Копируем в Таблицу значений строки результата запроса
    й=1;
    Пока (oradynaset.EOF=0) Цикл
        СТЗ = Тз.Добавить();            
        Для сч = 0 По ЧКТ-1 Цикл
            СТЗ[Строка(oradynaset.Fields(сч).Name())] = oradynaset.Fields(Строка(oradynaset.Fields(сч).Name())).Value;
        КонецЦикла;
        Состояние("загрузка данных в таблицу значений: "+й+" из "+oradynaset.RecordCount)=й+1;
        oradynaset.MoveNext();
    КонецЦикла;

    Возврат Тз
КонецФункции



Пример Процедуры которая использует выше описанные функции:

Процедура Выполнить()
     // подключаемся к базе
     Если ПодключитьсяКБазеOralce("ИмяБазы","Логин","Пароль") <> 0 Тогда

               Возврат
     КонецЕсли;
      

     // задаем текст запроса (в данном случае извлекаем данные за определенный период)
     ТекстЗапроса  = "SELECT *
                                 |FROM dbName.TableName
                                 |WHERE DATE between To_Date(:DATE1,:DFormat) And To_Date(:DATE2,:DFormat)
                                 |";

    
     // задаем параметры
     Параметр1=Дата1;
     Параметр2=Дата2;
     Параметр3="'yyyy.mm.dd hh24:mi:ss'";
     ПараметрыЗапроса = Новый Структура;
     ПараметрыЗапроса.Вставить("DATE1",Параметр1);
     ПараметрыЗапроса.Вставить("DATE2",Параметр2);
     ПараметрыЗапроса.Вставить("DFormat",Параметр3);
    
     // выполняем запрос
     Таблица = ЗапросКOracle(ТекстЗапроса,ПараметрыЗапроса)
КонецПроцедуры

И на последок. Не забудьте что формат дат в 1С и ORACLE разный, поэтому дату до передачи в параметр нужно форматировать,
привести к виду: yyyy.mm.dd hh24:mi:ss  


P.S. У кого есть дополнения пишите,  давайте расширим материал

Скачать файлы

Наименование Файл Версия Размер
ЗапросКOracle

.epf 6,70Kb
15.03.12
58
.epf 6,70Kb 58 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
0. sckif 126 15.04.12 10:13 Сейчас в теме
В данной статье рассматривается пример работы с СУБД Oracle через OracleInProcServer.

Перейти к публикации

1. Ish_2 1052 15.04.12 10:13 Сейчас в теме
Всё это хорошо. Но где же анализ ?
Сравнение с другими способами ? (ВнешниеИсточникиДанных,ADODB)
Зачем нам нужно такое соединение ? В чем его выигрыш ?
В клиент-серверном варианте я должен устанавливать клиента Oracle на каждом клиенте 1с Прелприятия ?
2. BRT 33 10.07.12 14:14 Сейчас в теме
В моем случае такое соединение как раз пригодилось.
По факту такой способ позволяет формировать запросы с необходимыми параметрами.
Во вторых, у меня на части машин ODBC не работает.
Клиент Oracle необходим даже при ODBC коннекте.
Однозначно необходимая вещь.
3. pri_hod 89 18.07.12 19:03 Сейчас в теме
валится на строке
session = Новый COMОбъект("OracleInProcServer.XOraSession");

все установил что только можно
{Форма.Форма.Форма(4)}: Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса: Недопустимая строка с указанием класса
4. sckif 126 20.07.12 14:40 Сейчас в теме
(3) pri_hod, он не видит класс OracleInProcServer.XOraSession, попробуй удалить и заново поставить клиент Oracle, если не поможет попробуй на другой машине, возможно винда моросит у тебя.
5. pri_hod 89 20.07.12 15:29 Сейчас в теме
проблема в клиенте оракл. нужно использовать 32 битную версию
6. rago 24.07.12 19:17 Сейчас в теме
Зачем тут какие-то сравнения с другими способами подключения?
Вещь действительно необходимая. Я вот использую на данный момент такое же подключение к БД Oracle, только работаю через внешние источники данных (пришлось, конечно, попотеть, чтобы подключить БД - получилось только через клиента Oracle тот, который в Ora92 ставится)
7. jake.cmlt@gmail.com 10.09.12 14:27 Сейчас в теме
Добрый день.
А что делать, если используется 64-разрядный сервер? Пробую - при создании COMОбъекта 1с рушится. 1с - файловая.
8. Rom_Kat 14 03.04.13 15:58 Сейчас в теме
добрый день.
При попытке подключения выдает ошибку ORA-12154: TNS:невозможно разрешить заданный идентификатор соединения
клиент версии 10. sqlplus подключается без проблем.
Не подскажете куда копать?
9. BRT 33 16.05.13 13:08 Сейчас в теме
Затем сконфигурировать файл tnsnames.ora который находится в директории:
...\oracle\ora92\network\admin

В основном проблемы могут быть тут.
Сам провозился с подобной ошибкой неделю.
Снес "все" оракл настройки, заново сконфигурировал, не работало. При этом на другой машине где только что оракл поставили, завелась без проблем даже на 64 бит.
Проверка на работоспособность это обычная попытка ODBC подключения. В ней можно построить строку подключения и использовать ее.
В инете много статей по этому поводу.
10. freebsdd 1 05.09.13 09:27 Сейчас в теме
Дополнение есть - Ввиду сложности полноценной настройки С НУЛЯ Оракла, не хватает добавить инструкцию по установке Oracle Objects for OLE и ODBC. Я работал всё время с MS SQL - просто прелесть, с "первой буквы", вышла нужда подключаться к базе Oracle с 1С, для меня это вышла большая ЖОПА, 3-ий день уже долблю долбанный ОРАКЛ, сотни вкладок, часы и тоны инфы (кто то неделю, кто 2 недели). Сложновато с нуля его, вот была бы путная статейка.
11. DenisCh 05.09.13 09:32 Сейчас в теме
Я работал с ораклём через InstantClient'а - на 64 бит повозиться пришлось, но настроил в конце концов...
Там хитрости в наличии длл, путях (точнее расположении нужных каталогов в порядке указания путей) и настройке TNS
mishkaaa; +1 Ответить
13. freebsdd 1 05.09.13 09:43 Сейчас в теме
(11) DenisCh, Оо, а какие хитрости?
14. DenisCh 05.09.13 09:49 Сейчас в теме
(13) freebsdd, минимальный клиент не содержит каких-то длл (их я искал через depence browser), пути к бинам должны быть первыми в переменной Path, ну и правильно настроить TNS - но это меньшая из всех проблем...
15. freebsdd 1 05.09.13 11:12 Сейчас в теме
(14) DenisCh, а правильно настроить TNS, это только файл tnsnames.ora или ещё что то?
16. DenisCh 05.09.13 12:18 Сейчас в теме
(15) freebsdd, он самый, насколько я помню...
17. freebsdd 1 05.09.13 12:35 Сейчас в теме
(16) DenisCh, Вижу это давно было :))) Буду продолжать настраивать ДОракл! Спасибо Вам за советы!
12. freebsdd 1 05.09.13 09:35 Сейчас в теме
Установил ODAC 11.2, дела продвигаются, кстати, кто нибудь знает, при открытии этой обработки выдаёт сообщение: "Запуск программы невозможен, т.к. на компьютере отсутствует OCI.DLL..." Запускается терминально на Сервере, OCI.DLL Закинул уже и в System32 и в папку 1c, есть у кого нибудь опыт борьбы с этим?
18. Alex_grem 247 09.02.14 22:11 Сейчас в теме
Спасибо за статью, очень вовремя нашел!
19. ben_art 12 18.11.14 11:27 Сейчас в теме
Подскажите какой клиент лучше использовать и будьте так добры выложить его тут.)
20. sckif 126 03.12.14 13:25 Сейчас в теме
(19) ben_art, Качай с сайта Oracle, там он в свободном доступе есть.
21. Nuuq 76 04.03.20 11:26 Сейчас в теме
На сервере 1С 8.3.16.1148 64-bit вылетает с ошибкой.

ОбъектПодключения = Новый COMОбъект("OracleInProcServer.XOraSession");
по причине:
-2147221164(0x80040154): Class not registered

Oracle клиент установлен - пробовал 10 и 11 x64 - никак не выходит, TNS прописан.

У кого-нибудь получилось это использовать на сервере?
(да и на клиенте в x64)
Оставьте свое сообщение

См. также

Загрузка табелей рабочего времени из файлов Excel Промо

Зарплата Обработка документов Учет рабочего времени Загрузка и выгрузка в Excel v8 v8::СПР ЗУП3.x Россия БУ Абонемент ($m)

Обработка по загрузке в типовой документ «Табель» конфигурации ЗУП 3.1 данных из файлов MS Excel, согласно шаблону.

18.10.2019    8833    6    HostHost    0    

Списание (корректировка) задолженности контрагентов УНФ 1.6

Закрытие периода Дебиторская и кредиторская задолженность Обработка документов Дебиторская и кредиторская задолженность v8 УНФ Украина БУ Абонемент ($m)

Обнуление задолженности контрагентов в конфигурации "Управление небольшой (нашей) фирмой" версии 1.6 с помощью документа "Корректировка регистров".

1 стартмани

24.07.2019    20339    13    DMon    1    

Вам нравятся запросы в 1С?

Практика программирования Разработка v8 v8::Запросы 1cv8.cf Абонемент ($m)

Речь не только о том, что простейший запрос с "легальным" оформлением растянется на пол-экрана, речь еще обо всем, что нужно написать "в нагрузку" к тексту запроса. Все эти "Новый Запрос", "УстановитьПараметр" и последующие пляски с обработкой результата... Пора с этим заканчивать!

1 стартмани

03.07.2019    18763    4    m-rv    86    

Регистрация документов с измененной суммой

Обработка документов v8 1cv8.cf Абонемент ($m)

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

1 стартмани

20.04.2019    17288    3    ryan    0    

StartManager 1.4 - Развитие альтернативного стартера Промо

Стартеры 1С v7.7 v8 Абонемент ($m)

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

1 стартмани

23.04.2014    118122    778    Alexoniq    1536    

Блин, мы забыли включить регламентные задания…

Сервисные утилиты v8 Абонемент ($m)

Привет, Инфостарт! Сегодня расскажу, как я решил проблему с выключенными регламентными заданиями в рабочих базах. Желая исключить человеческий фактор и минимизировать количество ошибок, я написал небольшую конфигурацию.  В конфигурации два регламентных задания. Первое периодически подключается к кластеру и сохраняет текущие параметры: имя, Сервер БД, базу СУДБ, блокировки входа и регламентных заданий и т.д. Второе задание периодически проверяет эти параметры на ошибки.

1 стартмани

08.04.2019    15988    15    slozhenikin_com    37    

Валовая прибыль для УПП 1.3, КА 1.1 в режиме РАУЗ (работа типового отчета без доработок конфигурации)

Обработка документов v8 КА1 УПП1 УУ Абонемент ($m)

Простое и мгновенное решение для использования типового отчета "Валовая прибыль" в конфигурациях "Управление производственным предприятием 1.3", "Комплексная автоматизация 1.1" (а также отраслевых решений на их базе) при включенном режиме РАУЗ (расширенная аналитика учета затрат). Не требует настройки или изменения конфигурации, либо может быть, для дополнительного удобства, интегрировано в нее с минимальными доработками.

2 стартмани

21.01.2019    17508    20    stvorl    11    

Легкое и гибкое управление списком доступных баз 1С у пользователей

Стартеры 1С Сервисные утилиты Администрирование СУБД v8 1cv8.cf Россия Абонемент ($m)

Когда в локальной сети много пользователей, а еще большое количество различных баз и при этом каждому нужны свои, то администрирование этого зоопарка превращается в АД! Этот комплекс позволяет централизованно управлять списком доступных баз в разрезе пользователей. За пару кликов можно добавить или убрать базу у всех пользователей.

5 стартмани

05.12.2018    14528    16    RomikR    9    

Правильные аналоги номенклатуры (кроссы запчастей) для 1С / Управляемые формы Промо

Обработка справочников Оптовая торговля Учет ТМЦ Оптовая торговля Учет ТМЦ v8 v8::УФ 1cv8.cf УУ Абонемент ($m)

По опыту работы с запчастями много раз сталкивался с проблемой организации кроссов в разных 1С - от записи артикулов через запятую в текстовом поле до хранения кроссов в документах. Предлагаю одну из простейших и функциональных на мой взгляд схем "одноуровневого" хранения кроссов.

5 стартмани

29.07.2015    32292    8    taurus__    22    

Многопоточная обработка данных

Производительность и оптимизация (HighLoad) Администрирование данных 1С v8 v8::УФ 1cv8.cf Абонемент ($m)

Конфигурация "Универсальные механизмы: пакеты данных". Набор инструментов для быстрой организации отказоустойчивой многопоточной обработки данных.

1 стартмани

23.11.2018    19389    56    _ASZ_    15    

Обнуление остатков регистров бухгалтерии и накопления

Универсальные обработки Чистка базы v8 v8::БУ v8::ОУ v8::УФ КА1 БП2.0 ЗУП2.5 УТ10 УПП1 УНФ БГУ ERP2 БП3.0 УТ11 УХ КА2 ЗУП3.x Россия Абонемент ($m)

Обработка позволяет обнулить остатки по регистру накопления или бухгалтерии на определенную дату. Поддерживается большинство типовых конфигураций (БП 3, БП 2, УТ 11, УТ 10, ЗУП 3, ЗУП 2, БГУ 2, БГУ 1, ERP, УПП, КА 2, КА 1, УХ 3, УХ 1, УНФ). Гибкая настройка (отборы, заполнение реквизитов и любых полей корр. счета, возможность обнулять ресурсы выборочно). Несколько режимов работы. Два интерфейса: простой и с расширенным набором настроек.

2 стартмани

19.11.2018    21093    278    morozov.sv    50    

Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек.

Чистка базы Сервисные утилиты Администрирование данных 1С v8 1cv8.cf Россия Абонемент ($m)

Эффективное средство для устранения ошибок, возникающих в локальном кэше 1С на клиенте, которым легко сможет воспользоваться пользователь с любым уровнем знаний. Wsf-скрипт, созданный на стандартном языке автоматизации Windows - "WSH JScript", очищает кэш 1С просто, быстро и безопасно. Кроме варианта, очищающего кэш текущего пользователя, имеется также вариант для чистки кэша 1С всех пользователей терминального-сервера.

1 стартмани

04.11.2018    35537    368    Eugen-S    34    

Очистка регистрации обмена Промо

Чистка базы v8 v8::ОУ УТ10 Абонемент ($m)

Данная обработка предназначена для очистки узла. Для очистки необходимо указать период,организацию.

1 стартмани

19.09.2017    16333    5    serg-lom89    0    

Универсальный инструмент для переноса данных через табличный документ (УФ)

Обработка документов Универсальные обработки Обработка справочников v8 v8::УФ 1cv8.cf Абонемент ($m)

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

5 стартмани

15.10.2018    31563    115    json    36    

TextRadar - нечеткий поиск в тексте

Разработка внешних компонент Поиск данных v8 1cv8.cf Абонемент ($m)

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

1 стартмани

19.09.2018    16086    18    TSSV    18    

Работа с публикациями "Инфостарт"

Практика программирования О сообществе WEB v8 УУ Абонемент ($m)

Работа с рублевыми публикациями на сайте "Инфостарт": ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.

1 стартмани

13.09.2018    20320    13    RocKeR_13    16    

Помощник по закрытию месяца для УТ 11.3 Промо

Закрытие периода Обработка документов Закрытие периода Закрытие периода v8 v8::ОУ УТ11 Россия УУ Абонемент ($m)

Помощник по закрытию месяца для УТ 11.3. Имеет две функции: обнуление товаров "К оформлению" в интеркампани и обнуление отрицательных остатков в регистре "Себестоимость товаров".

5 стартмани

10.11.2017    22099    26    Zalipaka    1    

Помощник корректировки остатков ЕГАИС в небольшом магазине. Розница 2.2

Розничная торговля Обработка документов Розничная торговля v8 Розница Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Россия УУ Абонемент ($m)

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

5 стартмани

08.09.2018    30440    82    asdfgcom    46    

Расширение резервов отпусков

Обработка документов Зарплата Зарплата v8 v8::СПР ERP2 ЗКГУ3.0 ЗУП3.x Россия БУ Абонемент ($m)

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

2 стартмани

10.08.2018    24812    51    СергейКа    16    

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции

Инструментарий разработчика Практика программирования v8 Абонемент ($m)

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    26365    26    informa1555    26    

Удаление помеченных объектов, замена ссылок. Обычное и управляемое приложение. Не монопольно, включая рекурсивные ссылки, с отбором по метаданным и произвольным запросом Промо

Чистка базы v8 1cv8.cf Абонемент ($m)

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

10 стартмани

31.10.2016    49992    586    m..adm    210    

Работа с данными выбора

Практика программирования Работа с интерфейсом v8 Россия Абонемент ($m)

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

1 стартмани

17.07.2018    42678    17    kalyaka    16    

Очистка периодических регистров посредством T-SQL (удаление записей, кроме среза последних)

Чистка базы v8 Абонемент ($m)

Обработка для ленивых. Составит вместо Вас запрос для SQL, который удалит все не актуальные записи (т.е все, кроме среза последних)

5 стартмани

22.06.2018    15192    19    Alexander.Shvets    9    

ВСТАВИТЬ В Справочник.Номенклатура (Код, Наименование) ЗНАЧЕНИЯ ("001", "Новый товар")

Практика программирования v8 v8::Запросы 1cv8.cf Абонемент ($m)

Вас не обманывают ваши глаза, это запрос на изменение данных! И это работает без прямого доступа к БД, регистрации и смс.

1 стартмани

01.06.2018    29001    86    m-rv    57    

Прыг-Скок...или из MS EXCEL в 1С (8.2) (открытый код) Промо

Обработка документов Обработка справочников Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

Универсальная загрузка данных из Microsoft Office Excel. Автоматическая загрузка из любых по форме документов с очень удобным редактором. Почти готовый шаблон для любой конфигурации. Не требует регистрации-бесплатно.

1 стартмани

16.09.2015    61026    353    Tatitutu    48    

Автоматическое заполнение графиков в ЗУП 3.1

Зарплата Учет рабочего времени Обработка справочников Зарплата Учет рабочего времени v8 v8::СПР ЗУП3.x Россия БУ Абонемент ($m)

Данная разработка будет актуальна для организаций с большим количеством графиков (несколько десятков/сотен).

1 стартмани

05.05.2018    22602    18    notserioussam    2    

Добавление возможности в конфигурации ЗУП 3.1 работать с фотографиями сотрудников (Зарплата и Управление Персоналом, редакция 3.1)

Обработка справочников Управление персоналом (HRM) Управление персоналом (HRM) v8 v8::СПР ЗУП3.x БУ Абонемент ($m)

Добавление возможности в ЗУП 3.1 работать с фотографиями сотрудников (физических лиц). Расширение тестировалось на релизе ЗУП 3.1.5.129.

1 стартмани

09.04.2018    28509    68    charivnick    3    

Перемещение остатков по счету МЦ04 между материально ответственными лицами для конфигураций (8.2). Промо

Обработка документов Универсальные обработки Учет ТМЦ Учет ТМЦ v8 БП2.0 Россия БУ Абонемент ($m)

Небольшая обработка, которая позволяет перекидывать остатки по счету МЦ04 с одного материально ответственного лица на другое

1 стартмани

22.11.2012    13557    13    niksaf    4    

Заполняем по шаблону (по умолчанию)

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

08.02.2018    26747    19    mvxyz    17    

Корректировка остатков ЕГАИС, возврат из регистра 2, загрузка ТТН из файлов, другое для УТ10.3

Розничная торговля Обработка документов Розничная торговля v8 v8::ОУ УТ10 Россия БУ Абонемент ($m)

Набор обработок для автоматизации работы с ЕГАИС: Обработка корректировки остатков ЕГАИС для УТ 10.3, аналогичная имеющимся в УТ 11, Рознице 2.2. Автоматически формирует документы "Передача в торговый зал", "Акт постановки на баланс в торговом зале", "Акт списания в торговом зале". Обработка возврата из регистра 2 с подбором справок Б. Обработка формирования ТТН из файлов xml.

1 стартмани

24.01.2018    33448    27    biz-intel    3    

Расчет начисления зарплаты со сложной формулой, по данным из внешнего источника. ЗУП 3.1

Обработка документов Загрузка и выгрузка в Excel Зарплата Зарплата v8 v8::СПР ЗКГУ3.0 ЗУП3.x БУ Абонемент ($m)

Расчет начисления зарплаты со сложной формулой, по данным из внешнего источника по данным экономического отдела. ЗУП 3.1.

3 стартмани

20.12.2017    46216    31    mvv1975    7    

Печатная форма, сделанная как расширение конфигурации для БП 3.0. Новые возможности БСП

Практика программирования Универсальные печатные формы v8 БП3.0 Абонемент ($m)

Печатные формы на внешних обработках скоро канут в лету. На смену им приходят ПФ, реализованные в виде расширений конфигурации. Не нашел на сайте примеров таких расширений. Привожу пример подобного расширения для БП 3.0.

1 стартмани

06.12.2017    25621    49    kwazi    6    

Копирование меню в Трактир Management

Обработка документов Производство готовой продукции (работ, услуг) Производство готовой продукции (работ, услуг) v8 1cv8.cf Рестораны, кафе и фаст-фуд Россия УУ Абонемент ($m)

Механизм копирования меню в Трактир Management. Данная обработка расширяет функционал типового решения Трактир Management, позволяя быстро вводить в эксплуатацию новую точку путём создания нового меню на основании имеющегося.

1 стартмани

28.11.2017    26700    4    integrator1983    0    

Быстрое удаление неиспользуемых версий 1С:Предприятие 8, кэша метаданных и информационных баз

Сервисные утилиты v8 Абонемент ($m)

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

1 стартмани

14.11.2017    20808    88    bonv    15    

Загрузка дополнительных реквизитов и сведений справочника Номенклатура из Excel и таблиц УТ 11, ERP 2

Обработка справочников Загрузка и выгрузка в Excel Учет ТМЦ Учет ТМЦ v8 v8::ОУ ERP2 УТ11 Россия УУ Абонемент ($m)

Внешняя обработка "Загрузка дополнительных реквизитов и сведений справочника Номенклатура"

1 стартмани

07.08.2017    38419    241    Windyhead    32    

Расширения конфигураций 1С: учимся перехватывать методы

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

30.05.2017    121136    13    signum2009    46    

Упрощение работы с актами сверки в УТ/КА/УПП - вывод номеров счетов в документе и печатной форме

Обработка документов Печатные формы документов Дебиторская и кредиторская задолженность Дебиторская и кредиторская задолженность v8 КА1 УТ10 УПП1 БУ УУ Абонемент ($m)

Обычно акт сверки с клиентами содержат информацию о документах реализации товаров (накладных) и выполненных платежах. Но платежи делаются на основании счетов, номера которых отсутствуют в актах, что затрудняет собственно сверку. Данная обработка находит соответствующие расходным накладным счета/заказы, показывает их в форме документа и выводит в печатную форму акта.

2 стартмани

12.05.2017    28652    4    denmax    2    

Автокликер для 1С

Сервисные утилиты v8 1cv8.cf Абонемент ($m)

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

1 стартмани

03.04.2017    29945    70    slava_1c    49    

Загрузка номенклатуры по штрихкоду: Управление Торговлей 11.3; Розница 2.2; Розница для Казахстана 2.2

Обработка справочников Оптовая торговля Розничная торговля Ценообразование, анализ цен Ценообразование, прайсы Оптовая торговля Розничная торговля Ценообразование, анализ цен v8 v8::ОУ v8::УФ Розница УТ11 Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Россия УУ Абонемент ($m)

Розница 2.2, Управление Торговлей 11.3. Создание номенклатуры из интернета с помощью сканера штрихкодов либо терминала сбора данных. Варианты создания, автовыбор наилучшей позиции, источники, цены, загрузка картинки - всё это очень гибко и просто настраивается. Текущие открытые источники: barcode-list.ru(на текущий момент не работает); goodsmatrix.ru; ean13.info(может не работать капча); barcodes.olegon.ru. Автор программы не несёт ответственность за информацию, предоставляемую перечисленными выше открытыми источниками, так же не отвечает за их работоспособность. Данные источники принадлежат не автору программы. Данная программа нужна лишь для автоматизированного поиска информации на них.

10 стартмани

30.03.2017    56828    121    myALKleon    40    

DroidRAC2 - консоль администрирования кластера серверов 1С:Предприятие 8.3 под Android

Администрирование данных 1С v8 1cv8.cf Абонемент ($m)

DroidRAC2 - клиент для RAS-сервиса кластера серверов платформы 1С:Предприятие 8.3 под Android.

1 стартмани

24.02.2017    21177    9    user700211_a.straltsou    12    

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

Статистика базы данных v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

20.02.2017    17114    47    strelec13    11    

Определение ИНН Сотрудника (service.nalog.ru). ЗУП, редакция 3.1 и 2.5 (Проф и Корп)

Обработка справочников Управление персоналом (HRM) Управление персоналом (HRM) v8 v8::СПР ЗУП2.5 Россия БУ Абонемент ($m)

Внешняя печатная форма для справочника "Сотрудники организаций". ЗУП, редакция 3.1 и 2.5 (Проф и Корп)

1 стартмани

03.02.2017    71319    49    Indgo    33