Как известно, с помощью языка запросов 1С получить уникальный идентификатор объекта ссылочного типа на данный момент нельзя. Но используя возможность СКД обращаться к внешним функциям можно получить строковое представление уникального идентификатора ссылки. Для этого необходимо использовать глобальную функцию XMLСтрока в вычисляемых полях в макете схемы компоновки.
Далее проведем эксперимент по быстродействию получения результата через запрос с последующей обработкой выборки и вариантов с использованием СКД.
Рассмотрим два случая - вывод в табличный документ и формирование текстового документа.
Так же в случае с СКД мы можем создать схему компоновки программно или использовать готовую. Результат работы СКД так же можно обойти в цикле, либо вывести в таблицу значений с последующей обработкой. Для экспериментов будет использоваться платформа 8.3, конфигурация УТ11 (файловая), справочник "КлассификаторБанковРФ", более 4000 элементов.
Схему компоновки и макет можно посмотреть, скачав обработку (ссылка в конце).
По результатам замера производительности видно, что вывод результата в табличный документ происходит быстрее при использовании СКД, причем вариант с программным созданием схемы отрабатывает несколько быстрее.
В тоже время вывод результатов в текстовый документ отрабатывает быстрее для запроса.
Программное создание схемы компоновки отработало быстрее, чем получение макета схемы.
Что такое 1С? 1С — это фирма, у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. «1С:Предприятие» - конкретный продукт, который выпускает компания 1С.
Что такое 1С:Предприятие? 1С:Предприятие — программный продукт компании 1С, предназначенный для автоматизации деятельности на предприятиях всевозможной направленности. Многие называют просто - программа 1С.
Первоначально, продукт 1С:Предприятие был предназначен для автоматизации бухгалтерского учёта и управленческого учёта (включая начисление зарплаты и управление кадрами). Но сегодня этот продукт находит своё применение в областях, далёких от собственно бухгалтерских задач. 1С:Предприятие — это (одновременно) и технологическая платформа, и пользовательский режим работы. Технологическая платформа предоставляет объекты (данных и метаданных) и механизмы управления объектами. Совокупность объектов (данных и метаданных), а также связей между ними, задаваемых программистом, представляет собой конфигурацию. При автоматизации какой-либо деятельности составляется своя конфигурация объектов и связей между ними, задаваемых программно, которая и представляет собой законченное прикладное решение. Конфигурация создаётся в специальном режиме работы программного продукта под названием «Конфигуратор», и параллельно с созданием этой конфигурации существует возможность тут же проверять ее работоспособность в режиме «1С:Предприятие», осуществляя отладку. Пользователи же работают исключительно в режиме «1С:Предприятие», в котором получают доступ ко всем функциям (сообразно правам каждого конкретного пользователя), реализованным в данном прикладном решении (конфигурации).
Предназначение 1С:Предприятия
Для успешного изучения платформы 1С :Предприятия важно понимать для чего собственно она нужна - а нужна она для автоматизации экономической и организационной деятельности предприятия. Заметь, о бухгалтерии и торговле речь не идет. 1С: Предприятие — это универсальная платформа, которую можно приспособить к деятельности абсолютно любого предприятия. Такая универсальность достигается за счет гибкой конфигурируемости. Каждое решение на 1С:Предприятие представляет собой отдельную конфигурацию. Если говорить простым языком, то конфигурация представляет из себя программу (так говорить не совсем верно, но для начала сойдет), для работы которой необходима платформа.
Если ты когда-нибудь слышал про язык программирования Java, то ты должен знать, что для работы написанных на нем программ необходима виртуальная машина. С 1С: Предприятием ситуация аналогичная. Когда мы начнем разрабатывать нашу первую конфигурацию ты сможешь в этом убедиться. Пока тебе главное запомнить, что для работы любой конфигурации (программы) необходимо наличие платформы (1С:Предприятие).
1С:Бухгалтерия, ЗУП, УТ, УПП и т. д.
На основании полученных знаний в прошлом разделе раз и навсегда узнаем и запомним. 1С бухгалтерия — это на самом деле платформа 1С:Предприятие и ти, повая конфигурация (программа) «Бухгалтерия», назначение которой понятно из названия. Следовательно если ты в газете/на сайте видишь объявление «требуется 1С-программист», то это означает, что возможно тебе придется столкнуться или конфигурацией «бухгалтерия» или с «Управление торговлей» или вообще с самописным решением.
Когда я говорил, про конфигурацию «Бухгалтерия», то я применил к ней слово «типововая». Все конфигурации, разработанные на платформе «1С:Предприятие» принято классифицировать как типовые и не типовые. Типовые конфигурации — это те, которые выпускаются и поддерживаются компанией 1С. Среди таких: 1С бухгалтерия, 1С:Управление торговлей, 1 С: Зарплата и кадры и т. д. Не типовые — это все те которые разработаны другими компаниями или отдельными программистами. Я уже говорил, что знакомится с 1С :Предприятие мы будем на примере разработке своей собственной конфигурации. Наш проект будет является не типовой конфигурацией. Типовые конфигурации я рассматривать не планирую, но в будущем может что-то измениться и мы поковыряем бухгалтерию.
Когда лучше использовать 1С:Предприятие?
Все, что можно сделать на платформе 1С:Предприятие, можно повторить на любых других системах разработки. Например, возможностей Delphi, Visual Studio без проблем хватит, на любую задачу. А раз возможностей Delphi (например) хватает, то зачем использовать 1С? Ответ прост до безобразия (во всяком случае это ответ, который я дал сам себе). Главная причина использования 1С — скорость разработки решения. Если на Delphi тебе придется писать ту же бухгалтерию с нуля, то на 1 С: Предприятие у тебя уже есть готовая основа — типовая конфигурация «Бухгалтерия», которую ты можешь либо использовать полностью, либо взять отдельные элементы. Кроме того, 1С:Предприятие аппетитно выделятся на фоне альтернативных решений. Среди ключевых особенностей платформы можно выделить:
1. Большое количество объектов метаданных, которых хватит для решения самых разнообразных задач. Тебе не нужно возиться с создание таблиц в самой БД. Все что ты делаешь — оперируешь объектами платформы, а она в свою очередь использует готовую структуру сервера БД.
2. Поддержка разных СУБД. 1С:Предприятие хорошо работает как с MS SQL Server, так и с бесплатной СУБД — PostgreSQL. Это означает, что делая выбор в пользу 1С:Предприятие, ты можешь сэкономить деньги на лицензиях. Считай, все, что тебе потребуется — купить сам
1С :Предприятие (+сервер приложений). PostgreSQL является бесплатной кросс-платформенной системой, а значит, для сервера с БД тебе подойдет любая unix-like ОС. Получается, что экономия более чем заметна — тебе не требуется серверная ОС от Microsoft, а также MS SQL Server.
3. Простота использования. Как ни крути, а работать с 1С:Предприятие проще, чем с голым СУБД. Встроенный язык программирования по синтаксису похож на паскаль (basic), большинство функций по конфигурированию выполняются мышкой и не представляют сложности. И самое главное - простота использования не сказывает негативного влияние на возможности системы. Они действительно большие и их хватит для многих проектов.
4. Наличие огромного числа специалистов. Сегодня найти специалиста по 1С:Предприятие гораздо проще, чем например, по C#. С одной стороны, такое положение дел весьма неплохое, т. к. найти человека, способного поддерживать/дорабатывать уже работающий проект очень легко.
5. Поддержка со стороны компании 1С. Компания «1С» как никто другой заинтересована в продвижении своих программных продуктов. И продвигает она не рекламой, а качеством и сервисом. По своему опыту могу сказать, что поддержка работает на должном уровне и большинство проблем решается быстро. Программисты компании также не сидят на месте и постоянно фиксят ошибки в платформе, выпуская новые релизы.
6. Поддержка типовых конфигураций. Законодательство в нашей стране меняется со страшной силой и такие перемены очень отражаются на бухгалтерии в виде изменения форм отчетности. Кто хоть раз сталкивался с бухгалтерией или торговлей может представить себе печатные формы отчетов-монстров (вроде Торг2, Торг12 и т. д.). Для правки этих отчетов при использовании сторонних бухгалтерских программ всегда приходилось нанимать программистов, т. к. работать с кодом бухгалтера не могут.
При использовании 1 С: Предприятие и типовой конфигурации «Бухгалтерия» проблема «доработки» стандартных отчетов отпадает раз и навсегда. Программисты компании «1 С» оперативно выполняют все необходимые модификации отчетов (и всех остальных элементов) и поставляют клиентам обновленные версии конфигурацией. Вот с обновлением конфигурации бухгалтер может справится самостоятельно (хотя тут все зависит от конкретного представителя этой расы пользователей . На крайний случай, всегда можно подыскать специалиста из франчайзи, услуги которого будут стоить намного дешевле, чем работа программиста.
Платформа 1С версии 8.х предоставляет слабые возможности по работе с изображением.
Для работы с изображениями можно использовать библиотеку Windows Image Acquisition Automation Library. Библиотеку с описанием можно скачать здесь (в Windows 7 уже входит в состав дистриботива).
После того, как загрузили архив, распакуйте. Саму библиотеку wiaaut.dll придется зарегистрировать командой regsvr32. После регистрации доступен COM-объект "WIA.ImageFile". Приведем пример работы:
Библиотека была протестирована на самых распространенных форматах файлов-картинок: jpeg, gif, bmp, ico, png, tif.
Здесь можно скачать готовую обработку: Скачивать файлы может только зарегистрированный пользователь!
Помимо данных о картинке, библиотека может многое другое: изменить размер изображения, повернуть, получить изображение со сканера и прочее. Надеюсь, мы еще вернемся к этой библиотеке. Источник
Временные таблицы - хранятся на сервере и позволяют писать более простые запросы.
Временные таблицы хранятся в объекте типа МенеджерВременныхТаблиц. Когда этот объект уничтожается, уничтожаются и временные таблицы.
Чтобы создать временную таблицу, используется ключевое слово "ПОМЕСТИТЬ В", например:
Временная таблица создается при выполнении запроса, если повторно выполнить запрос, то выдастся ошибка, что таблица уже существует.
Описания временных таблиц хранятся в свойстве запроса МенеджерВременныхТаблиц. К сожалению, нельзя получить список временных таблиц, которые хранятся в запросе.
Пример 1: Как можно выгрузить временную таблицу в таблицу значений и как использовать менеджер временных таблиц:
Вместо перечисления списка полей можно использовать "ВЫБРАТЬ * ".
Если есть ТЗ, в каждой колонке которой значения всего одного типа, для типизации колонок, можно воспользоваться функцией:
Пример 2: Нужно в отчете СКД Связать Данные из Регистра Накопления ВзаиморасчетыСРаботниками и Табличной Части Документа ЗарплатаКВыплате по Ссылке на Документ и ФизЛицу! И вывести полученные данные за указанный Период(с ДатаН по ДатаК) - Запрос будет такой: