пятница, 6 мая 2011 г.

Внешние источники данных в 1С

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

Каждый источник представляет из себя:
  1. Перечень доступных таблиц;
  2. Перечень доступных полей в таблице
  3. Дополнительные колонки валяющие на представление 
Важно:
Строка соединения указываемая при импорте таблиц не сохраняется в конфигурации


Есть конструктор строк соединений позволяющий выбрать исчерпывающий список драйверов: 
  • SQL Server 
  • Microsoft ODBC for Oracle 
  • Microsoft Access Driver (*.mdb), Microsoft Access-Treiber (*.mdb), Driver do Microsoft Access (*.mdb) 
  • Microsoft dBase Driver (*.dbf), Microsoft dBase-Treiber (*.dbf), Driver do Microsoft dBase (*.dbf) 
  • Microsoft Excel Driver (*.xls), Microsoft Excel-Treiber (*.xls), Driver do Microsoft Excel(*.xls) 
  • Microsoft Paradox Driver (*.db ), Microsoft Paradox-Treiber (*.db ), Driver do Microsoft Paradox (*.db ) 
  • Microsoft Text Driver (*.txt; *.csv), Microsoft Text-Treiber (*.txt; *.csv), Driver da Microsoft para arquivos texto (*.txt; *.csv) 
  • Microsoft Visual FoxPro Driver, Microsoft FoxPro VFP Driver (*.dbf), Microsoft dBase VFP Driver (*.dbf),Microsoft Visual FoxPro-Treiber, Driver para o Microsoft Visual FoxPro 
  • SQL Server Native Client 10.0
После того как вы сохраните конфигурацию исходную структуру таблиц внешнего источника вы увидите в конструкторе запросов, и сможете работать с ней так же как с обычной таблицей, использовать в запросе или читать с помощью встроенного языка.

пСоед = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;
пСоед.СтрокаСоединения= "DRIVER={SQL Server};SERVER=serv;UID=sa;PWD=fkujhbnv;APP=upp;DATABASE=upp";
ВнешниеИсточникиДанных.upp.УстановитьОбщиеПараметрыСоединения(пСоед);
ВнешниеИсточникиДанных.upp.УстановитьСоединение();
Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 5
| dbo_Config.FileName,
| dbo_Config.Creation,
| dbo_Config.BinaryData
|ИЗ
|ВнешнийИсточникДанных.upp.Таблица.dbo_Config КАК dbo_Config");
Таблица = Запрос.Выполнить().Выгрузить();


Важно: Перед началом работы с внешними источники необходимо установить соединение с ними (пример выше).
В запросе помимо стандартный типов будут присутствовать и двоичные данные


Вообще поведение двоичных данные радует, их не просто можно получить они еще и работают в запросах на соединение.
Но есть вещи которые огорчают:
  1. Нельзя получать данные из нескольких источников одновременно, то есть в запросе не могут присутствовать таблицы конфигурации и таблицы внешних источников; 
  2. Нельзя использовать временные таблицы в запросах с внешними источниками данных 
Резюме:
Заметным и нужным был релиз платформы 8.1.11 именно в нем появились временные таблицы, я думаю что 8.2.14 станет таким же

вторник, 3 мая 2011 г.

Редактирование текстов интерфейса

Иногда возникают ситуации когда необходимо изменить одно слово во многих формах (макетах) конфигурации.
Например название на кнопке "Выполнить" нужно заменить например на "Обработать"
Для этого в 1С есть штатный инструмент Редактирование тестов интерфейса (Правка - Редактирование тестов интерфейса)

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

В том случае если изменения должны иметь определенные зависимости, замену можно сделать с подошью Ei, например как тут. Формы объектов будут достойны в текстом виде, макеты в виде табличных документов их можно будет изменить с использованием Встроенного языка (RegExp, СтрЗаменить)


четверг, 28 апреля 2011 г.

3 вещи которые нужно знать при обновлении конфигурации

  1. Для того чтобы увидеть затрагивает ли обновление ваши изменения,  в фильтре выберите "Показывать отличия основной конфигурации от старой конфигурации поставщика"
  2. Для выборочного обновления какого либо модуля  нужно окно сравнения и объединения модуля открыть из колонки "Режим объединения и порядок подчиненных объектов" и вы сможете для каждой процедуры/функции определить свой режим объединения или вообще его не использовать.  
  3. Ну и комментарии и еще раз комментарии при изменении типового функционала.



вторник, 19 апреля 2011 г.

Уведомление о выходе нового релиза

Часто нужно держать руку на пульсе и знать о выпуске новых релизов любимых конфигурации.
Как всегда все для нашего удобства есть RSS канал в котором фирма 1С публикует данные об обновлении конфигурации.
Но после подписки (я долгое время читал в Google Reader) на этот канал, осознаешь какое неимоверное количество конфигураций есть в арсенале 1С.
Посему все это дело нужно отфильтровать и в наилучшем виде доставить на e-mail
Для фильтрации будем использовать любимые Пайпы.

полученную RSS ленту с данными об обновлении Бухгалтерии 1.6 добавляем в FeedBurner и на закладке  Публикация активируем подписку по e-mail, на которую потом мы и подписываемся.

Резюме: Комбинируя веб-сервисы в сможете получать действительно нужную информацию в удобном виде.

понедельник, 28 марта 2011 г.

"Грузим все" или конвертация данных в кармане

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

Упрощенно схему взаимодействия можно представить следующим образом

Исходными данными могут быть файлы обмена или другие источники данных к которым можно обратится из конструктора (XLS, ADO, TXT, XML и .т.д.).
Исходными данными могут быть так же существующие объекты базы данных (аналогов не существует) , иными словами все то что можно отобразить в таблице результата может быть загружено в информационную базу.

Для загрузки используется одна из групповых обработок - "Загрузка данных"


В основу данной обработки положена методология Конвертации данных.  Вы здесь встретите те же ПКС и ПКО, вы будете обладать всеми возможностями конвертации данных в режиме "одного окна" и БЕЗ необходимости следить за деталями.

Поскольку до сегодняшнего :) момента ключевым инструментом загрузки данных была конвертации, приведу ряд аргументов за и против "Загрузки данных"

  • Загрузка производится на стороне приемника - очень просто проверять существование данных, задавать явные значения и наблюдать за результатом загрузки;
  • Возможность указывать явное соответствие для данных (применяется в случае загрузки "не нормализованных" данных);
  • Для загрузки данных нет необходимости загружать метаданные приемника, а уж тем более источника;
  • Возможность редактировать движения множества документов;
  • Простая отладка;
  • Использование в совокупности всех групповых обработок, визуализация созданных конструкций загрузки.
  • Для постоянного обмена между базами данных наверное все же лучше использовать Конвертацию данных.
Разгромный счет 6:1 в пользу "Загрузки данных"

Ну конечно самое интересное на видео

воскресенье, 6 февраля 2011 г.

Конструктор

Постараюсь очень кратко изложить возможности идею конструктора Ei.

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

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

Конструктор Ei объединил в едином инструменте следующие типовые обработки:
  1. Консоль запросов;
  2. Консоль отчетов;
  3. Консоль отчетов (СКД);
  4. Групповая обработка справочников и документов;
  5. Универсальные подбор и обработка объектов.
"Идеи"(это наверно все что от них осталось) данных обработок обрели в конструкторе связи между собой и просто сумасшедшую гибкость за счет возможности почти повсеместного использования встроенного языка, при этом вы можете даже не нажимать на клавиатуру!

Ну и как всегда смотрим очень краткую демонстрацию.

P.S. Хочется напомнить что функционал этого инструмента просто огромен, многое спрятано в контекстном меню чтобы не нагружать пользователя, НО все, почти каждый пункт описан на сайте http://main.1c-ei.ru/Home/help




воскресенье, 16 января 2011 г.

Дипломный проект

Четыре года назад защищал дипломный проект в университете.
Тема была по 1С  и разумеется без Ei там не обошлось, точнее сказать этот диплом был посвящен полностью Enterprise Integrator.
Хоть и прошло немало лет общая картина сильно не изменилась Ei как и прежде самый инновационный (сейчас это очень модное слово) инструмент в среде 1С 8.

Те кто вчитаются смогут узнать откуда у Ei такое название :)

*для каждого слайда есть заметки
Под катом 158 (18 мБ) страниц диплома по всем правилам с эк. эффективностью и прочими довесами.