You've already forked fluent-request-schema-1c
mirror of
https://github.com/zerobig/fluent-request-schema-1c.git
synced 2025-08-09 21:27:11 +02:00
deploy: b2dc2c9a11
This commit is contained in:
56
.github/workflows/deploy-documentation.yml
vendored
56
.github/workflows/deploy-documentation.yml
vendored
@@ -1,56 +0,0 @@
|
||||
name: Сборка документации
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
# Review gh actions docs if you want to further define triggers, paths, etc
|
||||
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on
|
||||
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./docs
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
name: Сборка документации
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Извлечение исходников
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Скачивание BSL-Doc
|
||||
run: curl -L https://github.com/alkoleft/bsldoc/releases/download/0.1.0/bsldoc-0.1.0.jar --output ./bsldoc.jar && chmod +7 ./bsldoc.jar
|
||||
|
||||
- name: Генерация описания API
|
||||
run: java -jar ./bsldoc.jar ./../src/cfe ./api -f Docusaurus -s СЗ_Запрос
|
||||
|
||||
- name: Установка NodeJS
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 18
|
||||
cache: yarn
|
||||
cache-dependency-path: 'docs/yarn.lock'
|
||||
|
||||
- name: Установка зависимостей Docusaurus
|
||||
run: yarn install --frozen-lockfile
|
||||
|
||||
- name: Сборка сайта с документацией
|
||||
run: yarn build
|
||||
|
||||
# Popular action to deploy to GitHub Pages:
|
||||
# Docs: https://github.com/peaceiris/actions-gh-pages#%EF%B8%8F-docusaurus
|
||||
- name: Публикация на GitHub Pages
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
# Build output to publish to the `gh-pages` branch:
|
||||
publish_dir: ./docs/build
|
||||
# The following lines assign commit authorship to the official
|
||||
# GH-Actions bot for deploys to `gh-pages` branch:
|
||||
# https://github.com/actions/checkout/issues/13#issuecomment-724415212
|
||||
# The GH actions bot is used by default if you didn't specify the two fields.
|
||||
# You can swap them out with your own user credentials.
|
||||
user_name: github-actions[bot]
|
||||
user_email: 41898282+github-actions[bot]@users.noreply.github.com
|
5
.gitignore
vendored
5
.gitignore
vendored
@@ -1,5 +0,0 @@
|
||||
*.log
|
||||
|
||||
# compiled output
|
||||
dist
|
||||
docs/api/
|
21
LICENSE
21
LICENSE
@@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2020 Ilya Bushin
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
132
README.md
132
README.md
@@ -1,132 +0,0 @@
|
||||
# 1С Предприятие. Fluent запросы
|
||||
|
||||
## Мотивация
|
||||
|
||||
Смотрел я на запросы в 1С, потом смотрел на то как народ создаёт библиотеки с API в "текучем" стиле. И решил это совместить. Ведь есть же такой замечательный продукт от Microsoft - [Linq](https://learn.microsoft.com/ru-ru/dotnet/csharp/linq/standard-query-operators/)! Сначала подумал что буду первопроходцем. Но оказывается всё уже придумано до нас: [Раз](https://github.com/KalyakinAG/query-model), [Два](https://infostart.ru/1c/articles/1991009/). Может быть ещё что есть, а я не нашел.
|
||||
|
||||
## Описание
|
||||
|
||||
Библиотека позволяет писать запросы 1С Предприятия в функциональном стиле. Например, вот такой код:
|
||||
```bsl
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура").ВТаблицуЗначений();
|
||||
```
|
||||
будет аналогичен:
|
||||
```bsl
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст = "ВЫБРАТЬ
|
||||
| Номенклатура.Ссылка КАК Ссылка
|
||||
|ИЗ
|
||||
| Справочник.Номенклатура КАК Номенклатура";
|
||||
|
||||
ТаблицаЗначений = Запрос.Выполнить().Выгрузить();
|
||||
```
|
||||
|
||||
### Преимущества такого подхода:
|
||||
|
||||
* уменьшение количества кода при той же читабельности / наглядности;
|
||||
* избавление от уродских конструкций типа:
|
||||
```bls
|
||||
Запрос.ТекстЗапроса = СтрЗаменить(Запрос.ТекстЗапроса, "&Условие", "Номенклатура.ЭтоГруппа = ЛОЖЬ");
|
||||
```
|
||||
|
||||
### У существующих решений есть ряд недостатков:
|
||||
|
||||
* излишне многословны;
|
||||
* не готовы к применению в рабочих конфигурациях;
|
||||
* не соответствуют стандартам разработки;
|
||||
* статья на инфостарте так и осталась лишь статьёй, не вылившись в какую-то готовую разработку;
|
||||
|
||||
### У моего решения тоже есть недостатки:
|
||||
|
||||
* отсутствует автодополнение кода;
|
||||
* не полная функциональность (разработка пока в статусе 'beta')
|
||||
|
||||
### Личные переживания и сомнения в процессе разработки
|
||||
|
||||
Сначала я был полон энтузиазма. Потом, по мере написания кода, начали появляться сомнения. Нужно ли это? Верной ли дорогой иду? Но когда я увидел как вот это:
|
||||
```bsl
|
||||
Функция ТаблицаАдресныхСокращений(НаименованияАдресныхОбъектов)
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| УровниСокращенийАдресныхСведений.Значение КАК Наименование,
|
||||
| УровниСокращенийАдресныхСведений.Сокращение КАК Сокращение
|
||||
|ИЗ
|
||||
| РегистрСведений.УровниСокращенийАдресныхСведений КАК УровниСокращенийАдресныхСведений
|
||||
|ГДЕ
|
||||
| &Условие
|
||||
|
|
||||
|СГРУППИРОВАТЬ ПО
|
||||
| УровниСокращенийАдресныхСведений.Значение,
|
||||
| УровниСокращенийАдресныхСведений.Сокращение
|
||||
|
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| Наименование";
|
||||
|
||||
Если ТипЗнч(НаименованияАдресныхОбъектов) = Тип("Массив") И НаименованияАдресныхОбъектов.Количество() > 0 Тогда
|
||||
Условие = "ИСТИНА";
|
||||
Иначе
|
||||
Условие = "УровниСокращенийАдресныхСведений.Значение В(&АдресныеСокращения)";
|
||||
Запрос.УстановитьПараметр("АдресныеСокращения", НаименованияАдресныхОбъектов);
|
||||
КонецЕсли;
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&Условие", Условие);
|
||||
|
||||
Возврат Запрос.Выполнить().Выгрузить();
|
||||
|
||||
КонецФункции
|
||||
```
|
||||
превратилось вот в это:
|
||||
```bsl
|
||||
Функция ТаблицаАдресныхСокращений(НаименованияАдресныхОбъектов)
|
||||
|
||||
Запрос = СЗ_Запрос.НовыйЗапрос("РегистрСведений.УровниСокращенийАдресныхСведений")
|
||||
.Выбрать("Значение КАК Наименование, Сокращение")
|
||||
.Сгруппировать("Значение, Сокращение")
|
||||
.Упорядочить("Наименование");
|
||||
|
||||
Если ТипЗнч(НаименованияАдресныхОбъектов) = Тип("Массив") И НаименованияАдресныхОбъектов.Количество() > 0 Тогда
|
||||
Запрос = Запрос
|
||||
.Где(СЗ_Запрос.Предикат()
|
||||
.Реквизит("Значение").В(НаименованияАдресныхОбъектов));
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Запрос.ВТаблицуЗначений();
|
||||
|
||||
КонецФункции
|
||||
```
|
||||
все сомнения отпали! 16 строк вместо 30-ти при сохранении общей читабельности. И качество кода улучшилось за счет отказа от конструкции `СтрЗаменить()`.
|
||||
|
||||
По-моему это заявка на успех!
|
||||
|
||||
## Документация
|
||||
|
||||
Пока отсутствует. Работа ведётся.
|
||||
|
||||
## Как запустить
|
||||
|
||||
* Вариант 1: скачать файл с расширением cf из раздела [Releases](https://github.com/zerobig/fluent-request-schema-1c/releases) и объединить со своей конфигурацией;
|
||||
* Вариант 2: скачать файл с расширением cfe из раздела [Releases](https://github.com/zerobig/fluent-request-schema-1c/releases) и установить это расширение в свою базу данных;
|
||||
* Вариант 3: скачать исходники из репозитория, собрать при помощи команды `npm run build` (потребуется установленная NodeJS) и использовать результаты сборки по своему усмотрению;
|
||||
|
||||
## Тестирование
|
||||
|
||||
Тесты писались при помощи расширения для запуска тестов [YAxUnit](https://github.com/bia-technologies/yaxunit). И выполнялись на типовой конфигурации Управление торговлей ред.11.5 (11.5.18.41). Это надо учитывать при самостоятельном запуске тестов.
|
||||
|
||||
## Идеи по дальнейшему развитию (roadmap)
|
||||
|
||||
- [ ] создание документации;
|
||||
- [ ] расширение API методов:
|
||||
- [ ] вложенные запросы;
|
||||
- [ ] пакетные запросы;
|
||||
- [ ] временные таблицы;
|
||||
- [ ] индексирование;
|
||||
- [ ] увеличение полноты покрытия тестами;
|
||||
- [ ] обработка-конструктор, которая преобразует обычный запрос 1С в "текучие" выражения и обратно;
|
||||
- [ ] вариант библиотеки для [OneScript](https://github.com/EvilBeaver/OneScript). Пока не понятно, возможно ли и нужно ли? Идея на этапе исследования;
|
||||
- [ ] CI/CD
|
||||
|
||||
## Благодарности
|
||||
|
||||
* [YAxUnit](https://github.com/bia-technologies/yaxunit) - ребята, вы лучшие!
|
||||
* [1CFilesConverter](https://github.com/arkuznetsov/1CFilesConverter) - давно пользуюсь этими скриптами. Очень помогают.
|
18
api/СЗ_ПроцессорыПредикатовКлиентСервер/index.html
Normal file
18
api/СЗ_ПроцессорыПредикатовКлиентСервер/index.html
Normal file
File diff suppressed because one or more lines are too long
29
api/СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер/index.html
Normal file
29
api/СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер/index.html
Normal file
File diff suppressed because one or more lines are too long
23
api/СЗ_ПроцессорыСхемЗапросаКлиентСервер/index.html
Normal file
23
api/СЗ_ПроцессорыСхемЗапросаКлиентСервер/index.html
Normal file
File diff suppressed because one or more lines are too long
27
api/СЗ_ПроцессорыСхемЗапросаСлужебный/index.html
Normal file
27
api/СЗ_ПроцессорыСхемЗапросаСлужебный/index.html
Normal file
File diff suppressed because one or more lines are too long
93
api/СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер/index.html
Normal file
93
api/СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер/index.html
Normal file
File diff suppressed because one or more lines are too long
1
assets/css/styles.5aa24b33.css
Normal file
1
assets/css/styles.5aa24b33.css
Normal file
File diff suppressed because one or more lines are too long
1
assets/js/03fe1038.8dfb2196.js
Normal file
1
assets/js/03fe1038.8dfb2196.js
Normal file
File diff suppressed because one or more lines are too long
1
assets/js/17896441.6c4f1bfa.js
Normal file
1
assets/js/17896441.6c4f1bfa.js
Normal file
File diff suppressed because one or more lines are too long
1
assets/js/1f391b9e.263c413a.js
Normal file
1
assets/js/1f391b9e.263c413a.js
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[61],{7973:(e,a,s)=>{s.r(a),s.d(a,{default:()=>x});s(6540);var t=s(4164),d=s(1003),l=s(7559),r=s(781),i=s(5533),c=s(7763),n=s(6896),o=s(2153);const m={mdxPageWrapper:"mdxPageWrapper_j9I6"};var p=s(4848);function x(e){const{content:a}=e,{metadata:s,assets:x}=a,{title:g,editUrl:h,description:j,frontMatter:A,lastUpdatedBy:v,lastUpdatedAt:_}=s,{keywords:u,wrapperClassName:w,hide_table_of_contents:f}=A,N=x.image??A.image,k=!!(h||_||v);return(0,p.jsx)(d.e3,{className:(0,t.A)(w??l.G.wrapper.mdxPages,l.G.page.mdxPage),children:(0,p.jsxs)(r.A,{children:[(0,p.jsx)(d.be,{title:g,description:j,keywords:u,image:N}),(0,p.jsx)("main",{className:"container container--fluid margin-vert--lg",children:(0,p.jsxs)("div",{className:(0,t.A)("row",m.mdxPageWrapper),children:[(0,p.jsxs)("div",{className:(0,t.A)("col",!f&&"col--8"),children:[(0,p.jsx)(n.A,{metadata:s}),(0,p.jsx)("article",{children:(0,p.jsx)(i.A,{children:(0,p.jsx)(a,{})})}),k&&(0,p.jsx)(o.A,{className:(0,t.A)("margin-top--sm",l.G.pages.pageFooterEditMetaRow),editUrl:h,lastUpdatedAt:_,lastUpdatedBy:v})]}),!f&&a.toc.length>0&&(0,p.jsx)("div",{className:"col col--2",children:(0,p.jsx)(c.A,{toc:a.toc,minHeadingLevel:A.toc_min_heading_level,maxHeadingLevel:A.toc_max_heading_level})})]})})]})})}}}]);
|
1
assets/js/237.7663bed8.js
Normal file
1
assets/js/237.7663bed8.js
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[237],{3363:(e,t,n)=>{n.d(t,{A:()=>a});n(6540);var i=n(4164),o=n(1312),s=n(1107),r=n(4848);function a(e){let{className:t}=e;return(0,r.jsx)("main",{className:(0,i.A)("container margin-vert--xl",t),children:(0,r.jsx)("div",{className:"row",children:(0,r.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,r.jsx)(s.A,{as:"h1",className:"hero__title",children:(0,r.jsx)(o.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,r.jsx)("p",{children:(0,r.jsx)(o.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,r.jsx)("p",{children:(0,r.jsx)(o.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},2237:(e,t,n)=>{n.r(t),n.d(t,{default:()=>d});n(6540);var i=n(1312),o=n(1003),s=n(781),r=n(3363),a=n(4848);function d(){const e=(0,i.T)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.be,{title:e}),(0,a.jsx)(s.A,{children:(0,a.jsx)(r.A,{})})]})}}}]);
|
1
assets/js/241bb739.ec4ac292.js
Normal file
1
assets/js/241bb739.ec4ac292.js
Normal file
File diff suppressed because one or more lines are too long
1
assets/js/2615e5c5.e11de24a.js
Normal file
1
assets/js/2615e5c5.e11de24a.js
Normal file
File diff suppressed because one or more lines are too long
1
assets/js/360dc931.f6c3cf68.js
Normal file
1
assets/js/360dc931.f6c3cf68.js
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[600],{7146:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"api"}')}}]);
|
1
assets/js/3f557775.afea276a.js
Normal file
1
assets/js/3f557775.afea276a.js
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[864],{1661:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"\u041d\u0430\u0447\u0430\u043b\u043e \u0440\u0430\u0431\u043e\u0442\u044b","href":"/fluent-request-schema-1c/docs/getting-started/","docId":"getting-started/index","unlisted":false}]},"docs":{"getting-started/index":{"id":"getting-started/index","title":"\u041d\u0430\u0447\u0430\u043b\u043e \u0440\u0430\u0431\u043e\u0442\u044b","description":"","sidebar":"tutorialSidebar"}}}}')}}]);
|
1
assets/js/408.0cae011d.js
Normal file
1
assets/js/408.0cae011d.js
Normal file
File diff suppressed because one or more lines are too long
1
assets/js/54c82979.f8564b14.js
Normal file
1
assets/js/54c82979.f8564b14.js
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[254],{9498:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>l,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var s=n(4848),r=n(8453);const o={sidebar_label:"\u041d\u0430\u0447\u0430\u043b\u043e \u0440\u0430\u0431\u043e\u0442\u044b",sidebar_position:0},i="\u041d\u0430\u0447\u0430\u043b\u043e \u0440\u0430\u0431\u043e\u0442\u044b",a={id:"getting-started/index",title:"\u041d\u0430\u0447\u0430\u043b\u043e \u0440\u0430\u0431\u043e\u0442\u044b",description:"",source:"@site/docs/getting-started/index.md",sourceDirName:"getting-started",slug:"/getting-started/",permalink:"/fluent-request-schema-1c/docs/getting-started/",draft:!1,unlisted:!1,editUrl:"https://github.com/zerobig/fluent-request-schema-1c/tree/main/packages/create-docusaurus/templates/shared/docs/getting-started/index.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_label:"\u041d\u0430\u0447\u0430\u043b\u043e \u0440\u0430\u0431\u043e\u0442\u044b",sidebar_position:0},sidebar:"tutorialSidebar"},c={},d=[];function u(e){const t={h1:"h1",header:"header",...(0,r.R)(),...e.components};return(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"\u043d\u0430\u0447\u0430\u043b\u043e-\u0440\u0430\u0431\u043e\u0442\u044b",children:"\u041d\u0430\u0447\u0430\u043b\u043e \u0440\u0430\u0431\u043e\u0442\u044b"})})}function l(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>a});var s=n(6540);const r={},o=s.createContext(r);function i(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]);
|
1
assets/js/5e95c892.1dd55255.js
Normal file
1
assets/js/5e95c892.1dd55255.js
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[647],{7121:(e,s,r)=>{r.r(s),r.d(s,{default:()=>l});r(6540);var c=r(4164),u=r(1003),a=r(7559),d=r(2831),n=r(781),t=r(4848);function l(e){return(0,t.jsx)(u.e3,{className:(0,c.A)(a.G.wrapper.docsPages),children:(0,t.jsx)(n.A,{children:(0,d.v)(e.route.routes)})})}}}]);
|
1
assets/js/84c9a1dd.764507df.js
Normal file
1
assets/js/84c9a1dd.764507df.js
Normal file
File diff suppressed because one or more lines are too long
1
assets/js/93e67da0.88035f25.js
Normal file
1
assets/js/93e67da0.88035f25.js
Normal file
File diff suppressed because one or more lines are too long
1
assets/js/a7456010.47cad1bc.js
Normal file
1
assets/js/a7456010.47cad1bc.js
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[235],{8552:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]);
|
1
assets/js/a7bd4aaa.656def23.js
Normal file
1
assets/js/a7bd4aaa.656def23.js
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[98],{1723:(n,e,s)=>{s.r(e),s.d(e,{default:()=>l});s(6540);var r=s(1003);function o(n,e){return`docs-${n}-${e}`}var t=s(3025),c=s(2831),i=s(1463),u=s(4848);function a(n){const{version:e}=n;return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(i.A,{version:e.version,tag:o(e.pluginId,e.version)}),(0,u.jsx)(r.be,{children:e.noIndex&&(0,u.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function d(n){const{version:e,route:s}=n;return(0,u.jsx)(r.e3,{className:e.className,children:(0,u.jsx)(t.n,{version:e,children:(0,c.v)(s.routes)})})}function l(n){return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(a,{...n}),(0,u.jsx)(d,{...n})]})}}}]);
|
1
assets/js/a94703ab.be5e0574.js
Normal file
1
assets/js/a94703ab.be5e0574.js
Normal file
File diff suppressed because one or more lines are too long
1
assets/js/aba21aa0.eb7bf6f2.js
Normal file
1
assets/js/aba21aa0.eb7bf6f2.js
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[742],{7093:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]);
|
1
assets/js/f3976560.b971c84c.js
Normal file
1
assets/js/f3976560.b971c84c.js
Normal file
File diff suppressed because one or more lines are too long
1
assets/js/f920b2cc.e60c92ae.js
Normal file
1
assets/js/f920b2cc.e60c92ae.js
Normal file
File diff suppressed because one or more lines are too long
2
assets/js/main.a32e078d.js
Normal file
2
assets/js/main.a32e078d.js
Normal file
File diff suppressed because one or more lines are too long
64
assets/js/main.a32e078d.js.LICENSE.txt
Normal file
64
assets/js/main.a32e078d.js.LICENSE.txt
Normal file
@@ -0,0 +1,64 @@
|
||||
/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
|
||||
* @license MIT */
|
||||
|
||||
/*! Bundled license information:
|
||||
|
||||
prismjs/prism.js:
|
||||
(**
|
||||
* Prism: Lightweight, robust, elegant syntax highlighting
|
||||
*
|
||||
* @license MIT <https://opensource.org/licenses/MIT>
|
||||
* @author Lea Verou <https://lea.verou.me>
|
||||
* @namespace
|
||||
* @public
|
||||
*)
|
||||
*/
|
||||
|
||||
/**
|
||||
* @license React
|
||||
* react-dom.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @license React
|
||||
* react-jsx-runtime.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @license React
|
||||
* react.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @license React
|
||||
* scheduler.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
/** @license React v16.13.1
|
||||
* react-is.production.min.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
1
assets/js/runtime~main.e45976c7.js
Normal file
1
assets/js/runtime~main.e45976c7.js
Normal file
@@ -0,0 +1 @@
|
||||
(()=>{"use strict";var e,t,r,a,o,n={},c={};function f(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={exports:{}};return n[e].call(r.exports,r,r.exports,f),r.exports}f.m=n,e=[],f.O=(t,r,a,o)=>{if(!r){var n=1/0;for(u=0;u<e.length;u++){r=e[u][0],a=e[u][1],o=e[u][2];for(var c=!0,i=0;i<r.length;i++)(!1&o||n>=o)&&Object.keys(f.O).every((e=>f.O[e](r[i])))?r.splice(i--,1):(c=!1,o<n&&(n=o));if(c){e.splice(u--,1);var d=a();void 0!==d&&(t=d)}}return t}o=o||0;for(var u=e.length;u>0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[r,a,o]},f.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return f.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,f.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var o=Object.create(null);f.r(o);var n={};t=t||[null,r({}),r([]),r(r)];for(var c=2&a&&e;"object"==typeof c&&!~t.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((t=>n[t]=()=>e[t]));return n.default=()=>e,f.d(o,n),o},f.d=(e,t)=>{for(var r in t)f.o(t,r)&&!f.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},f.f={},f.e=e=>Promise.all(Object.keys(f.f).reduce(((t,r)=>(f.f[r](e,t),t)),[])),f.u=e=>"assets/js/"+({48:"a94703ab",61:"1f391b9e",65:"03fe1038",69:"84c9a1dd",98:"a7bd4aaa",104:"93e67da0",235:"a7456010",254:"54c82979",324:"f920b2cc",365:"241bb739",401:"17896441",600:"360dc931",647:"5e95c892",742:"aba21aa0",795:"f3976560",864:"3f557775",987:"2615e5c5"}[e]||e)+"."+{48:"be5e0574",61:"263c413a",65:"8dfb2196",69:"764507df",98:"656def23",104:"88035f25",235:"47cad1bc",237:"7663bed8",254:"f8564b14",324:"e60c92ae",365:"ec4ac292",401:"6c4f1bfa",408:"0cae011d",600:"f6c3cf68",647:"1dd55255",742:"eb7bf6f2",795:"b971c84c",864:"afea276a",987:"e11de24a"}[e]+".js",f.miniCssF=e=>{},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},o="docs:",f.l=(e,t,r,n)=>{if(a[e])a[e].push(t);else{var c,i;if(void 0!==r)for(var d=document.getElementsByTagName("script"),u=0;u<d.length;u++){var l=d[u];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==o+r){c=l;break}}c||(i=!0,(c=document.createElement("script")).charset="utf-8",c.timeout=120,f.nc&&c.setAttribute("nonce",f.nc),c.setAttribute("data-webpack",o+r),c.src=e),a[e]=[t];var s=(t,r)=>{c.onerror=c.onload=null,clearTimeout(b);var o=a[e];if(delete a[e],c.parentNode&&c.parentNode.removeChild(c),o&&o.forEach((e=>e(r))),t)return t(r)},b=setTimeout(s.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=s.bind(null,c.onerror),c.onload=s.bind(null,c.onload),i&&document.head.appendChild(c)}},f.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.p="/fluent-request-schema-1c/",f.gca=function(e){return e={17896441:"401",a94703ab:"48","1f391b9e":"61","03fe1038":"65","84c9a1dd":"69",a7bd4aaa:"98","93e67da0":"104",a7456010:"235","54c82979":"254",f920b2cc:"324","241bb739":"365","360dc931":"600","5e95c892":"647",aba21aa0:"742",f3976560:"795","3f557775":"864","2615e5c5":"987"}[e]||e,f.p+f.u(e)},(()=>{var e={354:0,869:0};f.f.j=(t,r)=>{var a=f.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(354|869)$/.test(t))e[t]=0;else{var o=new Promise(((r,o)=>a=e[t]=[r,o]));r.push(a[2]=o);var n=f.p+f.u(t),c=new Error;f.l(n,(r=>{if(f.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var o=r&&("load"===r.type?"missing":r.type),n=r&&r.target&&r.target.src;c.message="Loading chunk "+t+" failed.\n("+o+": "+n+")",c.name="ChunkLoadError",c.type=o,c.request=n,a[1](c)}}),"chunk-"+t,t)}},f.O.j=t=>0===e[t];var t=(t,r)=>{var a,o,n=r[0],c=r[1],i=r[2],d=0;if(n.some((t=>0!==e[t]))){for(a in c)f.o(c,a)&&(f.m[a]=c[a]);if(i)var u=i(f)}for(t&&t(r);d<n.length;d++)o=n[d],f.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return f.O(u)},r=self.webpackChunkdocs=self.webpackChunkdocs||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})()})();
|
20
docs/.gitignore
vendored
20
docs/.gitignore
vendored
@@ -1,20 +0,0 @@
|
||||
# Dependencies
|
||||
/node_modules
|
||||
|
||||
# Production
|
||||
/build
|
||||
|
||||
# Generated files
|
||||
.docusaurus
|
||||
.cache-loader
|
||||
|
||||
# Misc
|
||||
.DS_Store
|
||||
.env.local
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
@@ -1,41 +0,0 @@
|
||||
# Website
|
||||
|
||||
This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator.
|
||||
|
||||
### Installation
|
||||
|
||||
```
|
||||
$ yarn
|
||||
```
|
||||
|
||||
### Local Development
|
||||
|
||||
```
|
||||
$ yarn start
|
||||
```
|
||||
|
||||
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
|
||||
|
||||
### Build
|
||||
|
||||
```
|
||||
$ yarn build
|
||||
```
|
||||
|
||||
This command generates static content into the `build` directory and can be served using any static contents hosting service.
|
||||
|
||||
### Deployment
|
||||
|
||||
Using SSH:
|
||||
|
||||
```
|
||||
$ USE_SSH=true yarn deploy
|
||||
```
|
||||
|
||||
Not using SSH:
|
||||
|
||||
```
|
||||
$ GIT_USER=<Your GitHub username> yarn deploy
|
||||
```
|
||||
|
||||
If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
|
@@ -1,3 +0,0 @@
|
||||
module.exports = {
|
||||
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
|
||||
};
|
@@ -1,7 +0,0 @@
|
||||
---
|
||||
sidebar_label: "Начало работы"
|
||||
sidebar_position: 0
|
||||
---
|
||||
|
||||
# Начало работы
|
||||
|
@@ -1,137 +0,0 @@
|
||||
import {themes as prismThemes} from 'prism-react-renderer';
|
||||
import type {Config} from '@docusaurus/types';
|
||||
import type * as Preset from '@docusaurus/preset-classic';
|
||||
|
||||
const config: Config = {
|
||||
title: '1С Предприятие. Fluent запросы',
|
||||
tagline: 'Dinosaurs are cool',
|
||||
favicon: 'img/favicon.ico',
|
||||
|
||||
// Set the production url of your site here
|
||||
url: 'https://zerobig.github.io',
|
||||
// Set the /<baseUrl>/ pathname under which your site is served
|
||||
// For GitHub pages deployment, it is often '/<projectName>/'
|
||||
baseUrl: '/fluent-request-schema-1c',
|
||||
|
||||
// GitHub pages deployment config.
|
||||
// If you aren't using GitHub pages, you don't need these.
|
||||
organizationName: 'zerobig',
|
||||
projectName: 'fluent-request-schema-1c',
|
||||
|
||||
onBrokenLinks: 'throw',
|
||||
onBrokenMarkdownLinks: 'warn',
|
||||
|
||||
// Even if you don't use internationalization, you can use this field to set
|
||||
// useful metadata like html lang. For example, if your site is Chinese, you
|
||||
// may want to replace "en" with "zh-Hans".
|
||||
i18n: {
|
||||
defaultLocale: 'ru',
|
||||
locales: ['ru'],
|
||||
},
|
||||
|
||||
presets: [
|
||||
[
|
||||
'classic',
|
||||
{
|
||||
docs: {
|
||||
sidebarPath: './sidebars.ts',
|
||||
// Please change this to your repo.
|
||||
// Remove this to remove the "edit this page" links.
|
||||
editUrl:
|
||||
'https://github.com/zerobig/fluent-request-schema-1c/tree/main/packages/create-docusaurus/templates/shared/',
|
||||
},
|
||||
theme: {
|
||||
customCss: './src/css/custom.css',
|
||||
},
|
||||
} satisfies Preset.Options,
|
||||
],
|
||||
],
|
||||
|
||||
plugins: [
|
||||
[
|
||||
'@docusaurus/plugin-content-docs',
|
||||
{
|
||||
id: 'api',
|
||||
path: 'api',
|
||||
routeBasePath: 'api',
|
||||
sidebarPath: './sidebarsAPI.ts',
|
||||
// ... other options
|
||||
},
|
||||
],
|
||||
],
|
||||
|
||||
themeConfig: {
|
||||
// Replace with your project's social card
|
||||
navbar: {
|
||||
title: '1С Предприятие. Fluent запросы',
|
||||
logo: {
|
||||
alt: 'Логотип',
|
||||
src: 'img/logo.svg',
|
||||
},
|
||||
items: [
|
||||
{
|
||||
type: 'doc',
|
||||
docId: 'getting-started/index',
|
||||
position: 'left',
|
||||
label: 'Начало',
|
||||
},
|
||||
{
|
||||
type: 'docSidebar',
|
||||
sidebarId: 'api',
|
||||
docsPluginId: 'api',
|
||||
position: 'left',
|
||||
label: 'API',
|
||||
},
|
||||
{
|
||||
href: 'https://github.com/zerobig/fluent-request-schema-1c',
|
||||
label: 'GitHub',
|
||||
position: 'right',
|
||||
},
|
||||
],
|
||||
},
|
||||
footer: {
|
||||
style: 'dark',
|
||||
links: [
|
||||
{
|
||||
title: 'Документация',
|
||||
items: [
|
||||
{
|
||||
label: 'Начало',
|
||||
to: '/docs/getting-started',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Обратная связь',
|
||||
items: [
|
||||
{
|
||||
label: 'Stack Overflow',
|
||||
href: 'https://stackoverflow.com/questions/tagged/fluent-request-schema-1c',
|
||||
},
|
||||
{
|
||||
label: 'GitHub Issues',
|
||||
href: 'https://github.com/zerobig/fluent-request-schema-1c/issues',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Ещё',
|
||||
items: [
|
||||
{
|
||||
label: 'GitHub',
|
||||
href: 'https://github.com/zerobig/fluent-request-schema-1c',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
copyright: `Copyright © ${new Date().getFullYear()} Бушин Илья. Built with Docusaurus.`,
|
||||
},
|
||||
prism: {
|
||||
theme: prismThemes.github,
|
||||
darkTheme: prismThemes.dracula,
|
||||
additionalLanguages: ['bsl', 'json'],
|
||||
},
|
||||
} satisfies Preset.ThemeConfig,
|
||||
};
|
||||
|
||||
export default config;
|
13
docs/getting-started/index.html
Normal file
13
docs/getting-started/index.html
Normal file
File diff suppressed because one or more lines are too long
@@ -1,47 +0,0 @@
|
||||
{
|
||||
"name": "docs",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"docusaurus": "docusaurus",
|
||||
"start": "docusaurus start",
|
||||
"build": "docusaurus build",
|
||||
"swizzle": "docusaurus swizzle",
|
||||
"deploy": "docusaurus deploy",
|
||||
"clear": "docusaurus clear",
|
||||
"serve": "docusaurus serve",
|
||||
"write-translations": "docusaurus write-translations",
|
||||
"write-heading-ids": "docusaurus write-heading-ids",
|
||||
"typecheck": "tsc"
|
||||
},
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "3.5.2",
|
||||
"@docusaurus/preset-classic": "3.5.2",
|
||||
"@mdx-js/react": "^3.0.0",
|
||||
"clsx": "^2.0.0",
|
||||
"prism-react-renderer": "^2.3.0",
|
||||
"react": "^18.0.0",
|
||||
"react-dom": "^18.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@docusaurus/module-type-aliases": "3.5.2",
|
||||
"@docusaurus/tsconfig": "3.5.2",
|
||||
"@docusaurus/types": "3.5.2",
|
||||
"typescript": "~5.5.2"
|
||||
},
|
||||
"browserslist": {
|
||||
"production": [
|
||||
">0.5%",
|
||||
"not dead",
|
||||
"not op_mini all"
|
||||
],
|
||||
"development": [
|
||||
"last 3 chrome version",
|
||||
"last 3 firefox version",
|
||||
"last 5 safari version"
|
||||
]
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.0"
|
||||
}
|
||||
}
|
@@ -1,31 +0,0 @@
|
||||
import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
|
||||
|
||||
/**
|
||||
* Creating a sidebar enables you to:
|
||||
- create an ordered group of docs
|
||||
- render a sidebar for each doc of that group
|
||||
- provide next/previous navigation
|
||||
|
||||
The sidebars can be generated from the filesystem, or explicitly defined here.
|
||||
|
||||
Create as many sidebars as you want.
|
||||
*/
|
||||
const sidebars: SidebarsConfig = {
|
||||
// By default, Docusaurus generates a sidebar from the docs folder structure
|
||||
tutorialSidebar: [{type: 'autogenerated', dirName: '.'}],
|
||||
|
||||
// But you can create a sidebar manually
|
||||
/*
|
||||
tutorialSidebar: [
|
||||
'intro',
|
||||
'hello',
|
||||
{
|
||||
type: 'category',
|
||||
label: 'Tutorial',
|
||||
items: ['tutorial-basics/create-a-document'],
|
||||
},
|
||||
],
|
||||
*/
|
||||
};
|
||||
|
||||
export default sidebars;
|
@@ -1,31 +0,0 @@
|
||||
import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
|
||||
|
||||
/**
|
||||
* Creating a sidebar enables you to:
|
||||
- create an ordered group of docs
|
||||
- render a sidebar for each doc of that group
|
||||
- provide next/previous navigation
|
||||
|
||||
The sidebars can be generated from the filesystem, or explicitly defined here.
|
||||
|
||||
Create as many sidebars as you want.
|
||||
*/
|
||||
const sidebars: SidebarsConfig = {
|
||||
// By default, Docusaurus generates a sidebar from the docs folder structure
|
||||
api: [{type: 'autogenerated', dirName: '.'}],
|
||||
|
||||
// But you can create a sidebar manually
|
||||
/*
|
||||
tutorialSidebar: [
|
||||
'intro',
|
||||
'hello',
|
||||
{
|
||||
type: 'category',
|
||||
label: 'Tutorial',
|
||||
items: ['tutorial-basics/create-a-document'],
|
||||
},
|
||||
],
|
||||
*/
|
||||
};
|
||||
|
||||
export default sidebars;
|
@@ -1,30 +0,0 @@
|
||||
/**
|
||||
* Any CSS included here will be global. The classic template
|
||||
* bundles Infima by default. Infima is a CSS framework designed to
|
||||
* work well for content-centric websites.
|
||||
*/
|
||||
|
||||
/* You can override the default Infima variables here. */
|
||||
:root {
|
||||
--ifm-color-primary: #2e8555;
|
||||
--ifm-color-primary-dark: #29784c;
|
||||
--ifm-color-primary-darker: #277148;
|
||||
--ifm-color-primary-darkest: #205d3b;
|
||||
--ifm-color-primary-light: #33925d;
|
||||
--ifm-color-primary-lighter: #359962;
|
||||
--ifm-color-primary-lightest: #3cad6e;
|
||||
--ifm-code-font-size: 95%;
|
||||
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
/* For readability concerns, you should choose a lighter palette in dark mode. */
|
||||
[data-theme='dark'] {
|
||||
--ifm-color-primary: #25c2a0;
|
||||
--ifm-color-primary-dark: #21af90;
|
||||
--ifm-color-primary-darker: #1fa588;
|
||||
--ifm-color-primary-darkest: #1a8870;
|
||||
--ifm-color-primary-light: #29d5b0;
|
||||
--ifm-color-primary-lighter: #32d8b4;
|
||||
--ifm-color-primary-lightest: #4fddbf;
|
||||
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
|
||||
}
|
@@ -1,32 +0,0 @@
|
||||
---
|
||||
sidebar_position: 0
|
||||
slug: /
|
||||
---
|
||||
|
||||
# 1С Предприятие. Fluent запросы
|
||||
|
||||
Библиотека позволяет писать запросы 1С Предприятия в функциональном стиле. Например, вот такой код:
|
||||
```bsl
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура").ВТаблицуЗначений();
|
||||
```
|
||||
будет аналогичен:
|
||||
```bsl
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст = "ВЫБРАТЬ
|
||||
| Номенклатура.Ссылка КАК Ссылка
|
||||
|ИЗ
|
||||
| Справочник.Номенклатура КАК Номенклатура";
|
||||
|
||||
ТаблицаЗначений = Запрос.Выполнить().Выгрузить();
|
||||
```
|
||||
|
||||
## Благодарности
|
||||
|
||||
- [YAxUnit](https://github.com/bia-technologies/yaxunit)
|
||||
- [1CFilesConverter](https://github.com/arkuznetsov/1CFilesConverter)
|
||||
|
||||
## Лицензия
|
||||
|
||||
Copyright © 2024 [Бушин Илья](https://github.com/zerobig/)
|
||||
|
||||
Distributed under the [MIT License](https://www.mit.edu/~amini/LICENSE.md)
|
@@ -1,8 +0,0 @@
|
||||
{
|
||||
// This file is not used in compilation. It is here just for a nice editor experience.
|
||||
"extends": "@docusaurus/tsconfig",
|
||||
"compilerOptions": {
|
||||
"baseUrl": ".",
|
||||
"moduleResolution": "node"
|
||||
}
|
||||
}
|
8213
docs/yarn.lock
8213
docs/yarn.lock
File diff suppressed because it is too large
Load Diff
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 974 B After Width: | Height: | Size: 974 B |
BIN
index.html
Normal file
BIN
index.html
Normal file
Binary file not shown.
11
package.json
11
package.json
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"name": "fluent-request-schema-1c",
|
||||
"version": "0.0.1",
|
||||
"scripts": {
|
||||
"build": "npm run build:config && npm run build:extension",
|
||||
"build:config": "cd scripts ",
|
||||
"build:extension": "cd scripts && ext2cfe.cmd ../src/cfe ../dist/request_schema.cfe СхемаЗапроса"
|
||||
},
|
||||
"author": "Bushin Ilya",
|
||||
"license": "MIT"
|
||||
}
|
@@ -1 +0,0 @@
|
||||
V8_VERSION=8.3.25.1336
|
@@ -1,167 +0,0 @@
|
||||
@rem ----------------------------------------------------------
|
||||
@rem This Source Code Form is subject to the terms of the
|
||||
@rem Mozilla Public License, v.2.0. If a copy of the MPL
|
||||
@rem was not distributed with this file, You can obtain one
|
||||
@rem at http://mozilla.org/MPL/2.0/.
|
||||
@rem ----------------------------------------------------------
|
||||
@rem Codebase: https://github.com/ArKuznetsov/1CFilesConverter/
|
||||
@rem ----------------------------------------------------------
|
||||
|
||||
@ECHO OFF
|
||||
|
||||
SETLOCAL
|
||||
|
||||
set CONVERT_VERSION=UNKNOWN
|
||||
IF exist "..\VERSION" FOR /F "usebackq tokens=* delims=" %%i IN ("..\VERSION") DO set CONVERT_VERSION=%%i
|
||||
echo 1C files converter v.%CONVERT_VERSION%
|
||||
echo ===
|
||||
echo Convert 1C configuration extension to binary format ^(*.cfe^)
|
||||
|
||||
set ERROR_CODE=0
|
||||
|
||||
IF not defined V8_VERSION set V8_VERSION=8.3.20.2290
|
||||
IF not defined V8_TEMP set V8_TEMP=%TEMP%\1c
|
||||
|
||||
IF not "%V8_CONVERT_TOOL%" equ "designer" IF not "%V8_CONVERT_TOOL%" equ "ibcmd" set V8_CONVERT_TOOL=designer
|
||||
set V8_TOOL="C:\Program Files\1cv8\%V8_VERSION%\bin\1cv8.exe"
|
||||
set IBCMD_TOOL="C:\Program Files\1cv8\%V8_VERSION%\bin\ibcmd.exe"
|
||||
IF not defined V8_RING_TOOL (
|
||||
FOR /F "usebackq tokens=1 delims=" %%i IN (`where ring`) DO (
|
||||
set V8_RING_TOOL="%%i"
|
||||
)
|
||||
)
|
||||
|
||||
set LOCAL_TEMP=%V8_TEMP%\%~n0
|
||||
set IB_PATH=%LOCAL_TEMP%\tmp_db
|
||||
set XML_PATH=%LOCAL_TEMP%\tmp_xml
|
||||
set WS_PATH=%LOCAL_TEMP%\edt_ws
|
||||
|
||||
set ARG=%1
|
||||
IF defined ARG set ARG=%ARG:"=%
|
||||
IF "%ARG%" neq "" set V8_SRC_PATH=%ARG%
|
||||
set ARG=%2
|
||||
IF defined ARG set ARG=%ARG:"=%
|
||||
IF "%ARG%" neq "" set V8_DST_PATH=%ARG%
|
||||
set V8_DST_FOLDER=%~dp2
|
||||
set V8_DST_FOLDER=%V8_DST_FOLDER:~0,-1%
|
||||
set ARG=%3
|
||||
IF defined ARG set ARG=%ARG:"=%
|
||||
IF "%ARG%" neq "" set V8_EXT_NAME=%ARG%
|
||||
set ARG=%4
|
||||
IF defined ARG set ARG=%ARG:"=%
|
||||
IF "%ARG%" neq "" set V8_BASE_CONFIG=%ARG%
|
||||
|
||||
IF not defined V8_SRC_PATH (
|
||||
echo [ERROR] Missed parameter 1 - "path to folder contains 1C extension in 1C:Designer XML format or EDT project"
|
||||
set ERROR_CODE=1
|
||||
) ELSE (
|
||||
IF not exist "%V8_SRC_PATH%" (
|
||||
echo [ERROR] Path "%V8_SRC_PATH%" doesn't exist ^(parameter 1^).
|
||||
set ERROR_CODE=1
|
||||
)
|
||||
)
|
||||
IF not defined V8_DST_PATH (
|
||||
echo [ERROR] Missed parameter 2 - "path to 1C configuration extension file (*.cfe)"
|
||||
set ERROR_CODE=1
|
||||
)
|
||||
IF not defined V8_EXT_NAME (
|
||||
echo [ERROR] Missed parameter 3 - "configuration extension name"
|
||||
set ERROR_CODE=1
|
||||
)
|
||||
IF not exist "%V8_BASE_CONFIG%" (
|
||||
echo [INFO] Path "%V8_BASE_CONFIG%" doesn't exist ^(parameter 4^), empty infobase will be used.
|
||||
set V8_BASE_CONFIG=
|
||||
)
|
||||
IF %ERROR_CODE% neq 0 (
|
||||
echo ===
|
||||
echo [ERROR] Input parameters error. Expected:
|
||||
echo %%1 - path to folder contains 1C extension in 1C:Designer XML format or EDT project
|
||||
echo %%2 - path to 1C configuration extension file ^(*.cfe^)
|
||||
echo %%3 - configuration extension name
|
||||
echo %%4 - ^(optional^) path to 1C configuration ^(binary ^(*.cf^), 1C:Designer XML format or 1C:EDT project^)
|
||||
echo or folder contains 1C infobase used for convertion
|
||||
echo.
|
||||
exit /b %ERROR_CODE%
|
||||
)
|
||||
|
||||
echo [INFO] Clear temporary files...
|
||||
IF exist "%LOCAL_TEMP%" rd /S /Q "%LOCAL_TEMP%"
|
||||
md "%LOCAL_TEMP%"
|
||||
IF not exist "%V8_DST_FOLDER%" md "%V8_DST_FOLDER%"
|
||||
|
||||
echo [INFO] Set infobase for export data processor/report...
|
||||
|
||||
set V8_BASE_CONFIG_DESCRIPTION=configuration from "%V8_BASE_CONFIG%"
|
||||
|
||||
IF "%V8_BASE_CONFIG%" equ "" (
|
||||
md "%IB_PATH%"
|
||||
echo [INFO] Creating infobase "%IB_PATH%"...
|
||||
set V8_BASE_CONFIG_DESCRIPTION=empty configuration
|
||||
%V8_TOOL% CREATEINFOBASE File=%IB_PATH%; /DisableStartupDialogs
|
||||
goto export
|
||||
)
|
||||
IF exist "%V8_BASE_CONFIG%\1cv8.1cd" (
|
||||
echo [INFO] Basic config source type: Infobase
|
||||
set V8_BASE_CONFIG_DESCRIPTION=existed configuration
|
||||
set IB_PATH=%V8_BASE_CONFIG%
|
||||
goto export
|
||||
)
|
||||
md "%IB_PATH%"
|
||||
call %~dp0conf2ib.cmd "%V8_BASE_CONFIG%" "%IB_PATH%"
|
||||
IF ERRORLEVEL 0 goto export
|
||||
|
||||
echo [ERROR] Error cheking type of basic configuration "%V8_BASE_CONFIG%"!
|
||||
echo Infobase, configuration file ^(*.cf^), 1C:Designer XML, 1C:EDT project or no configuration expected.
|
||||
exit /b 1
|
||||
|
||||
:export
|
||||
|
||||
echo [INFO] Checking 1C extension source type...
|
||||
|
||||
IF exist "%V8_SRC_PATH%\DT-INF\" (
|
||||
IF exist "%V8_SRC_PATH%\src\Configuration\Configuration.mdo" (
|
||||
FOR /F "delims=" %%t IN ('findstr /r /i "<objectBelonging>" "%V8_SRC_PATH%\src\Configuration\Configuration.mdo"') DO (
|
||||
echo [INFO] Source type: 1C:EDT project
|
||||
md "%XML_PATH%"
|
||||
md "%WS_PATH%"
|
||||
goto export_edt
|
||||
)
|
||||
)
|
||||
)
|
||||
IF exist "%V8_SRC_PATH%\Configuration.xml" (
|
||||
FOR /F "delims=" %%t IN ('findstr /r /i "<objectBelonging>" "%V8_SRC_PATH%\Configuration.xml"') DO (
|
||||
echo [INFO] Source type: 1C:Designer XML files
|
||||
set XML_PATH=%V8_SRC_PATH%
|
||||
goto export_xml
|
||||
)
|
||||
)
|
||||
|
||||
echo [ERROR] Wrong path "%V8_SRC_PATH%"!
|
||||
echo Folder containing configuration extension in 1C:Designer XML format or 1C:EDT project expected.
|
||||
exit /b 1
|
||||
|
||||
:export_edt
|
||||
|
||||
echo [INFO] Export configuration extension from 1C:EDT format "%V8_SRC_PATH%" to 1C:Designer XML format "%XML_PATH%"...
|
||||
call %V8_RING_TOOL% edt workspace export --project "%V8_SRC_PATH%" --configuration-files "%XML_PATH%" --workspace-location "%WS_PATH%"
|
||||
|
||||
:export_xml
|
||||
|
||||
echo [INFO] Loading configuration extension from XML-files "%XML_PATH%" to infobase "%IB_PATH%"...
|
||||
IF "%V8_CONVERT_TOOL%" equ "designer" (
|
||||
%V8_TOOL% DESIGNER /IBConnectionString File=%IB_PATH%; /DisableStartupDialogs /LoadConfigFromFiles %XML_PATH% -Extension %V8_EXT_NAME%
|
||||
) ELSE (
|
||||
%IBCMD_TOOL% infobase config import --db-path="%IB_PATH%" --extension=%V8_EXT_NAME% "%XML_PATH%"
|
||||
)
|
||||
|
||||
:export_ib
|
||||
|
||||
echo [INFO] Export configuration extension from infobase "%IB_PATH%" configuration to "%V8_DST_PATH%"...
|
||||
IF "%V8_CONVERT_TOOL%" equ "designer" (
|
||||
%V8_TOOL% DESIGNER /IBConnectionString File=%IB_PATH%; /DisableStartupDialogs /DumpCfg %V8_DST_PATH% -Extension %V8_EXT_NAME%
|
||||
) ELSE (
|
||||
%IBCMD_TOOL% infobase config save --db-path="%IB_PATH%" --extension=%V8_EXT_NAME% "%V8_DST_PATH%"
|
||||
)
|
||||
|
||||
echo [INFO] Clear temporary files...
|
||||
IF exist "%LOCAL_TEMP%" rd /S /Q "%LOCAL_TEMP%"
|
1
sitemap.xml
Normal file
1
sitemap.xml
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://zerobig.github.io/fluent-request-schema-1c/api/%D0%A1%D0%97_%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D1%8B%D0%9F%D1%80%D0%B5%D0%B4%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D0%B2%D0%9A%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://zerobig.github.io/fluent-request-schema-1c/api/%D0%A1%D0%97_%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D1%8B%D0%9F%D1%80%D0%B5%D0%B4%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D0%B2%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D1%8B%D0%B9%D0%9A%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://zerobig.github.io/fluent-request-schema-1c/api/%D0%A1%D0%97_%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D1%8B%D0%A1%D1%85%D0%B5%D0%BC%D0%97%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0%D0%9A%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://zerobig.github.io/fluent-request-schema-1c/api/%D0%A1%D0%97_%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D1%8B%D0%A1%D1%85%D0%B5%D0%BC%D0%97%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D1%8B%D0%B9</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://zerobig.github.io/fluent-request-schema-1c/api/%D0%A1%D0%97_%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D1%8B%D0%A1%D1%85%D0%B5%D0%BC%D0%97%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D1%8B%D0%B9%D0%9A%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://zerobig.github.io/fluent-request-schema-1c/docs/getting-started/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://zerobig.github.io/fluent-request-schema-1c/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url></urlset>
|
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
|
||||
<CommonModule uuid="5f1605a0-4e63-4339-b2cc-44e115be6ed7">
|
||||
<Properties>
|
||||
<Name>СЗ_Запрос</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Схема запроса: запрос</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>true</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>false</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||
</Properties>
|
||||
</CommonModule>
|
||||
</MetaDataObject>
|
@@ -1,27 +0,0 @@
|
||||
|
||||
Функция НовыйЗапрос(ИсточникДанных, Первые = 0, Различные = Ложь, Разрешенные = Ложь) Экспорт
|
||||
|
||||
ПроцессорСхемЗапроса = СЗ_ПроцессорыСхемЗапросаКлиентСервер
|
||||
.НовыйПроцессорСхемЗапроса(ИсточникДанных, Первые, Различные, Разрешенные);
|
||||
|
||||
Возврат ПроцессорСхемЗапроса;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция Предикат() Экспорт
|
||||
|
||||
ПроцессорПредикатов = СЗ_ПроцессорыПредикатовКлиентСервер
|
||||
.НовыйПроцессорПредикатов();
|
||||
|
||||
Возврат ПроцессорПредикатов;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// TODO: В модуле СЗ_ПроцессорыСхемЗапросаКлиентСерверСлужебный так же регулярно требуетс
|
||||
// такая структура. Рефакторинг!
|
||||
Функция НовоеПоле(ИмяПоля, Источник, Псевдоним) Экспорт
|
||||
|
||||
Возврат Новый Структура("ИмяПоля, Источник, Псевдоним",
|
||||
ИмяПоля, Источник, Псевдоним);
|
||||
|
||||
КонецФункции
|
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
|
||||
<CommonModule uuid="52ab0c6f-4fa1-4913-b37e-460ab1e44314">
|
||||
<Properties>
|
||||
<Name>СЗ_ЗапросТест</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Схема запроса: запрос тест</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>false</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>false</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||
</Properties>
|
||||
</CommonModule>
|
||||
</MetaDataObject>
|
@@ -1,566 +0,0 @@
|
||||
#Область ОбъявлениеТестов
|
||||
|
||||
Процедура ИсполняемыеСценарии() Экспорт
|
||||
|
||||
ЮТТесты
|
||||
.ДобавитьТест("ИсключениеИсточникОтсутствует")
|
||||
.ДобавитьТест("ИсключениеИсточникПустаяСтрока")
|
||||
.ДобавитьТест("ЗапросВТаблицуЗначений")
|
||||
.ДобавитьТест("ЗапросВМассив")
|
||||
.ДобавитьТест("Первые")
|
||||
.ДобавитьТест("Различные")
|
||||
.ДобавитьТест("Разрешенные")
|
||||
.ДобавитьТест("ИсключениеПолеОтсутствует")
|
||||
.ДобавитьТест("ДобавитьПоляССинонимами")
|
||||
.ДобавитьТест("ДобавитьНесколькоПолей")
|
||||
.ДобавитьТест("ДобавитьНесколькоПолейСПереносомСтроки")
|
||||
.ДобавитьТест("ДобавитьПоляССинонимамиИСписком")
|
||||
.ДобавитьТест("ВсеПоляДляНеСсылочногоТипа")
|
||||
.ДобавитьТест("ВсеПоляДляСсылочногоТипа")
|
||||
.ДобавитьТест("ЗапросСУсловием")
|
||||
.ДобавитьТест("ЛевоеСоединениеПоИсточникуСтроке")
|
||||
.ДобавитьТест("ЛевоеСоединениеПоИсточникуЗапросу")
|
||||
.ДобавитьТест("ЛевоеСоединениеБезПредиката")
|
||||
.ДобавитьТест("ЛевоеСоединениеНесколькоУсловийВПредикате")
|
||||
.ДобавитьТест("ЛевоеСоединениеПредикатЭтоПараметр")
|
||||
.ДобавитьТест("ЛевоеСоединениеБезПсевдонимовВСоединении")
|
||||
.ДобавитьТест("НесколькоЛевыхСоединений")
|
||||
.ДобавитьТест("ВложенныйЗапрос")
|
||||
.ДобавитьТест("Порядок")
|
||||
.ДобавитьТест("Итоги")
|
||||
.ДобавитьТест("АдресныйКлассификаторСлужебный_ТаблицаАдресныхСокращений")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Тесты
|
||||
|
||||
#Область Базовые
|
||||
|
||||
Процедура ИсключениеИсточникОтсутствует() Экспорт
|
||||
|
||||
Предикат = СЗ_Запрос.Предикат()
|
||||
.Реквизит("ЭтоГруппа").Равно(Ложь)
|
||||
.Получить()
|
||||
;
|
||||
|
||||
Обработка = Обработки.СЗ_ПроцессорСхемЗапроса.Создать();
|
||||
|
||||
ЮТест.ОжидаетЧто(Обработка)
|
||||
.Метод("ВТаблицуЗначений")
|
||||
.ВыбрасываетИсключение("Источник данных запроса не определен");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ИсключениеИсточникПустаяСтрока() Экспорт
|
||||
|
||||
Предикат = СЗ_Запрос.Предикат()
|
||||
.Реквизит("ЭтоГруппа").Равно(Ложь)
|
||||
.Получить()
|
||||
;
|
||||
|
||||
Запрос = СЗ_Запрос.НовыйЗапрос("")
|
||||
.Где(Предикат)
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(Запрос)
|
||||
.Метод("ВТаблицуЗначений")
|
||||
.ВыбрасываетИсключение("Источник данных запроса не определен");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗапросВТаблицуЗначений() Экспорт
|
||||
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
|
||||
.ВТаблицуЗначений()
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений)
|
||||
.ИмеетТип("ТаблицаЗначений")
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений.Количество())
|
||||
.Больше(0)
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗапросВМассив() Экспорт
|
||||
|
||||
Массив = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
|
||||
.ВМассив("Ссылка")
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(Массив)
|
||||
.ИмеетТип("Массив")
|
||||
;
|
||||
ЮТест.ОжидаетЧто(Массив.Количество())
|
||||
.Больше(0)
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Первые() Экспорт
|
||||
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура", 10)
|
||||
.ВТаблицуЗначений()
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений.Количество())
|
||||
.Равно(10)
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Различные() Экспорт
|
||||
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура",, Истина)
|
||||
.ВТаблицуЗначений()
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Разрешенные() Экспорт
|
||||
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура",,, Истина)
|
||||
.ВТаблицуЗначений()
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Поля
|
||||
|
||||
// TODO: Поля могут быть выражениями
|
||||
|
||||
Процедура ИсключениеПолеОтсутствует() Экспорт
|
||||
|
||||
НеправильноеНаименованиеПоля = "йцукен";
|
||||
|
||||
Запрос = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
|
||||
.Выбрать(НеправильноеНаименованиеПоля)
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(Запрос)
|
||||
.Метод("ВТаблицуЗначений")
|
||||
.ВыбрасываетИсключение(
|
||||
СтрШаблон("Поле %1 в источнике не определено", НеправильноеНаименованиеПоля));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьПоляССинонимами() Экспорт
|
||||
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
|
||||
.Выбрать(СЗ_Запрос.НовоеПоле("Ссылка",, "СсылкаНоменклатуры"))
|
||||
.Выбрать(СЗ_Запрос.НовоеПоле("Наименование",, "НаименованиеНоменклатуры"))
|
||||
.ВТаблицуЗначений()
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений)
|
||||
.ИмеетТип("ТаблицаЗначений")
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений.Количество())
|
||||
.Больше(0)
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений[0])
|
||||
.ИмеетСвойство("СсылкаНоменклатуры")
|
||||
.ИмеетСвойство("НаименованиеНоменклатуры")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьНесколькоПолей() Экспорт
|
||||
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
|
||||
.Выбрать("Ссылка, Наименование, ЭтоГруппа")
|
||||
.ВТаблицуЗначений()
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений)
|
||||
.ИмеетТип("ТаблицаЗначений")
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений.Количество())
|
||||
.Больше(0)
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений[0])
|
||||
.ИмеетСвойство("Ссылка")
|
||||
.ИмеетСвойство("Наименование")
|
||||
.ИмеетСвойство("ЭтоГруппа")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьНесколькоПолейСПереносомСтроки() Экспорт
|
||||
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
|
||||
.Выбрать("Ссылка, Наименование,
|
||||
|ЭтоГруппа")
|
||||
.ВТаблицуЗначений()
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений)
|
||||
.ИмеетТип("ТаблицаЗначений")
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений.Количество())
|
||||
.Больше(0)
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений[0])
|
||||
.ИмеетСвойство("Ссылка")
|
||||
.ИмеетСвойство("Наименование")
|
||||
.ИмеетСвойство("ЭтоГруппа")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьПоляССинонимамиИСписком() Экспорт
|
||||
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
|
||||
.Выбрать(СЗ_Запрос.НовоеПоле("Ссылка",, "СсылкаНоменклатуры"))
|
||||
.Выбрать("Наименование КАК НаименованиеНоменклатуры, ЭтоГруппа")
|
||||
.ВТаблицуЗначений()
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений)
|
||||
.ИмеетТип("ТаблицаЗначений")
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений.Количество())
|
||||
.Больше(0)
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений[0])
|
||||
.ИмеетСвойство("СсылкаНоменклатуры")
|
||||
.ИмеетСвойство("НаименованиеНоменклатуры")
|
||||
.ИмеетСвойство("ЭтоГруппа")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ВсеПоляДляНеСсылочногоТипа() Экспорт
|
||||
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("РегистрСведений.КурсыВалют")
|
||||
.ВТаблицуЗначений()
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений)
|
||||
.ИмеетТип("ТаблицаЗначений")
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений.Количество())
|
||||
.Больше(0)
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений[0])
|
||||
.ИмеетСвойство("Валюта")
|
||||
.ИмеетСвойство("Курс")
|
||||
.ИмеетСвойство("Кратность")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ВсеПоляДляСсылочногоТипа() Экспорт
|
||||
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
|
||||
.ВыбратьВсе()
|
||||
.ВТаблицуЗначений()
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений)
|
||||
.ИмеетТип("ТаблицаЗначений")
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений.Количество())
|
||||
.Больше(0)
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений[0])
|
||||
.ИмеетСвойство("Ссылка")
|
||||
.ИмеетСвойство("Наименование")
|
||||
.ИмеетСвойство("ЭтоГруппа")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Условия
|
||||
|
||||
Процедура ЗапросСУсловием() Экспорт
|
||||
|
||||
Предикат = СЗ_Запрос.Предикат()
|
||||
.Реквизит("ЭтоГруппа").Равно(Ложь)
|
||||
;
|
||||
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
|
||||
.Где(Предикат)
|
||||
.ВТаблицуЗначений()
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений)
|
||||
.ИмеетТип("ТаблицаЗначений")
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений.Количество())
|
||||
.Больше(0)
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Соединения
|
||||
|
||||
Процедура ЛевоеСоединениеПоИсточникуСтроке() Экспорт
|
||||
|
||||
ПредикатДляСоединения = СЗ_Запрос.Предикат()
|
||||
.Реквизит("НоменклатураСоединение.Ссылка").Равно("Номенклатура.Родитель")
|
||||
;
|
||||
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
|
||||
.Выбрать("Номенклатура.Ссылка,
|
||||
|НоменклатураСоединение.Ссылка КАК НоменклатураСоединениеСсылка")
|
||||
.ЛевоеСоединение("Справочник.Номенклатура КАК НоменклатураСоединение", ПредикатДляСоединения)
|
||||
.ВТаблицуЗначений()
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений)
|
||||
.ИмеетТип("ТаблицаЗначений")
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений.Количество())
|
||||
.Больше(0)
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений[0])
|
||||
.ИмеетСвойство("Ссылка")
|
||||
.ИмеетСвойство("НоменклатураСоединениеСсылка")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЛевоеСоединениеПоИсточникуЗапросу() Экспорт
|
||||
|
||||
ЗапросДляСоединения = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура");
|
||||
ПредикатДляСоединения = СЗ_Запрос.Предикат()
|
||||
.Реквизит("Ссылка").Равно("Родитель")
|
||||
;
|
||||
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
|
||||
.Выбрать("Номенклатура.Ссылка,
|
||||
|НоменклатураСоединение.Ссылка КАК НоменклатураСоединениеСсылка")
|
||||
.ЛевоеСоединение(ЗапросДляСоединения, ПредикатДляСоединения)
|
||||
.ВТаблицуЗначений()
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений)
|
||||
.ИмеетТип("ТаблицаЗначений")
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений.Количество())
|
||||
.Больше(0)
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений[0])
|
||||
.ИмеетСвойство("Ссылка")
|
||||
.ИмеетСвойство("НоменклатураСоединениеСсылка")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЛевоеСоединениеБезПредиката() Экспорт
|
||||
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("РегистрСведений.ПримененияЕНВД")
|
||||
.Выбрать("ПримененияЕНВД.Организация КАК Организация,
|
||||
|ПримененияЕНВДСоединение.Склад КАК Склад")
|
||||
.ЛевоеСоединение("РегистрСведений.ПримененияЕНВД КАК ПримененияЕНВДСоединение")
|
||||
.ВТаблицуЗначений()
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений)
|
||||
.ИмеетТип("ТаблицаЗначений")
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений.Количество())
|
||||
.Больше(0)
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений[0])
|
||||
.ИмеетСвойство("Организация")
|
||||
.ИмеетСвойство("Склад")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЛевоеСоединениеНесколькоУсловийВПредикате() Экспорт
|
||||
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
|
||||
.Выбрать("Номенклатура.Ссылка,
|
||||
|НоменклатураСоединение.Ссылка КАК НоменклатураСоединениеСсылка")
|
||||
.ЛевоеСоединение("Справочник.Номенклатура КАК НоменклатураСоединение", СЗ_Запрос.Предикат()
|
||||
.Реквизит("НоменклатураСоединение.Ссылка").Равно("Номенклатура.Родитель")
|
||||
.Реквизит("НоменклатураСоединение.ЭтоГруппа").Равно("ИСТИНА"))
|
||||
.ВТаблицуЗначений()
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений)
|
||||
.ИмеетТип("ТаблицаЗначений")
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений.Количество())
|
||||
.Больше(0)
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений[0])
|
||||
.ИмеетСвойство("Ссылка")
|
||||
.ИмеетСвойство("НоменклатураСоединениеСсылка")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЛевоеСоединениеПредикатЭтоПараметр() Экспорт
|
||||
|
||||
// Подготовка
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
|
||||
| Номенклатура.Ссылка КАК Ссылка
|
||||
|ИЗ
|
||||
| Справочник.Номенклатура КАК Номенклатура
|
||||
|ГДЕ
|
||||
| Номенклатура.ЭтоГруппа";
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Выборка.Следующий();
|
||||
|
||||
МассивПараметров = Новый Массив;
|
||||
МассивПараметров.Добавить(Новый Структура("ИмяПараметра, Значение",
|
||||
"Родитель", Выборка.Ссылка));
|
||||
|
||||
// Выполнение
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
|
||||
.Выбрать("Номенклатура.Ссылка,
|
||||
|НоменклатураСоединение.Ссылка КАК НоменклатураСоединениеСсылка")
|
||||
.ЛевоеСоединение("Справочник.Номенклатура КАК НоменклатураСоединение", СЗ_Запрос.Предикат()
|
||||
.Реквизит("НоменклатураСоединение.Родитель").Равно("&Родитель"))
|
||||
.Параметры(МассивПараметров)
|
||||
.ВТаблицуЗначений()
|
||||
;
|
||||
|
||||
// Проверки
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений)
|
||||
.ИмеетТип("ТаблицаЗначений")
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений.Количество())
|
||||
.Больше(0)
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений[0])
|
||||
.ИмеетСвойство("Ссылка")
|
||||
.ИмеетСвойство("НоменклатураСоединениеСсылка")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЛевоеСоединениеБезПсевдонимовВСоединении() Экспорт
|
||||
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
|
||||
.Выбрать("Номенклатура.Ссылка, Номенклатура1.Ссылка")
|
||||
.ЛевоеСоединение("Справочник.Номенклатура", СЗ_Запрос.Предикат()
|
||||
.Реквизит("Ссылка").Равно("Родитель")
|
||||
.Реквизит("ЭтоГруппа").Равно("ИСТИНА"))
|
||||
.ВТаблицуЗначений()
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений)
|
||||
.ИмеетТип("ТаблицаЗначений")
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений.Количество())
|
||||
.Больше(0)
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений[0])
|
||||
.ИмеетСвойство("Ссылка")
|
||||
.ИмеетСвойство("Ссылка1")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура НесколькоЛевыхСоединений() Экспорт
|
||||
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
|
||||
.Выбрать("Номенклатура.Ссылка, Номенклатура1.Ссылка, Номенклатура2.Ссылка")
|
||||
.ЛевоеСоединение("Справочник.Номенклатура", СЗ_Запрос.Предикат()
|
||||
.Реквизит("Ссылка").Равно("Родитель")
|
||||
.Реквизит("ЭтоГруппа").Равно("ИСТИНА"))
|
||||
.ЛевоеСоединение("Справочник.Номенклатура", СЗ_Запрос.Предикат()
|
||||
.Реквизит("Ссылка").Равно("Родитель")
|
||||
.Реквизит("ЭтоГруппа").Равно("ИСТИНА"))
|
||||
.ВТаблицуЗначений()
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений)
|
||||
.ИмеетТип("ТаблицаЗначений")
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений.Количество())
|
||||
.Больше(0)
|
||||
;
|
||||
ЮТест.ОжидаетЧто(ТаблицаЗначений[0])
|
||||
.ИмеетСвойство("Ссылка")
|
||||
.ИмеетСвойство("Ссылка1")
|
||||
.ИмеетСвойство("Ссылка2")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
Процедура ВложенныйЗапрос() Экспорт
|
||||
|
||||
ВложенныйЗапрос = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура");
|
||||
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос(ВложенныйЗапрос)
|
||||
.ВТаблицуЗначений()
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Порядок() Экспорт
|
||||
|
||||
// Выполнение
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
|
||||
.Упорядочить("ЭтоГруппа, Наименование")
|
||||
.ВТаблицуЗначений()
|
||||
;
|
||||
|
||||
// Проверки
|
||||
// TODO:
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Итоги() Экспорт
|
||||
|
||||
ТаблицаЗначений = СЗ_Запрос.НовыйЗапрос("Справочник.Номенклатура")
|
||||
// TODO:
|
||||
.Итоги()
|
||||
.ВТаблицуЗначений()
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#Область РеальныеЗапросы
|
||||
|
||||
Процедура АдресныйКлассификаторСлужебный_ТаблицаАдресныхСокращений() Экспорт
|
||||
|
||||
// Подготовка
|
||||
НаименованияАдресныхОбъектов = Новый Массив;
|
||||
НаименованияАдресныхОбъектов.Добавить("Абонентский Ящик");
|
||||
|
||||
// Выполнение
|
||||
Запрос = СЗ_Запрос.НовыйЗапрос("РегистрСведений.УровниСокращенийАдресныхСведений")
|
||||
.Выбрать("Значение КАК Наименование, Сокращение")
|
||||
.Сгруппировать("Значение, Сокращение")
|
||||
.Упорядочить("Наименование");
|
||||
|
||||
Если ТипЗнч(НаименованияАдресныхОбъектов) = Тип("Массив") И НаименованияАдресныхОбъектов.Количество() > 0 Тогда
|
||||
Запрос = Запрос
|
||||
.Где(СЗ_Запрос.Предикат()
|
||||
.Реквизит("Значение").В(НаименованияАдресныхОбъектов));
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Запрос.ВТаблицуЗначений();
|
||||
|
||||
// Проверки
|
||||
ЮТест.ОжидаетЧто(Результат)
|
||||
.ИмеетТип("ТаблицаЗначений")
|
||||
;
|
||||
// TODO:
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
|
||||
<CommonModule uuid="407489b2-2f4b-467b-9594-621de146e468">
|
||||
<Properties>
|
||||
<Name>СЗ_ПроцессорыПредикатовКлиентСервер</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Схема запроса: процессоры предикатов клиент сервер</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>true</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>false</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||
</Properties>
|
||||
</CommonModule>
|
||||
</MetaDataObject>
|
@@ -1,27 +0,0 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция НовыйПроцессорПредикатов() Экспорт
|
||||
|
||||
#Если Клиент Тогда
|
||||
ПроцессорПредикатов = ПолучитьФорму("Обработка.СЗ_ПроцессорПредикатов.Форма.Форма");
|
||||
#Иначе
|
||||
ПроцессорПредикатов = Обработки.СЗ_ПроцессорПредикатов.Создать();
|
||||
#КонецЕсли
|
||||
|
||||
Возврат ПроцессорПредикатов;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция Выражения() Экспорт
|
||||
|
||||
Выражения = Новый Структура;
|
||||
Выражения.Вставить("Равно", "Равно");
|
||||
Выражения.Вставить("Больше", "Больше");
|
||||
Выражения.Вставить("Меньше", "Меньше");
|
||||
Выражения.Вставить("В", "В");
|
||||
|
||||
Возврат Новый ФиксированнаяСтруктура(Выражения);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
|
||||
<CommonModule uuid="19b0625e-9f74-4fba-9350-914066ae1034">
|
||||
<Properties>
|
||||
<Name>СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Схема запроса: процессоры предикатов служебный клиент сервер</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>true</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>false</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||
</Properties>
|
||||
</CommonModule>
|
||||
</MetaDataObject>
|
@@ -1,27 +0,0 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Процедура УстановитьИмяРеквизита(Предикат, ИмяРеквизита) Экспорт
|
||||
|
||||
Если Предикат = Неопределено Тогда
|
||||
Предикат = Новый Структура("ИмяРеквизита, Условия",
|
||||
"", Новый Массив);
|
||||
КонецЕсли;
|
||||
|
||||
Предикат.ИмяРеквизита = ИмяРеквизита;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановитьПредикат(Предикат, ВидСравнения, Значение) Экспорт
|
||||
|
||||
Если Предикат = Неопределено Или ПустаяСтрока(Предикат.ИмяРеквизита) Тогда
|
||||
ВызватьИсключение "Ошибочный порядок вызова функций формирования предиката";
|
||||
КонецЕсли;
|
||||
|
||||
Условие = Новый Структура("ИмяРеквизита, ВидСравнения, Значение",
|
||||
Предикат.ИмяРеквизита, ВидСравнения, Значение);
|
||||
|
||||
Предикат.Условия.Добавить(Условие);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
|
||||
<CommonModule uuid="a3e5bf50-2154-477f-9355-29b0930a73c5">
|
||||
<Properties>
|
||||
<Name>СЗ_ПроцессорыСхемЗапросаКлиентСервер</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Схема запроса: процессоры схем запроса</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>true</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>false</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||
</Properties>
|
||||
</CommonModule>
|
||||
</MetaDataObject>
|
@@ -1,17 +0,0 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция НовыйПроцессорСхемЗапроса(ИсточникДанных, Первые = 0, Различные = Ложь, Разрешенные = Ложь) Экспорт
|
||||
|
||||
#Если Клиент Тогда
|
||||
ПроцессорСхемЗапроса = ПолучитьФорму("Обработка.СЗ_ПроцессорСхемЗапроса.Форма.Форма");
|
||||
#Иначе
|
||||
ПроцессорСхемЗапроса = Обработки.СЗ_ПроцессорСхемЗапроса.Создать();
|
||||
#КонецЕсли
|
||||
|
||||
ПроцессорСхемЗапроса.УстановитьИсточникДанных(ИсточникДанных, Первые, Различные, Разрешенные);
|
||||
|
||||
Возврат ПроцессорСхемЗапроса;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
|
||||
<CommonModule uuid="fd5aeea0-9a03-452d-ba1e-81c816846c6c">
|
||||
<Properties>
|
||||
<Name>СЗ_ПроцессорыСхемЗапросаСлужебный</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Схема запроса: процессоры схем запроса служебный</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>false</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>false</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||
</Properties>
|
||||
</CommonModule>
|
||||
</MetaDataObject>
|
@@ -1,237 +0,0 @@
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция ПолучитьРезультатЗапроса(СтруктураСхемыЗапроса) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст = ПолучитьТекстЗапроса(СтруктураСхемыЗапроса, Запрос);
|
||||
ДобавитьПараметрыЗапроса(СтруктураСхемыЗапроса, Запрос);
|
||||
|
||||
Возврат Запрос.Выполнить();
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьТекстЗапроса(СтруктураСхемыЗапроса, Запрос) Экспорт
|
||||
|
||||
Если Не ТипЗнч(СтруктураСхемыЗапроса) = Тип("Структура") Или
|
||||
Не СтруктураСхемыЗапроса.Свойство("ИсточникДанных") Или
|
||||
ПустаяСтрока(СтруктураСхемыЗапроса.ИсточникДанных) Тогда
|
||||
|
||||
ВызватьИсключение "Источник данных запроса не определен";
|
||||
КонецЕсли;
|
||||
|
||||
СхемаЗапроса = Новый СхемаЗапроса;
|
||||
|
||||
ЗапросПакета = ДобавитьПолучитьПакет(СхемаЗапроса, СтруктураСхемыЗапроса);
|
||||
Оператор = ДобавитьПолучитьОператор(ЗапросПакета, СтруктураСхемыЗапроса);
|
||||
|
||||
// Соединения добавляются раньше всех чтобы к моменту добавления полей у нас
|
||||
// уже были все возможные источники данных
|
||||
ДобавитьСоединения(Оператор, СтруктураСхемыЗапроса);
|
||||
ДобавитьПоля(ЗапросПакета, Оператор, СтруктураСхемыЗапроса);
|
||||
ДобавитьУсловия(Оператор, Запрос, СтруктураСхемыЗапроса);
|
||||
ДобавитьГруппировку(Оператор, СтруктураСхемыЗапроса);
|
||||
ДобавитьПорядок(ЗапросПакета, СтруктураСхемыЗапроса);
|
||||
|
||||
ТекстЗапроса = СхемаЗапроса.ПолучитьТекстЗапроса();
|
||||
Возврат ТекстЗапроса;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ДобавитьПолучитьПакет(СхемаЗапроса, СтруктураСхемыЗапроса)
|
||||
|
||||
ПакетЗапросов = СхемаЗапроса.ПакетЗапросов;
|
||||
Если ПакетЗапросов.Количество() = 1 И СхемаЗапроса.ПолучитьТекстЗапроса() = "" Тогда
|
||||
ЗапросПакета = ПакетЗапросов[0];
|
||||
Иначе
|
||||
ЗапросПакета = СхемаЗапроса.ПакетЗапросов.Добавить(Тип("ЗапросВыбораСхемыЗапроса"));
|
||||
КонецЕсли;
|
||||
|
||||
Если СтруктураСхемыЗапроса.Свойство("Разрешенные") И СтруктураСхемыЗапроса.Разрешенные Тогда
|
||||
ЗапросПакета.ВыбиратьРазрешенные = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ЗапросПакета;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДобавитьПолучитьОператор(ЗапросПакета, СтруктураСхемыЗапроса)
|
||||
|
||||
Если ЗапросПакета.Операторы.Количество() = 1 Тогда
|
||||
Оператор = ЗапросПакета.Операторы[0];
|
||||
Если НЕ Оператор.Источники.Количество() = 0 ИЛИ НЕ Оператор.ВыбираемыеПоля.Количество() = 0 Тогда
|
||||
Оператор = Неопределено;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Если Оператор = Неопределено Тогда
|
||||
Оператор = ЗапросПакета.Операторы.Добавить();
|
||||
КонецЕсли;
|
||||
|
||||
Если СтруктураСхемыЗапроса.Свойство("Первые") И СтруктураСхемыЗапроса.Первые > 0 Тогда
|
||||
Оператор.КоличествоПолучаемыхЗаписей = СтруктураСхемыЗапроса.Первые;
|
||||
КонецЕсли;
|
||||
Если СтруктураСхемыЗапроса.Свойство("Различные") И СтруктураСхемыЗапроса.Различные Тогда
|
||||
Оператор.ВыбиратьРазличные = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Оператор.Источники.Добавить(СтруктураСхемыЗапроса.ИсточникДанных);
|
||||
|
||||
Возврат Оператор;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ДобавитьПоля(ЗапросПакета, Оператор, СтруктураСхемыЗапроса)
|
||||
|
||||
Если СтруктураСхемыЗапроса.Свойство("Поля") И
|
||||
ТипЗнч(СтруктураСхемыЗапроса.Поля) = Тип("Массив") И
|
||||
СтруктураСхемыЗапроса.Поля.Количество() > 0 Тогда
|
||||
|
||||
Для каждого Поле Из СтруктураСхемыЗапроса.Поля Цикл
|
||||
Если Не Поле.Источник = Неопределено Тогда
|
||||
ИсточникПоля = Оператор.Источники.НайтиПоПсевдониму(Поле.Источник);
|
||||
Иначе
|
||||
ИсточникПоля = Оператор.Источники[0];
|
||||
КонецЕсли;
|
||||
|
||||
ДоступноеПоле = ИсточникПоля.Источник.ДоступныеПоля.Найти(Поле.ИмяПоля);
|
||||
Если Не ДоступноеПоле = Неопределено Тогда
|
||||
НовоеПоле = Оператор.ВыбираемыеПоля.Добавить(ДоступноеПоле);
|
||||
Если Не Поле.Псевдоним = Неопределено Тогда
|
||||
ЗапросПакета.Колонки[ЗапросПакета.Колонки.Количество() - 1].Псевдоним = Поле.Псевдоним;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
ВызватьИсключение СтрШаблон("Поле %1 в источнике не определено", Поле.ИмяПоля);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
ЕстьСсылка = Ложь;
|
||||
Для каждого Источник Из Оператор.Источники Цикл
|
||||
Если Не Источник.Источник.ДоступныеПоля.Найти("Ссылка") = Неопределено Тогда
|
||||
ЕстьСсылка = Истина;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Если Не ЕстьСсылка Или (СтруктураСхемыЗапроса.Свойство("ВсеПоля") И СтруктураСхемыЗапроса.ВсеПоля) Тогда
|
||||
Для каждого Источник Из Оператор.Источники Цикл
|
||||
Для каждого Поле Из Источник.Источник.ДоступныеПоля Цикл
|
||||
Оператор.ВыбираемыеПоля.Добавить(Поле);
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
Оператор.ВыбираемыеПоля.Добавить(Оператор.Источники[0].Источник.ДоступныеПоля.Найти("Ссылка"));
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьУсловия(Оператор, Запрос, СтруктураСхемыЗапроса)
|
||||
|
||||
Если СтруктураСхемыЗапроса.Свойство("Условия") И ТипЗнч(СтруктураСхемыЗапроса.Условия) = Тип("Массив") Тогда
|
||||
Для каждого Условие Из СтруктураСхемыЗапроса.Условия Цикл
|
||||
Оператор.Отбор.Добавить(Условие.УсловиеСтрокой);
|
||||
Запрос.УстановитьПараметр(Условие.ИмяПараметра, Условие.Значение);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьСоединения(Оператор, СтруктураСхемыЗапроса)
|
||||
|
||||
Если СтруктураСхемыЗапроса.Свойство("Соединения") И ТипЗнч(СтруктураСхемыЗапроса.Соединения) = Тип("Массив") Тогда
|
||||
Для каждого СтруктураСоединения Из СтруктураСхемыЗапроса.Соединения Цикл
|
||||
ИсточникСоединения = Оператор.Источники.Добавить(СтруктураСоединения.ИсточникДанных,
|
||||
СтруктураСоединения.Псевдоним);
|
||||
Если Оператор.Источники[0].Соединения.Количество() = 0 Тогда
|
||||
Оператор.Источники[0].Соединения.Добавить(ИсточникСоединения);
|
||||
КонецЕсли;
|
||||
|
||||
Условия = ПроверитьНаНеоднозначностьПолей(СтруктураСоединения.Условие,
|
||||
Оператор.Источники[0].Источник, ИсточникСоединения.Источник);
|
||||
|
||||
Соединение = Оператор.Источники[0].Соединения[Оператор.Источники[0].Соединения.Количество() - 1];
|
||||
Соединение.Условие = Новый ВыражениеСхемыЗапроса(СтрСоединить(Условия, " И "));
|
||||
// TODO: Строки заменить на функцию?
|
||||
Если СтруктураСоединения.ТипСоединения = "Левое" Тогда
|
||||
Соединение.ТипСоединения = ТипСоединенияСхемыЗапроса.ЛевоеВнешнее;
|
||||
ИначеЕсли СтруктураСоединения.ТипСоединения = "Правое" Тогда
|
||||
Соединение.ТипСоединения = ТипСоединенияСхемыЗапроса.ПравоеВнешнее;
|
||||
ИначеЕсли СтруктураСоединения.ТипСоединения = "Внутреннее" Тогда
|
||||
Соединение.ТипСоединения = ТипСоединенияСхемыЗапроса.Внутреннее;
|
||||
ИначеЕсли СтруктураСоединения.ТипСоединения = "Полное" Тогда
|
||||
Соединение.ТипСоединения = ТипСоединенияСхемыЗапроса.ПолноеВнешнее;
|
||||
Иначе
|
||||
ВызватьИсключение СтрШаблон("ДобавитьСоединения: неподдерживаемый тип соединения %1",
|
||||
СтруктураСоединения.ТипСоединения);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьГруппировку(Оператор, СтруктураСхемыЗапроса)
|
||||
|
||||
Если СтруктураСхемыЗапроса.Свойство("Группировка") И ТипЗнч(СтруктураСхемыЗапроса.Группировка) = Тип("Массив") Тогда
|
||||
Для каждого Группировка Из СтруктураСхемыЗапроса.Группировка Цикл
|
||||
Оператор.Группировка.Добавить(Группировка);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьПорядок(ЗапросПакета, СтруктураСхемыЗапроса)
|
||||
|
||||
Если СтруктураСхемыЗапроса.Свойство("Порядок") И ТипЗнч(СтруктураСхемыЗапроса.Порядок) = Тип("Массив") Тогда
|
||||
Для каждого ЭлементПорядка Из СтруктураСхемыЗапроса.Порядок Цикл
|
||||
ЗапросПакета.Порядок.Добавить(ЭлементПорядка);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПроверитьНаНеоднозначностьПолей(МассивУсловий, ТаблицаОсновная, ТаблицаСоединения)
|
||||
|
||||
// TODO: Пока не учитывается ситуация типа: "Ссылка = Ссылка"
|
||||
// Похоже вообще не имеет смысла преобразовывать условие в строку на предыдущем этапе.
|
||||
// Преобразовывать надо здесь с учетом неоднозначности полей. Рефакторинг!
|
||||
НовыйМассивУсловий = Новый Массив;
|
||||
|
||||
Для каждого Условие Из МассивУсловий Цикл
|
||||
УсловиеСтрокой = Условие.УсловиеСтрокой;
|
||||
|
||||
Если Не Условие.ЛеваяЧасть = Неопределено И
|
||||
Не ТаблицаОсновная.ДоступныеПоля.Найти(Условие.ЛеваяЧасть) = Неопределено И
|
||||
Не ТаблицаСоединения.ДоступныеПоля.Найти(Условие.ЛеваяЧасть) = Неопределено Тогда
|
||||
|
||||
УсловиеСтрокой = СтрЗаменить(УсловиеСтрокой, Условие.ЛеваяЧасть,
|
||||
ТаблицаОсновная.Псевдоним + "." + Условие.ЛеваяЧасть);
|
||||
КонецЕсли;
|
||||
Если Не Условие.ПраваяЧасть = Неопределено И
|
||||
Не ТаблицаОсновная.ДоступныеПоля.Найти(Условие.ПраваяЧасть) = Неопределено И
|
||||
Не ТаблицаСоединения.ДоступныеПоля.Найти(Условие.ПраваяЧасть) = Неопределено Тогда
|
||||
|
||||
УсловиеСтрокой = СтрЗаменить(УсловиеСтрокой, Условие.ПраваяЧасть,
|
||||
ТаблицаСоединения.Псевдоним + "." + Условие.ПраваяЧасть);
|
||||
КонецЕсли;
|
||||
|
||||
НовыйМассивУсловий.Добавить(УсловиеСтрокой);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат НовыйМассивУсловий;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ДобавитьПараметрыЗапроса(СтруктураСхемыЗапроса, Запрос)
|
||||
|
||||
Если СтруктураСхемыЗапроса.Свойство("Параметры") И ТипЗнч(СтруктураСхемыЗапроса.Параметры) = Тип("Массив") Тогда
|
||||
Для каждого Параметр Из СтруктураСхемыЗапроса.Параметры Цикл
|
||||
Запрос.УстановитьПараметр(Параметр.ИмяПараметра, Параметр.Значение);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
|
||||
<CommonModule uuid="64cc4f13-8ea3-43e0-b530-031a569bfcd0">
|
||||
<Properties>
|
||||
<Name>СЗ_ПроцессорыСхемЗапросаСлужебныйВызовСервера</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Схема запроса: процессоры схем запроса служебный вызов сервера</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>false</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>false</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ServerCall>true</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||
</Properties>
|
||||
</CommonModule>
|
||||
</MetaDataObject>
|
@@ -1 +0,0 @@
|
||||
// TODO:
|
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
|
||||
<CommonModule uuid="a7341127-4ed0-44b9-b3b2-007ae8f263dc">
|
||||
<Properties>
|
||||
<Name>СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Схема запроса: процессоры схем запроса служебный клиент сервер</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>true</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>false</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||
</Properties>
|
||||
</CommonModule>
|
||||
</MetaDataObject>
|
@@ -1,305 +0,0 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Процедура УстановитьИсточникДанных(СхемаЗапроса, ИсточникДанных, Первые, Различные, Разрешенные) Экспорт
|
||||
|
||||
Если СхемаЗапроса = Неопределено Тогда
|
||||
СхемаЗапроса = Новый Структура;
|
||||
КонецЕсли;
|
||||
|
||||
СхемаЗапроса.Вставить("ИсточникДанных", ИсточникДанных);
|
||||
Если Первые >= 0 Тогда
|
||||
СхемаЗапроса.Вставить("Первые", Первые);
|
||||
КонецЕсли;
|
||||
СхемаЗапроса.Вставить("Различные", Различные);
|
||||
СхемаЗапроса.Вставить("Разрешенные", Разрешенные);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановитьПервые(СхемаЗапроса, Количество) Экспорт
|
||||
|
||||
СхемаЗапроса.Вставить("Первые", Количество);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановитьРазличные(СхемаЗапроса) Экспорт
|
||||
|
||||
СхемаЗапроса.Вставить("Различные", Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановитьРазрешенные(СхемаЗапроса) Экспорт
|
||||
|
||||
СхемаЗапроса.Вставить("Разрешенные", Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановитьВыборВсехПолей(СхемаЗапроса) Экспорт
|
||||
|
||||
СхемаЗапроса.Вставить("ВсеПоля", Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановитьПоляВыборки(СхемаЗапроса, Поля) Экспорт
|
||||
|
||||
Если ТипЗнч(Поля) = Тип("Строка") Тогда
|
||||
НовыеПоля = ПолучитьПоляИзСтроки(Поля);
|
||||
ИначеЕсли ТипЗнч(Поля) = Тип("Массив") Тогда
|
||||
НовыеПоля = Поля;
|
||||
ИначеЕсли ТипЗнч(Поля) = Тип("Структура") Тогда
|
||||
НовыеПоля = Новый Массив;
|
||||
НовыеПоля.Добавить(Поля);
|
||||
Иначе
|
||||
ВызватьИсключение "УстановитьПоляВыборки: неподдерживаемый тип данных в параметре ""Поля""";
|
||||
КонецЕсли;
|
||||
|
||||
МассивПолей = Новый Массив;
|
||||
Если СхемаЗапроса.Свойство("Поля") И ТипЗнч(СхемаЗапроса.Поля) = Тип("Массив") Тогда
|
||||
МассивПолей = СхемаЗапроса.Поля;
|
||||
КонецЕсли;
|
||||
Для каждого НовоеПоле Из НовыеПоля Цикл
|
||||
Поле = ПолучитьПоле(НовоеПоле);
|
||||
МассивПолей.Добавить(Поле);
|
||||
КонецЦикла;
|
||||
|
||||
СхемаЗапроса.Вставить("Поля", МассивПолей);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановитьУсловие(СхемаЗапроса, Предикат) Экспорт
|
||||
|
||||
СхемаЗапроса.Вставить("Условия", ПолучитьУсловияОтбора(Предикат));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьСоединение(СхемаЗапроса, ТипСоединения, ИсточникДанных, Предикат) Экспорт
|
||||
|
||||
Если ТипЗнч(ИсточникДанных) = Тип("Строка") Тогда
|
||||
|
||||
МассивСоединений = Новый Массив;
|
||||
Если СхемаЗапроса.Свойство("Соединения") И ТипЗнч(СхемаЗапроса.Поля) = Тип("Массив") Тогда
|
||||
МассивСоединений = СхемаЗапроса.Соединения;
|
||||
КонецЕсли;
|
||||
|
||||
Псевдоним = "";
|
||||
Если СтрНайти(ИсточникДанных, " КАК ") > 0 Тогда
|
||||
ИнформацияОбИсточникеДанных = СтрЗаменить(ИсточникДанных, " КАК ", Символы.ПС);
|
||||
ИсточникДанных = СтрПолучитьСтроку(ИнформацияОбИсточникеДанных, 1);
|
||||
Псевдоним = СтрПолучитьСтроку(ИнформацияОбИсточникеДанных, 2);
|
||||
КонецЕсли;
|
||||
|
||||
МассивСоединений.Добавить(Новый Структура("ТипСоединения, ИсточникДанных, Псевдоним, Условие",
|
||||
ТипСоединения, ИсточникДанных, Псевдоним, ПолучитьУсловияСоединения(Предикат)));
|
||||
СхемаЗапроса.Вставить("Соединения", МассивСоединений);
|
||||
|
||||
Иначе // Структура = вложенный запрос
|
||||
|
||||
// TODO:
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановитьГруппировку(СхемаЗапроса, Поля) Экспорт
|
||||
|
||||
Если ТипЗнч(Поля) = Тип("Строка") Тогда
|
||||
НовыеПоля = ПолучитьПоляИзСтроки(Поля);
|
||||
ИначеЕсли ТипЗнч(Поля) = Тип("Массив") Тогда
|
||||
НовыеПоля = Поля;
|
||||
Иначе
|
||||
ВызватьИсключение "УстановитьГруппировку: неподдерживаемый тип данных в параметре ""Поля""";
|
||||
КонецЕсли;
|
||||
|
||||
МассивПолей = Новый Массив;
|
||||
Если СхемаЗапроса.Свойство("Группировка") И ТипЗнч(СхемаЗапроса.Поля) = Тип("Массив") Тогда
|
||||
МассивПолей = СхемаЗапроса.Поля;
|
||||
КонецЕсли;
|
||||
Для каждого НовоеПоле Из НовыеПоля Цикл
|
||||
МассивПолей.Добавить(НовоеПоле);
|
||||
КонецЦикла;
|
||||
|
||||
СхемаЗапроса.Вставить("Группировка", МассивПолей);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановитьПорядок(СхемаЗапроса, Поля) Экспорт
|
||||
|
||||
Если ТипЗнч(Поля) = Тип("Строка") Тогда
|
||||
НовыеПоля = ПолучитьПоляИзСтроки(Поля);
|
||||
ИначеЕсли ТипЗнч(Поля) = Тип("Массив") Тогда
|
||||
НовыеПоля = Поля;
|
||||
Иначе
|
||||
ВызватьИсключение "УстановитьПорядок: неподдерживаемый тип данных в параметре ""Поля""";
|
||||
КонецЕсли;
|
||||
|
||||
МассивПолей = Новый Массив;
|
||||
Если СхемаЗапроса.Свойство("Порядок") И ТипЗнч(СхемаЗапроса.Поля) = Тип("Массив") Тогда
|
||||
МассивПолей = СхемаЗапроса.Поля;
|
||||
КонецЕсли;
|
||||
Для каждого НовоеПоле Из НовыеПоля Цикл
|
||||
МассивПолей.Добавить(НовоеПоле);
|
||||
КонецЦикла;
|
||||
|
||||
СхемаЗапроса.Вставить("Порядок", МассивПолей);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановитьПараметры(СхемаЗапроса, Параметры) Экспорт
|
||||
|
||||
СхемаЗапроса.Вставить("Параметры", Параметры);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ПолучитьПоляИзСтроки(СтрокаИменПолей)
|
||||
|
||||
МассивПолей = СтрРазделить(СтрокаИменПолей, ",", Ложь);
|
||||
Для Сч = 0 По МассивПолей.Количество() - 1 Цикл
|
||||
МассивПолей[Сч] = СокрЛП(МассивПолей[Сч]);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат МассивПолей;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьПоле(Поле)
|
||||
|
||||
// TODO: Строки проверять на корректность синтаксиса - отсутствие пробелов и спец.символов
|
||||
|
||||
Если ТипЗнч(Поле) = Тип("Строка") Тогда
|
||||
|
||||
Если СтрНайти(Поле, " КАК ") > 0 Тогда
|
||||
ИнформацияОПоле = СтрЗаменить(Поле, " КАК ", Символы.ПС);
|
||||
Возврат Новый Структура("ИмяПоля, Источник, Псевдоним",
|
||||
ПолучитьИмяПоляБезИсточника(СтрПолучитьСтроку(ИнформацияОПоле, 1)),
|
||||
ПолучитьИсточникИзИмениПоля(Поле),
|
||||
СтрПолучитьСтроку(ИнформацияОПоле, 2));
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Новый Структура("ИмяПоля, Источник, Псевдоним",
|
||||
ПолучитьИмяПоляБезИсточника(Поле),
|
||||
ПолучитьИсточникИзИмениПоля(Поле),
|
||||
Неопределено);
|
||||
|
||||
ИначеЕсли ТипЗнч(Поле) = Тип("Структура") Тогда
|
||||
|
||||
Если Поле.Свойство("ИмяПоля") Тогда
|
||||
Если Поле.Свойство("Источник") И Не Поле.Источник = Неопределено Тогда
|
||||
Если Поле.Свойство("Псевдоним") Тогда
|
||||
Возврат Поле;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Новый Структура("ИмяПоля, Источник, Псевдоним",
|
||||
ПолучитьИмяПоляБезИсточника(Поле.ИмяПоля),
|
||||
ПолучитьИсточникИзИмениПоля(Поле.ИмяПоля),
|
||||
Неопределено);
|
||||
КонецЕсли;
|
||||
|
||||
Если Поле.Свойство("Псевдоним") Тогда
|
||||
Возврат Новый Структура("ИмяПоля, Источник, Псевдоним",
|
||||
ПолучитьИмяПоляБезИсточника(Поле.ИмяПоля),
|
||||
ПолучитьИсточникИзИмениПоля(Поле.ИмяПоля),
|
||||
Поле.Псевдоним);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Новый Структура("ИмяПоля, Источник, Псевдоним",
|
||||
ПолучитьИмяПоляБезИсточника(Поле.ИмяПоля),
|
||||
ПолучитьИсточникИзИмениПоля(Поле.ИмяПоля),
|
||||
Неопределено);
|
||||
КонецЕсли;
|
||||
|
||||
ВызватьИсключение "ПолучитьПоле: некорректная структура передана в параметре ""Поле""";
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ВызватьИсключение "ПолучитьПоле: неподдерживаемый тип данных в параметре ""Поле""";
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьИмяПоляБезИсточника(ИмяПоля)
|
||||
|
||||
Если СтрНайти(ИмяПоля, ".") > 0 Тогда
|
||||
МассивЭлементовПоля = СтрРазделить(ИмяПоля, ".");
|
||||
МассивЭлементовПоля.Удалить(0);
|
||||
Возврат СтрСоединить(МассивЭлементовПоля, ".");
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ИмяПоля;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьИсточникИзИмениПоля(ИмяПоля)
|
||||
|
||||
Если СтрНайти(ИмяПоля, ".") > 0 Тогда
|
||||
МассивЭлементовПоля = СтрРазделить(ИмяПоля, ".");
|
||||
Возврат МассивЭлементовПоля[0];
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьУсловияОтбора(Предикат)
|
||||
|
||||
// TODO: Нумерация (Сч) сквозная через все запросы
|
||||
|
||||
МассивУсловий = Новый Массив;
|
||||
Сч = 0;
|
||||
|
||||
Для каждого Условие Из Предикат.Условия Цикл
|
||||
ИмяПараметра = СтрШаблон("Параметр_%1", Сч);
|
||||
|
||||
Шаблон = ШаблонУсловия(Условие.ВидСравнения);
|
||||
МассивУсловий.Добавить(Новый Структура("ИмяПараметра, УсловиеСтрокой, Значение",
|
||||
ИмяПараметра, СтрШаблон(Шаблон, Условие.ИмяРеквизита, ИмяПараметра), Условие.Значение));
|
||||
|
||||
Сч = Сч + 1;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат МассивУсловий;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьУсловияСоединения(Предикат)
|
||||
|
||||
МассивУсловий = Новый Массив;
|
||||
Если Предикат = Неопределено Тогда
|
||||
МассивУсловий.Добавить(
|
||||
Новый Структура("ЛеваяЧасть, ПраваяЧасть, УсловиеСтрокой",,, "ИСТИНА"));
|
||||
|
||||
Возврат МассивУсловий;
|
||||
КонецЕсли;
|
||||
|
||||
Для каждого Условие Из Предикат.Условия Цикл
|
||||
Шаблон = ШаблонУсловия(Условие.ВидСравнения, Ложь);
|
||||
МассивУсловий.Добавить(Новый Структура("ЛеваяЧасть, ПраваяЧасть, УсловиеСтрокой",
|
||||
Условие.ИмяРеквизита, Условие.Значение, СтрШаблон(Шаблон, Условие.ИмяРеквизита, Условие.Значение)));
|
||||
КонецЦикла;
|
||||
|
||||
Возврат МассивУсловий;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ШаблонУсловия(ВидСравнения, Амперсанд = Истина)
|
||||
|
||||
Выражения = СЗ_ПроцессорыПредикатовКлиентСервер.Выражения();
|
||||
|
||||
Если ВидСравнения = Выражения.Равно Тогда
|
||||
Шаблон = "%1 = " + ?(Амперсанд, "&", "") + "%2";
|
||||
ИначеЕсли ВидСравнения = Выражения.Больше Тогда
|
||||
Шаблон = "%1 > " + ?(Амперсанд, "&", "") + "%2";
|
||||
ИначеЕсли ВидСравнения = Выражения.Меньше Тогда
|
||||
Шаблон = "%1 < " + ?(Амперсанд, "&", "") + "%2";
|
||||
ИначеЕсли ВидСравнения = Выражения.В Тогда
|
||||
Шаблон = "%1 В (" + ?(Амперсанд, "&", "") + "%2)";
|
||||
Иначе
|
||||
ВызватьИсключение "Неподдерживаемое выражение предиката " + ВидСравнения;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Шаблон;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ConfigDumpInfo xmlns="http://v8.1c.ru/8.3/xcf/dumpinfo" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" format="Hierarchical" version="2.18">
|
||||
<ConfigVersions>
|
||||
<Metadata name="CommonModule.СЗ_Запрос" id="5f1605a0-4e63-4339-b2cc-44e115be6ed7" configVersion="e2743c37ca1c317bbd7deb62473bdb9c92ce4b3b"/>
|
||||
<Metadata name="CommonModule.СЗ_Запрос.Module" id="5f1605a0-4e63-4339-b2cc-44e115be6ed7.0" configVersion="70b897dad9d758e331d5d898768fe0344077916d"/>
|
||||
<Metadata name="CommonModule.СЗ_ЗапросТест" id="52ab0c6f-4fa1-4913-b37e-460ab1e44314" configVersion="01955255914f2f02da26b7a05ec1ffe713f168e1"/>
|
||||
<Metadata name="CommonModule.СЗ_ЗапросТест.Module" id="52ab0c6f-4fa1-4913-b37e-460ab1e44314.0" configVersion="ac93509d47d7c7ed87c457d0b9a528fd264ac3d6"/>
|
||||
<Metadata name="CommonModule.СЗ_ПроцессорыПредикатовКлиентСервер" id="407489b2-2f4b-467b-9594-621de146e468" configVersion="d0e776fe2161eadb117e389e6d86e40d8f7927fc"/>
|
||||
<Metadata name="CommonModule.СЗ_ПроцессорыПредикатовКлиентСервер.Module" id="407489b2-2f4b-467b-9594-621de146e468.0" configVersion="a3fd675572299afe5f63b59eef575cff639c35e7"/>
|
||||
<Metadata name="CommonModule.СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер" id="19b0625e-9f74-4fba-9350-914066ae1034" configVersion="97824f99f8fe96dacf2d8271e35b6b11a89a7f4f"/>
|
||||
<Metadata name="CommonModule.СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.Module" id="19b0625e-9f74-4fba-9350-914066ae1034.0" configVersion="dbadb525d8fa291f91fab2a1d85bd78062f506d0"/>
|
||||
<Metadata name="CommonModule.СЗ_ПроцессорыСхемЗапросаКлиентСервер" id="a3e5bf50-2154-477f-9355-29b0930a73c5" configVersion="0a1d47680d6c53bcec9c7b566903a863ce26bf77"/>
|
||||
<Metadata name="CommonModule.СЗ_ПроцессорыСхемЗапросаКлиентСервер.Module" id="a3e5bf50-2154-477f-9355-29b0930a73c5.0" configVersion="e4516fad653b42c44367545d251e48696271a349"/>
|
||||
<Metadata name="CommonModule.СЗ_ПроцессорыСхемЗапросаСлужебный" id="fd5aeea0-9a03-452d-ba1e-81c816846c6c" configVersion="77f2ed6a2d9924e64f836b9a16c0664b4a5a38e8"/>
|
||||
<Metadata name="CommonModule.СЗ_ПроцессорыСхемЗапросаСлужебный.Module" id="fd5aeea0-9a03-452d-ba1e-81c816846c6c.0" configVersion="b2fd5df72dfca291c7c509e19004d8a7117e0092"/>
|
||||
<Metadata name="CommonModule.СЗ_ПроцессорыСхемЗапросаСлужебныйВызовСервера" id="64cc4f13-8ea3-43e0-b530-031a569bfcd0" configVersion="de76e252360ff40f9368c1eec2d95d3aa03b14e7"/>
|
||||
<Metadata name="CommonModule.СЗ_ПроцессорыСхемЗапросаСлужебныйВызовСервера.Module" id="64cc4f13-8ea3-43e0-b530-031a569bfcd0.0" configVersion="f671df996460f1b0acc9ed4c7e27af2f5dbb660f"/>
|
||||
<Metadata name="CommonModule.СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер" id="a7341127-4ed0-44b9-b3b2-007ae8f263dc" configVersion="8a27beba3300dacb51abfc0f6b4c8711bb7b0b06"/>
|
||||
<Metadata name="CommonModule.СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер.Module" id="a7341127-4ed0-44b9-b3b2-007ae8f263dc.0" configVersion="c0c07db62eb444934fc2a9860ec61233a2e25af4"/>
|
||||
<Metadata name="Configuration.СхемаЗапроса" id="727bc241-bb6d-418f-b908-1102fbf1bc00" configVersion="32358f5e6e55bc199dcbf146a39e01e89463a7e7"/>
|
||||
<Metadata name="DataProcessor.СЗ_ПроцессорПредикатов" id="12d6eb41-70d9-4802-8fde-b6464e23bf0b" configVersion="7bd25841e01d3196cd731359775f0af93ddbd0d1"/>
|
||||
<Metadata name="DataProcessor.СЗ_ПроцессорПредикатов.ObjectModule" id="12d6eb41-70d9-4802-8fde-b6464e23bf0b.0" configVersion="7bf55d840fc4752caaf882cc4bac5e7fa7300863"/>
|
||||
<Metadata name="DataProcessor.СЗ_ПроцессорСхемЗапроса" id="7008c53a-3e8a-4432-bff6-500c4145bab5" configVersion="dd57e1686ab74914b294900633b6e9245facc435"/>
|
||||
<Metadata name="DataProcessor.СЗ_ПроцессорСхемЗапроса.Form.Форма" id="04cd8a25-c99d-4da9-ac0f-5703574d079f" configVersion="f910d6e757792c7cdd2137a7213495bba1da1300"/>
|
||||
<Metadata name="DataProcessor.СЗ_ПроцессорСхемЗапроса.Form.Форма.Form" id="04cd8a25-c99d-4da9-ac0f-5703574d079f.0" configVersion="bae96f2ab9ea2a272936072451369a2851dc377f"/>
|
||||
<Metadata name="DataProcessor.СЗ_ПроцессорСхемЗапроса.ObjectModule" id="7008c53a-3e8a-4432-bff6-500c4145bab5.0" configVersion="a7e021d94dee3eede73d29ab27db5114ad695467"/>
|
||||
</ConfigVersions>
|
||||
</ConfigDumpInfo>
|
@@ -1,71 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
|
||||
<Configuration uuid="727bc241-bb6d-418f-b908-1102fbf1bc00">
|
||||
<InternalInfo>
|
||||
<xr:ContainedObject>
|
||||
<xr:ClassId>9cd510cd-abfc-11d4-9434-004095e12fc7</xr:ClassId>
|
||||
<xr:ObjectId>79fc0bfa-a7d2-4fcc-9968-cfb47caa8fd8</xr:ObjectId>
|
||||
</xr:ContainedObject>
|
||||
<xr:ContainedObject>
|
||||
<xr:ClassId>9fcd25a0-4822-11d4-9414-008048da11f9</xr:ClassId>
|
||||
<xr:ObjectId>bf90fb71-1da9-4052-b179-033ccc51e8de</xr:ObjectId>
|
||||
</xr:ContainedObject>
|
||||
<xr:ContainedObject>
|
||||
<xr:ClassId>e3687481-0a87-462c-a166-9f34594f9bba</xr:ClassId>
|
||||
<xr:ObjectId>a8573e3a-9a13-4e2b-9666-240ff4f3d932</xr:ObjectId>
|
||||
</xr:ContainedObject>
|
||||
<xr:ContainedObject>
|
||||
<xr:ClassId>9de14907-ec23-4a07-96f0-85521cb6b53b</xr:ClassId>
|
||||
<xr:ObjectId>7e4ad5ff-f2b7-4283-a3c4-e62bfacbb5df</xr:ObjectId>
|
||||
</xr:ContainedObject>
|
||||
<xr:ContainedObject>
|
||||
<xr:ClassId>51f2d5d8-ea4d-4064-8892-82951750031e</xr:ClassId>
|
||||
<xr:ObjectId>048a7528-7f13-42d2-8898-549305be15a9</xr:ObjectId>
|
||||
</xr:ContainedObject>
|
||||
<xr:ContainedObject>
|
||||
<xr:ClassId>e68182ea-4237-4383-967f-90c1e3370bc7</xr:ClassId>
|
||||
<xr:ObjectId>f748cda1-e6d2-4aa2-8c76-75e9f4fe7eb7</xr:ObjectId>
|
||||
</xr:ContainedObject>
|
||||
<xr:ContainedObject>
|
||||
<xr:ClassId>fb282519-d103-4dd3-bc12-cb271d631dfc</xr:ClassId>
|
||||
<xr:ObjectId>fc951404-a9cc-4c5d-bd94-f031bd348ea2</xr:ObjectId>
|
||||
</xr:ContainedObject>
|
||||
</InternalInfo>
|
||||
<Properties>
|
||||
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||
<Name>СхемаЗапроса</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Схема запроса</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<ConfigurationExtensionPurpose>AddOn</ConfigurationExtensionPurpose>
|
||||
<KeepMappingToExtendedConfigurationObjectsByIDs>true</KeepMappingToExtendedConfigurationObjectsByIDs>
|
||||
<NamePrefix>СЗ_</NamePrefix>
|
||||
<ConfigurationExtensionCompatibilityMode>Version8_3_24</ConfigurationExtensionCompatibilityMode>
|
||||
<ScriptVariant>Russian</ScriptVariant>
|
||||
<Vendor/>
|
||||
<Version>0.0.1</Version>
|
||||
<BriefInformation/>
|
||||
<DetailedInformation/>
|
||||
<Copyright/>
|
||||
<VendorInformationAddress/>
|
||||
<ConfigurationInformationAddress/>
|
||||
<InterfaceCompatibilityMode>TaxiEnableVersion8_2</InterfaceCompatibilityMode>
|
||||
</Properties>
|
||||
<ChildObjects>
|
||||
<CommonModule>СЗ_Запрос</CommonModule>
|
||||
<CommonModule>СЗ_ЗапросТест</CommonModule>
|
||||
<CommonModule>СЗ_ПроцессорыПредикатовКлиентСервер</CommonModule>
|
||||
<CommonModule>СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер</CommonModule>
|
||||
<CommonModule>СЗ_ПроцессорыСхемЗапросаКлиентСервер</CommonModule>
|
||||
<CommonModule>СЗ_ПроцессорыСхемЗапросаСлужебный</CommonModule>
|
||||
<CommonModule>СЗ_ПроцессорыСхемЗапросаСлужебныйВызовСервера</CommonModule>
|
||||
<CommonModule>СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер</CommonModule>
|
||||
<DataProcessor>СЗ_ПроцессорПредикатов</DataProcessor>
|
||||
<DataProcessor>СЗ_ПроцессорСхемЗапроса</DataProcessor>
|
||||
</ChildObjects>
|
||||
</Configuration>
|
||||
</MetaDataObject>
|
@@ -1,32 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
|
||||
<DataProcessor uuid="12d6eb41-70d9-4802-8fde-b6464e23bf0b">
|
||||
<InternalInfo>
|
||||
<xr:GeneratedType name="DataProcessorObject.СЗ_ПроцессорПредикатов" category="Object">
|
||||
<xr:TypeId>20e56103-de11-460e-989e-38009e54630a</xr:TypeId>
|
||||
<xr:ValueId>207e5e5e-fb17-43ad-959f-910b588f6d68</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="DataProcessorManager.СЗ_ПроцессорПредикатов" category="Manager">
|
||||
<xr:TypeId>e3602dbd-6e64-429f-99f4-b0c9a7b7102f</xr:TypeId>
|
||||
<xr:ValueId>facb276b-1229-4f98-960f-86720e17c5c9</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
</InternalInfo>
|
||||
<Properties>
|
||||
<Name>СЗ_ПроцессорПредикатов</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>С з процессор предикатов</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<UseStandardCommands>true</UseStandardCommands>
|
||||
<DefaultForm/>
|
||||
<AuxiliaryForm/>
|
||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||
<ExtendedPresentation/>
|
||||
<Explanation/>
|
||||
</Properties>
|
||||
<ChildObjects/>
|
||||
</DataProcessor>
|
||||
</MetaDataObject>
|
@@ -1,44 +0,0 @@
|
||||
#Область ОписаниеПеременных
|
||||
|
||||
Перем Предикат;
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Функция Реквизит(ИмяРеквизита) Экспорт
|
||||
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьИмяРеквизита(Предикат, ИмяРеквизита);
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
Функция Равно(Значение) Экспорт
|
||||
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
|
||||
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().Равно, Значение);
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
Функция Больше(Значение) Экспорт
|
||||
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
|
||||
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().Больше, Значение);
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
Функция Меньше(Значение) Экспорт
|
||||
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
|
||||
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().Меньше, Значение);
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
Функция В(Значение) Экспорт
|
||||
СЗ_ПроцессорыПредикатовСлужебныйКлиентСервер.УстановитьПредикат(Предикат,
|
||||
СЗ_ПроцессорыПредикатовКлиентСервер.Выражения().В, Значение);
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
Функция Получить() Экспорт
|
||||
|
||||
Возврат Предикат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
@@ -1,34 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
|
||||
<DataProcessor uuid="7008c53a-3e8a-4432-bff6-500c4145bab5">
|
||||
<InternalInfo>
|
||||
<xr:GeneratedType name="DataProcessorObject.СЗ_ПроцессорСхемЗапроса" category="Object">
|
||||
<xr:TypeId>8fa76ff0-784b-4ebd-a63a-5bfed72f02c2</xr:TypeId>
|
||||
<xr:ValueId>4b2cbc6f-5517-4354-9cca-09e37ffb6ef4</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
<xr:GeneratedType name="DataProcessorManager.СЗ_ПроцессорСхемЗапроса" category="Manager">
|
||||
<xr:TypeId>4c35d9a4-671c-4413-b87e-b984a2286b1e</xr:TypeId>
|
||||
<xr:ValueId>2db60e26-72c2-46c7-adef-d744c9274c32</xr:ValueId>
|
||||
</xr:GeneratedType>
|
||||
</InternalInfo>
|
||||
<Properties>
|
||||
<Name>СЗ_ПроцессорСхемЗапроса</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Схема запроса: процессор схем запроса</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<UseStandardCommands>true</UseStandardCommands>
|
||||
<DefaultForm>DataProcessor.СЗ_ПроцессорСхемЗапроса.Form.Форма</DefaultForm>
|
||||
<AuxiliaryForm/>
|
||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||
<ExtendedPresentation/>
|
||||
<Explanation/>
|
||||
</Properties>
|
||||
<ChildObjects>
|
||||
<Form>Форма</Form>
|
||||
</ChildObjects>
|
||||
</DataProcessor>
|
||||
</MetaDataObject>
|
@@ -1,125 +0,0 @@
|
||||
#Область ОписаниеПеременных
|
||||
|
||||
Перем СхемаЗапроса;
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Процедура УстановитьИсточникДанных(ИсточникДанных, Первые = -1, Различные = Ложь, Разрешенные = Ложь) Экспорт
|
||||
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер.УстановитьИсточникДанных(СхемаЗапроса,
|
||||
ИсточникДанных, Первые, Различные, Разрешенные);
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ВТаблицуЗначений() Экспорт
|
||||
ТаблицаЗначений = СЗ_ПроцессорыСхемЗапросаСлужебный
|
||||
.ПолучитьРезультатЗапроса(СхемаЗапроса).Выгрузить();
|
||||
Возврат ТаблицаЗначений;
|
||||
КонецФункции
|
||||
|
||||
Функция ВМассив(ИмяКолонки) Экспорт
|
||||
ТаблицаЗначений = СЗ_ПроцессорыСхемЗапросаСлужебный
|
||||
.ПолучитьРезультатЗапроса(СхемаЗапроса).Выгрузить();
|
||||
Возврат ТаблицаЗначений.ВыгрузитьКолонку(ИмяКолонки);
|
||||
КонецФункции
|
||||
|
||||
Функция Первые(Количество) Экспорт
|
||||
// TODO:
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
Функция Различные() Экспорт
|
||||
// TODO:
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
Функция Разрешенные() Экспорт
|
||||
// TODO:
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
Функция Выбрать(Поля) Экспорт
|
||||
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
|
||||
.УстановитьПоляВыборки(СхемаЗапроса, Поля);
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
Функция ВыбратьВсе() Экспорт
|
||||
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
|
||||
.УстановитьВыборВсехПолей(СхемаЗапроса);
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
Функция Где(Предикат) Экспорт
|
||||
|
||||
Если ТипЗнч(Предикат) = Тип("Структура") Тогда
|
||||
_Предикат = Предикат;
|
||||
ИначеЕсли ТипЗнч(Предикат) = Тип("ОбработкаОбъект.СЗ_ПроцессорПредикатов") Тогда
|
||||
_Предикат = Предикат.Получить();
|
||||
Иначе
|
||||
ВызватьИсключение "Неверный тип предиката в методе ""Где""";
|
||||
КонецЕсли;
|
||||
|
||||
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер.УстановитьУсловие(СхемаЗапроса, _Предикат);
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
Функция ЛевоеСоединение(ИсточникДанных, Предикат = Неопределено) Экспорт
|
||||
|
||||
// TODO: ИсточникДанных может быть структурой? Что делать в этом случае?
|
||||
Если ТипЗнч(ИсточникДанных) = Тип("Строка") Тогда
|
||||
_ИсточникДанных = ИсточникДанных;
|
||||
ИначеЕсли ТипЗнч(ИсточникДанных) = Тип("ОбработкаОбъект.СЗ_ПроцессорСхемЗапроса") Тогда
|
||||
_ИсточникДанных = ИсточникДанных.Получить();
|
||||
Иначе
|
||||
ВызватьИсключение "ЛевоеСоединение: неверный тип источника данных";
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(Предикат) = Тип("Структура") Или Предикат = Неопределено Тогда
|
||||
_Предикат = Предикат;
|
||||
ИначеЕсли ТипЗнч(Предикат) = Тип("ОбработкаОбъект.СЗ_ПроцессорПредикатов") Тогда
|
||||
_Предикат = Предикат.Получить();
|
||||
Иначе
|
||||
ВызватьИсключение "ЛевоеСоединение: неверный тип предиката";
|
||||
КонецЕсли;
|
||||
|
||||
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер.ДобавитьСоединение(
|
||||
СхемаЗапроса, "Левое", ИсточникДанных, _Предикат);
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
Функция Сгруппировать(Поля) Экспорт
|
||||
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
|
||||
.УстановитьГруппировку(СхемаЗапроса, Поля);
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
Функция Упорядочить(Поля) Экспорт
|
||||
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
|
||||
.УстановитьПорядок(СхемаЗапроса, Поля);
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
Функция Итоги() Экспорт
|
||||
// TODO:
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
Функция Параметры(Параметры) Экспорт
|
||||
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер.УстановитьПараметры(СхемаЗапроса, Параметры);
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
Функция Получить() Экспорт
|
||||
|
||||
Возврат СхемаЗапроса;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
|
||||
|
||||
#КонецОбласти
|
@@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
|
||||
<Form uuid="04cd8a25-c99d-4da9-ac0f-5703574d079f">
|
||||
<Properties>
|
||||
<Name>Форма</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Форма</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<FormType>Managed</FormType>
|
||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||
<UsePurposes>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
||||
</UsePurposes>
|
||||
<ExtendedPresentation/>
|
||||
</Properties>
|
||||
</Form>
|
||||
</MetaDataObject>
|
@@ -1,12 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcssch="http://v8.1c.ru/8.1/data-composition-system/schema" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.18">
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||
<Attributes>
|
||||
<Attribute name="Объект" id="1">
|
||||
<Type>
|
||||
<v8:Type>cfg:DataProcessorObject.СЗ_ПроцессорСхемЗапроса</v8:Type>
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
</Form>
|
@@ -1,133 +0,0 @@
|
||||
#Область ОписаниеПеременных
|
||||
|
||||
&НаКлиенте
|
||||
Перем СхемаЗапроса;
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
&НаКлиенте
|
||||
Процедура УстановитьИсточникДанных(ИсточникДанных, Первые = -1, Различные = Ложь, Разрешенные = Ложь) Экспорт
|
||||
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер.УстановитьИсточникДанных(СхемаЗапроса,
|
||||
ИсточникДанных, Первые, Различные, Разрешенные);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Функция ВТаблицуЗначений() Экспорт
|
||||
ТаблицаЗначений = СЗ_ПроцессорыСхемЗапросаСлужебныйВызовСервера
|
||||
.ПолучитьРезультатЗапроса(СхемаЗапроса).Выгрузить();
|
||||
Возврат ТаблицаЗначений;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция ВМассив(ИмяКолонки) Экспорт
|
||||
ТаблицаЗначений = СЗ_ПроцессорыСхемЗапросаСлужебныйВызовСервера
|
||||
.ПолучитьРезультатЗапроса(СхемаЗапроса).Выгрузить();
|
||||
Возврат ТаблицаЗначений.ВыгрузитьКолонку(ИмяКолонки);
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция Первые(Количество) Экспорт
|
||||
// TODO:
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция Различные() Экспорт
|
||||
// TODO:
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция Разрешенные() Экспорт
|
||||
// TODO:
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция Выбрать(Поля) Экспорт
|
||||
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
|
||||
.УстановитьПоляВыборки(СхемаЗапроса, Поля);
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция ВыбратьВсе() Экспорт
|
||||
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер
|
||||
.УстановитьВыборВсехПолей(СхемаЗапроса);
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция Где(Предикат) Экспорт
|
||||
|
||||
Если ТипЗнч(Предикат) = Тип("Структура") Тогда
|
||||
_Предикат = Предикат;
|
||||
ИначеЕсли ТипЗнч(Предикат) = Тип("ОбработкаОбъект.СЗ_ПроцессорПредикатов") Тогда
|
||||
_Предикат = Предикат.Получить();
|
||||
Иначе
|
||||
ВызватьИсключение "Неверный тип предиката в методе ""Где""";
|
||||
КонецЕсли;
|
||||
|
||||
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер.УстановитьУсловие(СхемаЗапроса, _Предикат);
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция ЛевоеСоединение(ИсточникДанных, Предикат = Неопределено) Экспорт
|
||||
|
||||
// TODO: ИсточникДанных может быть структурой? Что делать в этом случае?
|
||||
Если ТипЗнч(ИсточникДанных) = Тип("Строка") Тогда
|
||||
_ИсточникДанных = ИсточникДанных;
|
||||
ИначеЕсли ТипЗнч(ИсточникДанных) = Тип("ОбработкаОбъект.СЗ_ПроцессорСхемЗапроса") Тогда
|
||||
_ИсточникДанных = ИсточникДанных.Получить();
|
||||
Иначе
|
||||
ВызватьИсключение "ЛевоеСоединение: неверный тип источника данных";
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(Предикат) = Тип("Структура") Или Предикат = Неопределено Тогда
|
||||
_Предикат = Предикат;
|
||||
ИначеЕсли ТипЗнч(Предикат) = Тип("ОбработкаОбъект.СЗ_ПроцессорПредикатов") Тогда
|
||||
_Предикат = Предикат.Получить();
|
||||
Иначе
|
||||
ВызватьИсключение "ЛевоеСоединение: неверный тип предиката";
|
||||
КонецЕсли;
|
||||
|
||||
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер.ДобавитьСоединение(
|
||||
СхемаЗапроса, "Левое", ИсточникДанных, _Предикат);
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция Сгруппировать(Поля) Экспорт
|
||||
// TODO:
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция Упорядочить(Поля) Экспорт
|
||||
// TODO:
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция Итоги() Экспорт
|
||||
// TODO:
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция Параметры(Параметры) Экспорт
|
||||
СЗ_ПроцессорыСхемЗапросаСлужебныйКлиентСервер.УстановитьПараметры(СхемаЗапроса, Параметры);
|
||||
Возврат ЭтотОбъект;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция Получить() Экспорт
|
||||
|
||||
Возврат СхемаЗапроса;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
Reference in New Issue
Block a user