Загрузил krasnoshchekov.pavel.spam

Язык запросов

реклама
Авторы книги:
Сайфутдинов Вадим Альбертович
Сотников Анатолий Владимирович
ЯЭЬIК ЗАПРОСОВ 1С
<<ОТ ЭУ&ОВ))I
•••
Верный старт в 1С
www.work- 1c.ru
Огла влен и е
Введение
Глава 1
.
................................................................................................. . . .........................................................
............... . . . . . ................................................. . .. . ....................................................................... ..............
1.1 Обзор конфигурации .
......................... .................................................................... . . . . . . ...... . . ........... . . . ....
1.2. Запрос данных из справочника.
1.3. Метод «Выбрать()».
................................................................................................. ........... ................
1.4 Метод «Выгрузить()».
1.5 Параметры запроса .
1.6 Консоль запросов.
................................................................................................ . . ......................... . . .
19
23
........... . .
27
28
.................................................................................................................................
31
32
.................................................... .......... . .. . ................. . . . . . ......................... . . . .......
1.11 Реальные таблицы. Партии товаров .
1.12 Условия. Между, сравнения .
34
35
38
.................................................... ...................................................
1.14 Параметры виртуальной таблицы.
1.15 Условия. В иерархии.
.................................................................................... . . . . ........
. ................... . . . . ....... ... . . . ........................................................................
1.13 Виртуальные таблицы. Остатки.
.......................................... ............................................... ..........
.41
. . .......................................................................................................................
43
46
........................................ . . . .................................................................................................................
2.1 Обзор конфигурации.
................................................. ........................... . . . .............. . . . ...........................
2. 2 Таблицы СправоЧники и Документы .
2.3 Группировки.
51
.............. ......................................................... . . . ........... . . . ........
54
....... ........................................................................................................................ .. . . .
2.5 Копирование текста запроса.
2.7 Отчёт с итогами.
59
........................................................................... ....................................
2.6 Выборка с итогами в отладчике .
2.8 Общие итоги .
46
........................................................................................................................... . . . . . . .......
2.4 Итоги в запросе.
.........................................................................................................
62
67
71
...................................................................................................................................
......................................................................... ..... . . . . .......................... .................. . .........
2.9 Виртуальная таблица. Регистр накопления обороты .
.......................................................................
2.1О Виртуальная таблица. Регистр накопления остатки .
......................................................................
2.1 1 Виртуальная таблица. Регистр накопления Остатки и обороты .
2.12 Задача на соединение таблиц
2.13 Соединение таблиц теория .
73
75
80
80
................................. ............ ......
81
. ...........................................................................................................
84
...............................................................................................................
2.14 Соединение таблиц. Пример.
87
.................................................................................. . . . . . .....................
90
............................................................................. ...............................................................................
3.1 Соединение таблиц. Детальный теоретический пример.
2
9
18
................................ . . . . . .................................................. ............ ............... .. ..........
1.1О Без повторяющихся.
Глава 3 .
5
........................................................................................ . . . . . . . . . . . . . . . . . ............. . . . . . . . . . . . . . . . . .....
1.9 Получить первые .
Глава 2 .
.
5
14
........ ................................................................................ . ..... .............. . . ............
............................. . . .................. .................................................................
1 .7 Псевдонимы полей .
1 .8 Сортировка.
........................................................... .......... ......................................
4
3.2 Объединение таблиц.
.................................................................
.......................... . . . . . ..................... . ................... . . . . ...............................................
В е р н ы й ста рт в lC www.work-lc.ru
88002344322
Бесплатн ы й з во н о к
90
94
3.3 Вложенные запросы........."......""........"."...""......"....." ...""..."." ........" ........"" ..." ......"" ...".""..... 100
3.4 Функции языка. Строковые.""""."""""""."".".""".""""""""""".""".""."""".""..""."""".""".106
3.5 Функции языка. Работа с датами. """""""..""".".""""""""" ..""".""""".. """""."""".".""."".".110
3.6 Функции языка. Агрегатные функции. """""""""""""""".""""""""".""""."."".""""""""""".115
3. 7 Функции языка. Ссылки и типы. .""""".""".""""""""."."".".""""."".".""."".""."""...""""".".118
3.8 Функции языка. Условия. Ссылка. """""."".""""""."""".""""""".""."".""""""."""""".""".".123
3.9 Функции языка. Условия. В, В иерархии.""""."""""""""""""""""""""...""."""""""".""""""124
3 .1 О Функции языка. Условия. Есть NULL""""""""""""""""""""""""""""""""."".""""""""".".126
3.11 Функции языка. Условия. Выбор""""""""."""""""""""""""""""""""""""".""""."""""""".127
3.12 Функции языка. Условия. Подобно.""""."...""" .."" ......... """".."..".""""".."."..""."""...."""".131
3.13 Функции языка. Условия. И, ИЛИ, Не. "."""""""" .."""""""""""""""""""""."..".""""""""."134
Глава 4........." ......"" ..." ......""." ..... ""." ...... ""."" ... "......" ....."" ..." ..." ...... ""."" ........" .........""." ....." ......".136
4.1 Параметры виртуальных таблиц на примере условия запроса. Временные таблицы."""".""".136
4.2 МенеджерВременныхТаблиц........"".........."......"".""." ........"".".................." ..." ............. ""...".".142
4.3 Уничтожение временных таблиц."""""".".""""..""...." ..""."."".."."."""."."".".""".""""""".".155
4.4 Пакет запросов.."" .."""."""""""."."""."".""."""" .."""."."""""""."""."."""""""."""""."."" .."157
Глава 5 .......""." ........ ""."...""."" ......""...... "........"" ...""......" ...""..." ..."......"" ...""."..." ....""."" ..............173
5.1. Оперативный учет. ".""." .." ..""""."""".""""""."""..""".".""""""".""".".""""."."."".""."""".173
5.1.1. Ввод в эксплуатацию. """"."."""""""".".."""..""".""."."""."."""."".""."""""""""""""".173
5 .1.2 Индексирование. ""."""""""""".""".""."""""" .."""""""."""""" ..."""""."".""""."."."""".196
5.1.3 Выбытие оборудования. ."".""."".""".""."."".""".".""."".""".""."""." ..".""""""."."""" ...198
5.1.4 Метод дополнения..""""""".""""" .."."."""""""."""...""""" .....".""""""""""""""""."".""209
5.2 Бухгалтерский учет ... "....." ..............." ...".........................."..." .............""."...""..........."..."""."" ...214
5.2.1 Бухгалтерский учет. Списание комплектов и комплектующих.""".""""""."""""""""."""214
5.2.2 Бухгалтерский учет. Таблицы ..... "".""."" ......" ..."" ..." ...........""..." ..........."..."" ..." ....."...." ...237
5.3 Параметры виртуальных таблиц регистров расчета."""""".""."""""""."""""""""""""".""""247
5.4 Контроль разрешения прав доступа на уровне записей. «Разрешенные». """".""""."""."""""250
5.5 Блокировка данных для последующего изменения """""".""""""""""""""""""""""""."""""250
3
В е р н ы й ста рт в
1С www.work-lc.ru
88002344322
Бесплатн ы й з во н о к
Введени е
Здравствуйте, уважаемые читатели!
Мы, авторы проекта «Верный старт в 1 С», Сайфутдинов Вадим и Сотников Анатолий,
рады представить вам нашу новую книгу <<Язык запросов 1 С "ОТ ЗУБОВ"».
Основываясь на своем многолетнем опыте в сфере 1 С, в том числе, практике
внедрений конфигураций и преподавания, мы сделали вывод о необходимости подготовить
качественный
и
подробный
материал
по
данному
вопросу
для начинающих
1 С­
программистов.
Книга состоит из 5 глав, каждая из которых последовательно погружает вас во все
более сложные и интересные задачи, которые можно решить с помощью такого мощного
инструмента получения данных, как язык запросов. Текст книги на всем протяжении
сопровождается подробными инструкциями и наглядными иллюстрациями, однако, для
более продуктивной работы и получения знаний «от зубов», мы все же рекомендуем вам
закреплять полученные знания самостоятельным выполнением практических заданий.
Итак, мы начинаем!
4 Верный старт в lC www.work-lc.ru 88002344322 Бесплатн ый звонок
Глава 1 .
1 . 1 Обзор конфигурации.
Для начала рассмотрим рабочую среду, в которой нам предстоит работать. Это
учебная платформа, которую вы можете скачать по ссылке https://yadi.sk/dNouBGzDuGry5PQ.
Для
изучения
данной
главы
также
необходимо
скачать
информационную
базу
https://yadi.sk/dNFiwWkk5ROT 18w.
Откроем информационную базу в режиме «Конфигуратор». Посмотрим состав
объектов (Рисунок 1 ).
Конфиrуратор ·
�а�л
Qравка
КонфИгурация
i D � lil l .W. G@
�1
�
Действия
•
()
.?
[О
)(
li КDнфИгурация
е :. Общие
е � Подсистемы
�
У
�
�
[И'
�
Отладка
{)- <;> [�]
Администрирование
СеРвис
Qкна
СпQавка
х
х
�-
Общие модули
Параме�ры сеанса
Роли
Общие реквизиты
Планы обмена
Кр\1терии omopa
Подписки на собы111я
Per ламеюные задания
:::::
�:�..
Функциональные опции
IEJ
Общие <Рормы
Параме1ры Функциональных оп
Cfj �анилища настроек
m Определяемые ""'1ПЫ
{)
11:!1
D
•
Общие команщ,1
Группы команд
Общие маке�ъ1
Общие картинки
XDTO-naкeiъ1
WеЬ-сервисы
WS-ссьтки
Элемеюы сw�ля
�
(!) tm
r±)
О
[.}
·
(!) �
Констан1ы
Справочники
Документы
Журналы документов
Перечисления
01Че1ЪI
"
Рисунок 1
В конфигурации имеется одна подсистема («Склад») и несколько справочников
(Рисунок 2):
1.
«Номенклатура», с единственным реквизитом «Единица измерения»;
2.
«Единицы измерения» - без реквизитов;
3.
«Склады» - так же без реквизитов.
5 Верный старт в lC www.work-lc.ru 88002344322 Бесплатн ый звонок
�
ДейС1БИЯ
[-
•
�
[И
� !:О
)(
Криrерии отбора
� ,g.. ��
По1JJ1иски на события
х
lxJ
А
� Регламентные задания
::::: <Рункциональные опции
�:�.. Параметры Функциональных оп
:!:!!:
Определяемые типы
Cfj Хранилища настроек
1Е] Общие Ф<>рмы
О Общие командР1
IDI Группы команц
Ьj Общие макеты
Общие картинки
ХDТО-паке1Ь1
WеЬ-<:ереисы
WS-<:сылки
®
�
Авd
Элементы стиля
Языки
Констан1Ь1
е rm Справочники
е 1П1 Номенкла�ура
е
(!)
1±1
=
Реквизиты
=
IЗ1IЩЩIQjj@A!§·i§Щl-i
IIJ Табличные части
1Е] <Рормы
О Команцы
� Маке1Ь1
® 1П1 Едi<ницы Измерения
(!) 1П1 Склацы
О
Документы
Журналы цокументов
{.J Перечисления
(!)
!М О"!'<е1Ь1
Рисунок 2
Справочник
«Единицы
измерения»
имеет
предопределенный
(добавленный
разработчиком в режиме «Конфигуратор») элемент - «Штука». Увидеть его можно перейдя
на закладку «Прочее» окна свойств справочника и нажав кнопку «Предопределенные»
(Рисунок 3).
6 Верный старт в lC www.work-lc.ru 88002344322 Бесплатн ый звонок
lj Кон....-ураuия
® l• Общие
вi' Константы
- о х
е 1П1 Справочники
Реквизиты
Табличные часl\1
Иерархия
Владельцы
Обновлен
данные
[[] Макеты
® � Скла.о.ы
® О Документы
lilJ Журнаnы документов
{.J Перечисления
+· !§) Отчеты
® w Обработки
� Планы видов характерисlИк
1f
Планы счетов
видов расчета
;} Регистры сведений
® � Регистры накопления
� Регистры б�алтерии
EJ Регистры расчета
..;\ Бизнес;�роцессы
# Планы
Нумерац�.1R
Поля б
Формы
Полнотекс вый поисх:
Поле ввода
История да ных·
КоманАЫ
данньос·
О�рав
Макеты
Включать
Ввод на оа·ювании
Права
_
_
_
_
_
______________
_
�ац�.1я
одержание справки О
Дейсrеия •
Обмен данными
�================::::
'" �
:= Х
[Использовать
:...]
[�==========================�
�Не иаюль зоваТh
I�
·]
� Прочее
О #
"
)( 1 "•
Код
Наименование
ПО1
ш.
� Задачи
1...6, Внешние источники данных
Рисунок 3
Из документов в данной базе есть только «Оприходование товаров» с реквизитом
«Склад» и табличной частью «Товары». Табличная часть, в свою очередь, содержит
реквизиты: «Номенклатура», «Количество», «Сумма» (Рисунок 4).
Этот документ делает движения по регистру накопления «Партии товаров». Регистр
состоит из измерений: «Склад», «Номенклатура», «Партия» и ресурсов: «Количество»,
«Сумма». Измерение «Партия» - это сам документ оприходования.
ДейС1ВИЯ т
®
:.
&'
е 1П1
Общие
Констанш
Справочники
•Э 1П1
Номенклатура
<±1 rn'!
Склад1>1
ЕЕ• rn'!
е
х
КонФигураLU<я
о
Е.циницыИзмерения
Докумен�ъ1
2-f
S
еО
Нумераторы
Последовательности
ОприходованиеТоваров
(±1 �
е EEJ
Реквизи1Ь1
табличные части
rэ lil
[]
®
О
[ill]
Товары
Номенклатура
=
Количес1Во
=
Сумма
<Рормы
Команд1>1
Маке�ъ1
.-..•.... "• • "........
'V
..
" ....... ..........
Рисунок 4
В конфигурации имеется обработка «Консоль запросов» - это основной инструмент, с
которым нам предстоит работать в данном курсе. С ней мы познакомимся позже, для начала
рассмотрим отчеты.
7
Верный старт в lC www.work-lc.ru 88002344322 Бесплатн ый звонок
В данной конфигурации имеется один отчет - «Отчет по номенклатуре» с макетом
табличного документа, при помощи которого отчет выводится на экран (Рисунок 5).
�
1•
1-
Конq�игураuия
@ Z• Общие
� Константы
е rm Справочники
® rm Номенклатура
® rm ЕдL.iицыИзмерения
® rm Склады
е о до.,.,е.пы
2f Нумераторы
Е Последоватеrьности
е о Оnриходоеаниетоваров
е liJ
+l
Ша п ка
4
Стро а
<
Рекви3Иты
f+, с::а
5
Товары
Формы
Команды
[illJ Макеты
е
iJ
[.J
Перечисления
� Отчеты
Единица измеоения
<ЕдиницаИ3мерен1U1>
-----------------------------------------------------------------
1
1
1
+----------------
�
+r
табличные часm
28
Формы
Команды
пт "'Ш-·"'.1!!11.!1111.
Макеты
29
30
;�
� Планы виоов характеристик
_Е_
�
J5
'1r Планы счетов
# Планы вид.ов расчета
11
® iiJ
�
1
�
�
""" Реквизи1Ъ1
rn
<Код>
Код
_Е_
е [§1 ОтчетПоНоменклатуре
IIJ
О
е @D
<На11менован11е>
1
�
Журналы документов
(i,
Наименование
D х
_11_
__!3_
__!.!_
�
15
16
17
18
19
""' Сумма
IIJ
О
1
_
2
�
""' Номенклатура
""" Количество
@
1
1
__._
7
--.---.--
табличные часm
6 1iJ
1
.n Оtчет ОtчетГЬНомеttк.патуре: Номенкпатура
36
37
38
1-
РегисlРЫ сведений
РегисlРЫ накопления
РегисlРЫ бухгалтерии
•1
,.
1
Рисунок 5
Весь код по формированию отчета находится в модуле формы (Рисунок 6).
� Отчет ОтчетГ1оНоменкпаl}'Ре: <l>орма(}Nета
l
1?
_
D х
1
&НаКлиенте
Процедура Сформировать(Команда)
Сформироватьнасервере(Табдок);
КонецПроцедуры
&НаСервереБезКонтекста
Процедура СформироватьНаСервере(ТабДок)
=
Макет
отчеты.отчетпономенклатуре.Получитьмакет(" Номенклатураn) ;
Обласrьшапка
ОбласrьСтрока
=
=
Макет . Получитьобласrь(" Ш апка");
Макет. ПолуцитьОбласrь("Строка");
Табдок.Очистить();
ТабДок.Вывесrи(ОбласrьШапка) ;
Выборка =Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
ОбласrьСтрока.Параметры .Заполнить(Выборка);
ТабДок.Вывесrи(ОбласrьСтрока);
КонецЦикла;
КонецПроцедуры
� Е1 <!>орма 11 � Модуль J
l
1
1•
L>
Рисунок 6
Перейдем в режим «lС:Предприятие» и посмотрим на нашу конфигурацию (Рисунок
7).
8 Верный старт в lC www.work-lc.ru 88002344322 Бесплатн ый звонок
КонФиrураЦ111R (1С:Предприя1Ие)
•
Главное
Оприходование товаров
::: 1
+-
1
-+
Создать
Код
·•
11
Склад
Номенклатура
Склады
Единицы измерения
Найти ___
Отменить поиск
11
Отчеты ...
Сервис ...
.._)...,. Номенклатура
Создать группу
000000020
Ед- изм.
Наименование
Кухонные электроприборы
-
00000...
Комбайн MOULINEX АП 4С
-
00000...
Комбайн кухонный BINATONE
-
00000...
Кофеварка BRAUN KF22R
-
00000 ...
Кофеварка JACOBS (Австрия)
шт
-
00000...
Миксер BINATONE НМ
шт
-
00000...
Миксер SOLAC мод.545
шт
-
00000...
Мясорубка MOULINEX А 15
шт
-
00000...
Мясорубка ЭКМ-3
шт
-
00000...
Соковыжималка
BINATONE JE 102
шт
-
00000...
Соковыжималка
SOLAC
шт
-
00000...
Соковыжималка "МАПО"
шт
-
00000...
Чайник BINATONE
AEJ-1001, 2,2л
шт
-
00000...
Чайник BINATONE
EWK-3000, 2л
шт
-
00000...
Чайник MOULINEX L
212,6
шт
шт
FP 67
шт
скор. 150вт
Мод.541
шт
1,3
Рисунок 7
На панели разделов можно увидеть подсистему «Склад», а в ней подразделы:
«Оприходование товаров», «Номенклатура», «Склады», «Единицы измерения», «Отчеты» и
«Сервис». В подразделе «Отчеты» находится «Отчет по номенклатуре», в подразделе
«Сервис» - обработка «Консоль запросов».
По мере прохождения курса наша конфигурация будет заметно усложняться, но об
этом в следующих уроках.
1 . 2 . Запрос данных из справочника.
В языке 1 С сосуществуют 2 модели получения данных из базы: объектная модель и
табличная модель. Объектная модель представляет данные в виде объектов, то есть мы
работаем с данными, как с программными объектами. Пример объектной модели получения
данных представлен на рисунке 8 .
l3ь1борка
Справочники . Номенклатура .13ыбрать();
Пока 13ыборка . Следующий() Цикл
ОбластьСтрока . Параметры .Заполнить(13ыборка);
Та бДо к . Вы вести (Обл а стьстр о ка);
КонецЦикла;
=
Рисунок 8
Мы обращаемся к некому объекту «Справочники.Номенклатура», к его методу
Выбрать(), который возвращает нам данные, помещая их в переменную «Выборка».
9 Верный старт в lC www.work-lc.ru 88002344322 Бесплатн ый звонок
Представленный выше код поначалу может показаться трудным и непонятным, пусть
это вас не пугает. Абстрагируйтесь от деталей и поймите главное: в данном случае мы
получаем данные при помощи объекта «Справочники.Номенклатура». Однако мы должны
понимать, что, в сущности, все данные в 1 С представлены в виде таблиц, поэтому когда мы
обращаемся к вышеуказанному объекту для получения данных, система незаметно для нас
обращается с запросом к базе данных. Таким образом, скрыто или явно, для получения
данных из базы в 1 С всегда используется запрос.
Перейдем к рассмотрению второй модели получения данных - табличной. Составим
наш первый запрос.
Для составления запроса необходимо объявить новый объект, который так и
называется «Запрос». Запрос создается при помощи конструктора с использованием
ключевого слова «Новый». У объекта типа «Запрос» есть свойство «Текст», в которое
необходимо поместить текст нашего запроса.
Для создания запросов в платформе « 1 С:Предприятие» существует замечательный
инструмент «Конструктор запросов». Самый простой способ его вызова - контекстное меню
в редакторе кода (Рисунок 9).
Запрос= Новый Запрос;
Запрос.Текст=
ТабДок.Очистить();
�
ВОУJеза�ъ
lli+X
)Sопирова�ъ
Qd..C
�
Поиск в Синтакс-Пом ощн ике
ТабДок. Вывести(Область
ОбластьСтрока. Параме
ТабДок. Вывести(Обла
КонецЦикла;
:� нец П роцедуры
Qd+V
CЬl+F1
Шаблоны тек ста
�
Выаели�ъ все
Выборка= Справочники.Н
Пока Выборка.следующий
.!J.стави�ъ
СЬl+А
Повтори�ъ поиск
.
Най111 сл ецующий
FЗ
Най111 предыдущий
Shift+FЗ
Переход к строке ...
CЬl-tG
РеФакторинг
�
Конструктор запроса".
Конструктор зап роса с обработкой результата" .
Рисунок 9
Система спросит нас о необходимости создания нового запроса, отвечаем «Да»
(Рисунок 1 О).
(-1)"1
У
х
Не найден текст зап роса.
Созда�ъ новый запрос?
.
г::: : : : : ::�: : : : : : : :J [
Нет
Рисунок 1 0
Далее перед нами откроется конструктор запроса:
10 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
Порядок
Таблицы и поля
S+Н·ФЫФ'
Таблицы
База данных
е rш
0
0
0
в
rJ!1 Номенклатура
С±! !Ш Единиц�,1 Измерения
(!) rm Склад1>1
е D Документы
е D Оприходование товаров
iffil
�
Итоги
Пакет запросов
�����������������������������������������
Ссылка
, )(
Поля
ВерсияДанных
�
ПометкаУдаления
�
Номер
= Дата
�
Проведен
® i= Склад
EEJ
С±!
�
е [j]
(!)
iffil
(!)
iffil
Товары
i= Представление
МоментВремени
РеrистрыНакопления
�
�
�
�
ПартииТоваров
Партv�иТоваров.Обороты
ПартииТоваров .Остатки
Партv�иТоваров.ОстаткиИОбороты
Рисунок 1 1
На закладке «Таблицы и поля» находятся перечень всех таблиц, существующих в
нашей базе данных, они расположены в левой трети окна. Далее нам необходимо выбрать
таблицу, из которой мы хотим получить данные. Для этого можно дважды щелкнуть левой
кнопкой мыши по таблице или нажать кнопку со стрелочкой:
1 cz=i Г,
также можно
воспользоваться перетаскиванием в центральную треть окна. Итак, выбираем справочник
«Номенклатура». Развернем его, нажав на значок крестика слева от таблицы, и увидим
состав объекта, его реквизиты или, в терминах базы данных, «поля» (Рисунок 1 2).
'
ТаблиU1>1 и поля
l
Группировка
] [ Условия ] [ Дополнительно 1 [ Объединения/Псевдонимы ] [ Порядок
База данных
е 1П1
е
о
0
0
111.щщц.;;;.;
ОприходованиеТоваров
lil
�
�
С±!
iffi1
ПометкаУдаления
Родитель
Это Группа
Ссылка
Код
ВерсияДанных
Наименование
ПометкаУдаления
ЕдиницаИзмерения
Номер
Предопределенный
Дата
Имя Предопределенных.данных
Проведен
Представление
Склад
Товары
Представлени е
МоментВремени
Регистрь1 Накопления
�
�
r'1 �
<±> �
Ф
Ссылка
ВерсияДанных
СкладЬ1
�
е
е rm
ЕдиниU1>1 Измерения
Документы
Ф
[�о....,..к� а'?.Р�J
ТаблиU1>1
Справочники
rm
<±1 1П1
<±> 1П1
@
Итоги
ПартииТоваров
ПартииТоваров.Обороты
ПартииТоваров.Остатки
ПартииТоваров.ОстаткиИОбороты
Рисунок 1 2
1 1 Верный старт в l C www.work-lc.ru 88002344322 Бесплатный звонок
] [ Построитель J [ Пакет запросов
, х
Поля
Теперь необходимо выбрать те из них, которые нам потребуются для нашего примера,
в частности, такие поля как: наименование, код и единица измерения. Поля выбираются так
же, как и таблицы, только выбор, на этот раз, необходимо делать в центральной трети окна,
которая называется «Таблицы». Туда мы поместили выбранную таблицу. Выбранные поля
отображаются в правой трети окна, которая так и называется «Поля» (Рисунок 1 3).
База данных
Таблицы
@ � 111.щ911;;;
ffi m1 ЕдиницыИзмерения
® 1Ш Скла.Q1>1
е D Докумен1ы
е D Оприходованието варов
е rirt
е llil
Справочники
Поля
Номенклатура
r::a
'"""' Ссылка
'"""' Номенклатура.Код
'"""' Версияд,анных
r::il
Номенклатура.Наименование
Номенклатура.ЕдиницаИзмерения
'"""' Пометка Удаления
® '"""' Родитель
=
'"""' Ссылка
ЭтоГруппа
'"""'
Наименование
IJilJIЫl:t.'l@tM
·M'Н'·I
r=i
Предопределенный
= Код
;;;а
'"""' Версияд,анных
'"""' ПометкаУдаления
@
'"""' Номер
'"""' Имя ПредопределенныхДанных
= Д;па
'"""' Представление
= Проведен
® '"""' Склад
®
EiJ
Товары
'"""' Представление
'""' МоментВремени
е [j]
®
®
ffi
®
Реrис-трыНакопления
�
�
�
�
Пар�ииТоваров
Пар�ииТоваров.Оборо1ы
Пар1ИиТоваров.Остатки
Пар�ииТоваров.Ос�ажи ИОборо1ы
Рисунок 1 3
Нажимаем кнопку «0К» и получаем сформированный текст запроса (Рисунок 1 4).
Запрос = Новь.1й Запрос;
Запрос . Текст
"ВЫБРАТЬ
1 !Номенклатура .Наименование,
1 !Номенклатура. Код,
1 !Номенклатура.ЕдиницаИзмерения
1 из
1 Справочник.Номенклатура КАК Номенклатура"'
=
;I
Рисунок 1 4
Обратите внимание, что текст запроса представлен в виде строки. Все строковые
значения в языке 1 С обрамляются двойными кавычками. Для улучшения восприятия
текстовые строки можно переносить, для этого используется символ «1» - так платформа
понимает, что текстовая строка продолжается. Каждый оператор завершается точкой с
запятой. Конструктор запроса сгенерировал запрос в виде строки.
Эта строка присвоена
свойству «Текст» переменной «Запрос». Поэтому оператор присвоения завершается точкой с
запятой.
Далее получим выборку из нашего запроса. Для этого нам необходимо написать:
12 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
1 Номенклатура.Наименование,
1 Номенкл атура.Код,
1 Номенкл атура. ЕдиницаИзмерения
l 143
1 Справочник.Номенклатура КАК Номенклатура" ;
ТабДок. Очистить();
ТабДок.Вывесrи(ОбласrьШапка);
� ыборка
=
Запрос.Выполнить().Выбрать();
Рисунок 1 5
Ключевой является последняя строка, в которой мы получаем выборку не объектным
методом, а табличным, при помощи запроса.
Далее убедимся, что наш отчет получает те же данные, что и раньше. Для этого
обновим конфигурацию
базы
конфигурации), нажав кнопку
1
1
данных
i'!
.-
(сохраним
проиведенные
нами
-+
1
u
Сформировать
Отчет по номенклатуре
Таб док:
Наименование·
Код.
000000020
К}')<)онные элек1гропр11боры
Ед.иница измерения
Кофеварка BRдUN' KF22R
000000022
·ОО О О О О0<21
IWli
Кофеварка JAOOBS (АвстрисЯ)
0000000<23
Миксер BIN'ATONE НМ 212,6 сtюр.
000000024
ll!IЛГ
Ком!>.аИн �онны�1 BIN'ATONE FP 67
150в�г
Холод ильн11 к111, м орw11Л ьные камеры
·000000025
BOSCH
000000026
МИНСК-АТЛАНТ 126
000000027
МИНСК-АТЛАНТ 215
0000000<28
стинол
стинол
101
000000029
103
·ОООООООЗО
000000031
В е.н��1nя:т�оры, пыл есо сь:1,
IШТ
ll!IJlГ
'ШТ
ll!IЛГ
шт
ll!IЛГ
шт
1юнд11ц11онеры
·000000032
Шт
Венсг11ruп-ор JIPON IC (Т.а�1в.),
·0000000<33
Вен;г1шясvор наст•ольн1:11И1
0000000<34
Ком6'а�1н MO U LINEX А77 4С
000000046
Шт
Шт
Миксер SOLAC мод.545
•000000047
Мясо.рубка, ЭКМ-3
000000048
ВенiТ�1Лr.ЯТОр оконн ь:1 Й1
·000000049
Телев1uоры
000000056
Венсг11ruп-ор BIN'ATONE ALPINE 160вт,
налоль.ны�t,
Венnгиnя,тор OPБИTA,SlERLING,ЯП .
·ООООООСН>О
Тел ев1113 ор •Jvc·
•0000000'57
Конд1щ110нер IE.UEKTA
0000000<58
Конд1щ110нер FIRMSTAR 12М
·0000000<59
Конд1щ110нер БК-2300<
000000060
Пылесос "Оме га" 12·5Ов�г
•000000061
Пылесо.с •элек;грос11Ла•
0
· 00000062
Пылесос "Энерп1я>-SАNУО•
•000000063
Ча�1н11к BIN'ATONE IEWK-3000,
в
r на панели инструментов. Запустим конфигурацию в
режиме «lС:Предприятие» и сформируем отчет (Рисунок 1 6).
+-
изменения
2л1
000000111
Ча�1н11к BIN'ATONE A!EJ-1·001, 2,2л
000000113
�•ясорубка MOULINEX А 15
000000115
Со1<еовыж1t м алка BINATONE JE 1·0<2
000000116
IШТ
IWli
шт
Шт
ll!IЛГ
ll!IЛГ
ll!IJlГ
IW1i
ll!l!IТ
ll!IJlГ
ll!IЛГ
ll!l!IТ
'ШТ
ll!l!IТ
ll!l!IТ
ll!IЛГ
Рисунок 1 6
Как м ы видим, результат не изменился.
13 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
1 . 3 . Метод «Выбрать()».
Для дальнейшего изучения языка запросов нам будет необходимо воспользоваться
отладчиком. Это очень удобный, нужный и полезный инструмент любого разработчика. Для
того чтобы им воспользоваться нам нужно запустить конфигурацию в особом режиме режиме отладки. Для запуска конфигурации в таком режиме достаточно в режиме
«Конфигуратор» нажать клавишу F5 или на панели инструментов нажать кнопку 1
1.
Итак,
запуск конфигурации в режиме отладки дает возможность пошагово посмотреть выполнение
нашей программы. Для того чтобы «вклиниться» в ход выполнения программы сушествуют
точки останова. Для того чтобы установить точку останова необходимо на нужной строке
программного кода нажать клавишу F9, повторное нажатие этой клавиши удаляет точку
останова. Точка останова будет обозначена специальной пиктограммой в виде красного
круга (Рисунок 1 7).
1 1
li3ь1борка
=
Запрос. !Выполнить{). Выбрать{);
Рисунок 1 7
Теперь, в режиме отладки, программа, дойдя до точки останова, приостановит свое
выполнение в ожидании наших дальнейших действий. О том, на какой строке исполняемого
кода находится программа, будет информировать специальный указатель в виде стрелки
слева (Рисунок 1 8) .
11
Вь16орка
=
Запрос. Выполнить() . Выбрать();
Рисунок 1 8
Какие же дальнейшие действия мы можем выполнить?
Их несколько:
1.
«Шагнуть в» (клавиша Fl 1 ) - выполняется один оператор, но если он
содержит обращение к процедуре или функции, мы войдем в нее.
2.
«Шагнуть через» (клавиша FlO) - выполняется один оператор, если он
содержит обращение к процедуре или функции, мы НЕ войдем в нее.
3.
«Шагнуть из» (сочетание клавиш Shift+ F 1 1 ) - выходим из текушей процедуры
или функции, в которой находимся, в ту процедуру или функцию, которая её вызвала. Если
же вызов был из пользовательского режима, то мы вернемся в пользовательский режим.
4.
«Идти до курсора» (сочетание клавиш Shift+ FlO) - выполнение кода
продолжается до той строки, на которой находится курсор, затем происходит останов, как на
точке останова.
5.
«Продолжить
отладку»
(клавиша
F5) -
выполнение программы будет
продолжено до следующей точки останова, а если такой нет, то до конца.
14 Верный старт в lC www.work-lc.ru
88002344322 Бесплатный звонок
«Перезапустить» (сочетание клавиш Ctrl+Shift+ F5) - отладка будет полностью
6.
перезапущена.
7.
«Завершить» (сочетание клавиш Shift+ F5) - отладка будет завершена, то есть
программа закроется, но конфигуратор останется запущенным.
Итак, запускаем конфигурацию в режиме отладки и ставим точку останова на строке
(Рисунок 1 9).
1 1
Выборка
=
Запрос. Вь1полнить() . Выбрать();
Рисунок 1 9
Открываем наш отчет: «Склад» -> «Отчеты» -> «Отчет по номенклатуре», далее
нажимаем на кнопку «Сформировать». Теперь мы остановились на заданной точке останова.
Все предыдущие «мучения» с запуском отладки, точками останова и ознакомлением
действий в отладке были проделаны ради возможности исследовать наши программные
объекты: «Запрос» и «Выборка». Что ж, приступим к этому увлекательному занятию.
Для того чтобы просмотреть содержимое переменной, необходимо установить на ней
курсор и нажать комбинацию клавиш Shift+F9. Посмотрим на переменную «Запрос»
(Рисунок 20).
о х
]
р е ие
В а
_ ж _ н_ _: ---------------------------------� Lfассич тать
�ы
Зап рос
�
�
__________________________________��
" [ кл юч т вrабло]
и ь
В
fllxJ_w;
п ьra
�__
•-_
P�
e
т:_________�-----------�---------- _
�
Свойство
�
Т иn
Значение
Зап рос
М енедж ер Времен ных Таблиц
П р е
аам
т
ры
Т с
ек т
Зап рос
Запрос
Неоп реде л
Структура
"ВЫ
БРАТ
Ь...
ено
Строка
[
[
Закрь�ть
Слр
авк
в
J
J
Рисунок 20
Как
видим,
переменная
состоит
из
свойств
«МенеджерВременныхТаблиц»,
«Параметры» и «Текст». Свойство «Текст» содержит текст нашего запроса, который мы
создавали при помощи конструктора. Убедиться в этом можно, выделив его и нажав кнопку
«Показать в отдельном окне» или нажав клавишу (Рисунок 2 1 -22).
ь ра е е
�
!! 1 _ ж_ н_ и _ : __________________________________
�
За про . Т с
с ек
Ре�льтат:
т
СвойсlВО
Значение
Тип
е Запро с
Запрос
Зап рос
блиц
Менеджер Врем ен ных Та
Па а
р мет
ры
Текст
ВЫБ Р
Неоnределе о
н
АТЬ
Строк
а
Рисунок 2 1
15 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
u x
Lеассчитать 1
[
Слравка
ен е
прос
.Т_
�
За
�
_
кст______________________________________�
....
е_
!!ь_
•оаж_ _ _
и :_ -------------------------------------�
�
Ceoi11c1'6o
ь
л
! Значение
Запрос
-�_м_Г..
т __________�-------------�------------�
�
Р· _
�_ _
m_
�
�прос
Менеджер Времен ных Табл иц
Параметрь1
1 Тип
Запрос
-
Неопределено
Структура
Структура
ТЬ
БРА
ура.НаименоЕ1ание.
�ЫНоменклат
ок
Номенклатура.Код,
Номенклатура.ЕдиницаИзмерения
х
L J:ассчиrспъ
[ВключитьвrаблоJ
[ ЗакрыТh J
[ Справка
х
из
Справочник.Номенклатура КАК Номенклатура
Рисунок 22
Вы можете задать логичный вопрос: <<А зачем нам смотреть текст запроса в
отладчике, он же прописан в программном коде?». Но это не всегда так. В типовых
конфигурациях
фирмы
IC таких
как:
«Управление
торговлей»
или
«Бухгалтерия
предприятия» запросы все чаще формируются динамически, то есть из разных кусков в
зависимости от условий. Увидеть конечный текст запроса нам как раз и поможет отладчик.
Далее посмотрим, что получится при вызове метода запроса «Выполнить()».
Выделяем выражение «Запрос.Выполнить()» и нажимаем Shift+F9. Видим, что метод
возвращает тип данных «РезультатЗапроса». В нем есть колонки, которые содержат
информацию о типе значения и ширине, но самих данных в этом объекте мы не видим
(Рисунок 23).
ен_ие_: _______________________________________�( � ссчитаТh
�_
'Р�
�
J
о х
[Запр
ос.Вь1полнитьО.Кол
онки
�. �-��------------------------------------�
J;.j [ ВключиТhвrабло[
Pe�_�_nь_rn_т: __________�--------------�-----------� _
f1 _
xJ ·�
� [ ЗакрьоТh
J
Значен е
Т п
[ Справка ]
с
пр
з
а
ьтат.За
у
о
Ре л
и
и
"""""""1111в�в1111""""118""""
Кол
е ЕдиницаИзмерения
@
Имя
ТипЗначения
Шири на
® Код
® Наименование
онка РезультатаЗапроса
Строка
Опи а еТ пов
КолонкаРезульrспаЗапроса
"ЕдиницаИзмерения''
Единицы измерения,
с ни
NuJI
и
25 Число
Колонка РезультатаЗапроса
КолонкаРезульrспаЗапроса
Колонка РезультатаЗаnроса
Рисунок 23
Колонка РезультатаЗапроса
Для получения данных нам необходимо обратиться к методу «Выбрать()» результата
запроса. Этот метод возвращает выборку из результата запроса, из которой мы можем
получить сами данные, обходя выборку в цикле.
Здесь внесем ясность в то, что такое методы, а что такое свойства какого-либо
объекта. Свойством принято считать элемент внутренней структуры объекта, содержащий
данные (сведения об объекте).
Например, мы имеем объект <<Автомобиль», у которого есть свойства: «Масса»,
«МаксимальнаяСкорость», «Цвет» и другие. Все эти свойства характеризуют сам объект и
являются составными частями этого объекта. К этим свойствам мы можем обращаться для
чтения или для записи. Обращения к свойствам происходит через точку:
16 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
Автомобиль.Масса= 1 200;
Автомобиль.Цвет = Желтый;
МахСкорость
=
Автомобиль.МаксимальнаяСкорость;
Методы же представляют собой некие внутренние процедуры или функции,
призванные изменять и обрабатывать данные. Обращение к методам происходит также через
точку, но в конце обязательно дописываются скобки. Иногда в скобках помещают параметры
- это некие входные данные для обработки. Параметр может быть один или несколько, в
таком случае они перечисляются через запятую. Если же параметров нет, то скобки остаются
пустые.
Вернемся к методу «Выбрать()» результата запроса. Он работает как функция, то есть
возвращает нам некое значение, а именно, выборку из результата запроса, которой мы даем
имя «Выборка». Это происходит в строке программного кода, представленного на рисунке
24.
Выборка
=
Запрос. Вь1полнить() . Выбрать{);
Рисунок 24
Другими словами, переменной «Выборка» мы присваиваем значение выборки из
результата запроса, которое возвращает нам метод «Выбрать()» результата запроса.
Убедимся в этом, нажав FlO, находясь на точке останова в момент отладки.
Теперь установим курсор на переменной «Выборка и нажмем» Shift+F9 (Рисунок 25).
о х�
---------------------------------�- [ fассчи�Тh j l l
)
В _борк_а
[ВключиlЬвr_абло
Ре�;jу _ п_
ьта _т• _ --------------------------------�-fil_xJ_Г.
Закрьпь
[
_
J
Ти п
Сво�'!ство
Значение
[ Справка J
ВыборкаИзРезульrспаЗапроса
= Выборка
�
�
Р
'
�
_�_ие _
•
�
ь� �
·
----------------------------------�
Е.w-�ницаИзмерения
Ошибка чтения значения
Коа
Ошибка чтения значения
Наименовани е
Ошибка чтения значения
Рисунок 25
I
Здесь мы видим поля, выбранные в запросе, но снова не видим данных. Это
происходит по причине того, что наша выборка является коллекцией элементов, которую
нужно обходить при помощи метода «Следующий()». Данный метод возвращает значение
«Истина», если следующий элемент считан, и «Ложь», если считывать больше нечего.
Поэтому метод «Следующий()» выполняет несколько функций в нашем коде:
1.
Считывает следующий элемент выборки.
2.
Является условием выполнения цикла.
Продолжим отладку, нажмем Fl 1 и снова посмотрим на переменную «Выборка»
(Рисунок 26):
17 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
ение
а
ы-�
В _ р_ж
_ _
о х
и
: __________________________________� L.Е
ч
сс :J
ть
ат
а
В ь бо
�_ _
�
<Ж_
• -----------------------------------�
... В
вrабло
_ _
т
со
Сао �'i в
_
_
Р
�
е;,у льrат :
�
Выборка
--------
�
Единиц
И
м
з ния
ае
р
е
Коа
-
-�
Зна
енч
е
и-----------
"К
ухо
нные
иТn ---------ВыборкаИзРезультатаЗаnроса
Null
Строка
"000000020"
ов
и
а
Н мена
ние
�_
lf •J �
Г.
_
э
"
ел юроnриборы
Строка
[
[
[
ключить
Закрыт ь
С в
пра
ка
]
J
Рисунок 26
И вот уже сейчас мы видим первый элемент нашей выборки. Таким образом, в этом
цикле последовательно выполняется обход всех данных, которые получены нашим запросом.
1. 4 Метод «Выгрузить()».
Результат запроса, помимо прочего, имеет метод «Выгрузить()», который в отличие от
метода «Выбрать()», возвращает таблицу значений. ТаблицаЗначений - тип данных в 1 С,
отличающийся от выборки, прежде всего тем, что полностью размещается в оперативной
памяти и его можно просмотреть целиком, в то время как выборку можно просмотреть
только поэлементно.
Давайте же посмотрим, как он работает.
Точка останова у нас по-прежнему установлена на строке (Рисунок 27.)
Выборка
=
Запрос. !Выполнить() . Вь16рать{);
Рисунок 27
Конфигурация запущена в режиме отладки. В пользовательском режиме нажимаем на
кнопку отчета «Сформировать». Далее останавливаемся на нужной строке. Выделяем
выражение «Запрос.Выполнить()», нажимаем сочетание клавиш Shift+F9 и прямо в окне
вычисления выражения дописываем «.Выгрузить()» и нажимаем «Рассчитать» (Рисунок 28).
о х
LЕассч111тать:J
ыrр
узитьО
.[Заnрос.ВыnолнитьО.В
�
�--�
��------------------------------�
[ •] \Включить в rабло J
ни
�� _ж
!!ь
_р
е
_ а_е
: ----------------------------------�
Ре;оульrа
т:
��
�
-а
r
-с0 --------
�
�
1• ;:::==�
:
� f[•J Г..
ни
и
е
--------�1Тп -----------�
1�ч
-ае-
!bl·!Jl!·'Щlllk@i!JЩ!IЩ§IЩl
J l; •••••••••BifiMВ!lllfЩ§IЩl0l ••••••••• 1 1
Рисунок 28
З акрыт ь
Справка
J
Мы получили таблицу значений и теперь, выделив ее, нажимаем F2 для просмотра ее
содержимого (Рисунок 29).
18 Верный старт в lC www.work-lc.ru
88002344322 Бесплатный звонок
Таб....,.�
Количество элементов:
Индекс
. ...
i
�
3начение элемента
о
Тип элемента
Наименование
..�!!?О.��
. .!.�����!�.�.���� .... ....... ..............�!.l?О.�.�.Т.�������-�-����--- ..... ......... .........::.��-��
- -�-1-�--���!.l?O.�.�-�-O�.�::....
Код
Строка ТаблицыЗначений
СтрокаТаблицыЗначений
"Комбайн К)О«>ННьtй B I NAТONE F. . .
"000021
000 "
2 Сrрока ТаблицыЗначений
СтрокаТаблицыЗначений
"Кофеварка BRAUN KF22R"
Строка ТаблицыЗначений
СтрокаТаблицыЗначений
"КоФ<ОВарка JACOBS (/\вс1J>Ия)"
"0000"00022
000
" 000023"
Строка ТаблицыЗначений
СтрокаТаблиць13начений
"Миксер BI NAТON E Н М 21 2.6 ско . . .
"000024"
000
СтрокаТаблицыЗначений
СтрокаТаблицыЗначений
"Холодильники. морозильные ка . .
6 СтрокаТаблиuыЗначений
СтрокаТаблиць13начений
"ВОSСН"
"0000"00026
СтрокаТаблиuыЗначений
СтрокаТаблицыЗначений
" МИ НСК-АТЛАНТ 1 26''
8 СтрокаТаблицыЗначений
СтрокаТаблиu.ы3начений
" МИ НСК-АТЛАНТ 21 5"
"0000'00027'
"00008"
0002
9 СтрокаТаблиць1Значений
СтрокаТаблиu.ы .3t1ачений
"СТИ НОЛ 1 01 "
10 СтрокаТаблицы.3t1ачений
Строка Таблицы.3t1ачений
"СТИ НОЛ 103"
"0000"00029
11
Строка Таблицы.3t1ачений
Строка Таблиць13t1ачений
" Вен�иляторы. пылесосы . контщ. .
"000000031 "
12 Строка Таблицы.3t1ачений
СтрокаТаблицы.3t1ачений
"Вентилятор B I NAТONE ALPINE 1 . .
"0000"00032
1 3 Строка Таблицы.3t1ачений
СтрокаТаблиць13t1ачений
"Вентилятор JI PON IC (Тайв.)."
1
" 00002
000 5"
"000030"
000
14 Строка Таблицы.3t1ачений
СтрокаТаблицы.3t1ачений
"Вен�илятор настольный"
"ОООО"ОООЗЗ
1 5 Строка Таблицы.3t1ачений
СтрокаТаблицы.3t1ачений
1 6 Строка Таблицы.3t1ачений
СтрокаТаблицы.3t1ачений
"Комбайн MOU LIN EX А77 4С"
"Миксер 50 LAC мод.545"
"000070004 ''
1 7 С1рокаТаблицы.3t1ачений
СтрокаТаблиць13t1ачений
"Мясорубка Э КМ-3"
18 СrрокаТаблицы.3t1ачений
СтрокаТаблицы.3t1ачений
11 Вен�илятор оконный "
"00"00048
19 СтрокаТаблиu.ы.3t1ачений
СтрокаТаблицы.3t1ачений
"Вентилятор O P БИTA.STERLING . . .
20 СтрокаТаблиu.ы.3t1ачений
СтрокаТаблицы.3t1ачений
"Телевизоры"
СтрокаТаблицы.3t1ачений
СтрокаТаблиu.ы.3t1ачений
"Телевизор "JVC""
22 СтрокаТаблицы.3t1ачений
СтрокаТаблиu.ь1 3t1ачений
"Кондиционер ЕLЕКТА"
21
"00"00034
"0000"00046
"00"00049
"00"00050
"0000'00056'
"00'00057'
"0000"00058
23 СтрокаТаблицы.3t1ачений
Строка Таблицы.3t1ачений
"Кондиционер FIRMSTAR 1 2М "
24 Сrрока Таблицы.3t1ачений
Строка Таблиць13t1ачений
"Кон.DJ11u.ионер БК·2ЗОО"
"00"00059
25 Строка Таблицы.3t1ачений
СтрокаТаблицы.3t1ачений
" Пылесос "Омега" 1 25<Вт11
"000000061 "
26 СтрокаТаблицы.3t1ачений
СтрокаТаблиць13t1ачений
11 Пылесос "Электросила" "
"0000"00062
27 Строка Таблицы.3t1ачений
СтрокаТаблицы.3t1ачений
" Пылесос "Энерrия-SАNУО""
28 Строка Таблицы.3t1ачений
СтрокаТаблицы.3t1ачений
"Чайник BI NAТON E ЕWК-ЗООО. 2...
"0000"00063
2Э Строка Таблицы.3t1ачений
СтрокаТаблицы.3t1ачений
"Чайник BI NAТON E AEJ-1 001 . 2. . .
"0000100 1 3"
зо С1рокаТаблицы.3t1ачений
СтрокаТаблиць13t1ачений
"Мясорубка MO ULI NEX А 1 5"
"0000100 1 5"
31
СrрокаТаблицы.3t1ачений
СтрокаТаблицы.3t1ачений
"Соковыжималка B INATO NE JE . .
"0000100 1 6"
32 СтрокаТаблицы.3t1ачений
СтрокаТаблиць13t1ачений
" Чайник MO ULINEX L 1 .3"
"0000100 1 7''
зз СтрокаТаблицы.3t1ачений
СтрокаТаблицы.3t1ачений
"Телевизор "SHAR P""
"0000100 20"
СтрокаТаблиu.ь13t1ачений
"Соковыжималка SOLAC Мод.54.. .
"0000100 22"
З5 СтрокаТаблицы.3t1ачений
СтрокаТаблиu.ь13t1ачений
"Соковыжималка 11 МАПО " "
"0000100 23"
З4 СтрокаТаблицы.3t1ачений
ЕдJ.'lницаИзм
"00002
000 0"
"0000"00060
"0000100 1 1 "
шт
шт
шт
шт
шт
шт
шт
шт
шт
Шт
Шт
Шт
шт
шт
шт
Шт
шт
шт
шт
шт
шт
шт
шт
шт
шт
шт
шт
шт
шт
шт
шт
Рисунок 29
Вот так мы можем увидеть все данные, полученные из запроса, что в некоторых
случаях бывает необходимо.
1. 5 Параметры запроса.
Предположим, что нам нужно выбрать не весь справочник «Номенклатура», а лишь
элементы, отвечающие определенным условиям. На практике, чаще всего, выбирать все
элементы нет необходимости.
Для того чтобы ограничить выборку, в конструкторе запроса есть вкладка «Условия».
На этой вкладке мы можем определить те условия, по которым будут отбираться данные.
Например, нам необходимо выбрать только те элементы, у которых единица измерения
штука. Установив курсор на текст запроса, вызываем контекстное меню правой кнопкой
мыши и выбираем пункт «Конструктор запроса». Далее переходим на закладку «Условия»,
разворачиваем структуру справочника и выбираем реквизит «ЕдиницаИзмерения», дважды
щелкнув по нему левой кнопкой мыши. Конструктор запроса автоматически сформировал
условие (Рисунок 30).
19 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
Таблицы и поля
Поля
е 1П1
] [ Группировка ! r
Условия
т
Объе,.., ненияIП с ее ,,,, ни м ь 1 �
ро
ов�
�
е_
ап
ак
�
з
�
�
�
�
_
_
_
_
�
с_
�
�
�_
_
_
_
_
_
_
_
_
_
_
_
�
П
Но енклатура
м
�
�
�
€1 �
�
Ссылка
Единица Измерения
Версия.D.анных
По еn<аУдаления
м
Родитель
Это Группа
� Код
� Наименование
Рисунок 30
Мы можем переопределить это условие самостоятельно. Самый простой способ
сделать это - изменить вид сравнения. Если щелкнуть по полю с условием, то мы увидим
выпадающий список, в котором присутствуют все возможные виды сравнения (Рисунок 3 1 )
.
о
<
>
<=
>=
в
Рисунок 3 1
Условия могут быть довольно сложными и их можно редактировать, для этого
достаточно установить флажок «Произвольное» (Рисунок 32).
Номер П . Условие
.
" Номенкла-тура . Единица Измерения = &Единица Измерения
Рисунок 32
Но сейчас нас это не интересует. В данный момент мы задали условие, что единица
измерения из номенклатуры должна равняться некой «ЕдиницаИзмерения». Что же это? Это
и есть наш параметр, который будет передан в запрос до начала его выполнения.
Завершаем редактирование запроса и нажимаем на «0К». Посмотрим, как изменился
запрос (Рисунок 33).
Запрос.Текст = "ВЫБРАТЬ
1 Номенклатура .Наименование ,
1 Номенклатура .Код,
1 Номенклатура .Единица Иlзмерения
1 ИIЗ
1 Справоч ник.Номенклатур,а КАК Н'оменклатура
I ГДЕ
1 Номенклатура ./=диницаИlзмерения = .&ЕдиницаИlзмерения'" ;
Рисунок 33
20 Верный старт в lC www.work-lc.ru
88002344322 Бесплатный звонок
в
нем
появилось
условие
«ГДЕ
Номенклатура.ЕдиницаИзмерения
&ЕдиницаИзмерения». Обратите внимание, как написан параметр : перед ним стоит символ
«&» (амперсанд). Именно так выделяются параметры в тексте запроса, ведь сам текст
запроса - это строка, которую можно написать руками. Нам пока этого делать не нужно,
поэтому просто запомним, что параметры начинаются с амперсанда.
Настало время передать параметр в запрос. Как же нам это сделать? Для этого у
объекта
запрос
метод
существует
«УстановитьПараметр( «ИмяПараметра»,
ЗначениеПараметра)», который в качестве параметров (простите за каламбур) принимает
наименование параметра в виде строки и его значение. Чтобы установить параметр надо
вызвать метод с параметрами. Не слишком ли сложно? Голова кругом. Не расстраивайтесь,
спустя небольшое время вы даже не будете задумываться над этим, настолько это будет
просто.
После того как мы описали текст запроса, нам необходимо таки установить значение
параметра для запроса. Итак, пишем (Рисунок 34).
� ОJчет ОJчетГlоНDменкпатуре: <Рорма()тчета
_
СформироватьНаСервере(ТабДок);
КонецП роцедур ь1
D х
&НаСервереБезКонтекста
Процедура СформироватьНаСервере(ТабДок)
Макет
= Отчеты. ОтчетПоНоменклатуре. ПолучитьМакет("Номенклатура");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
Областьетрока = Макет.Получитьобласть("Строка");
Запрос = Новый Зап рос;
Запрос.Текст = "В ЫБРАТЬ
1 Номенклатура.Наименование,
1 Номен клатура.Код,
1 Номенклатура.Еди ницаизмерения
I ИЗ
1 Справочник. Номенклатура КАК Номенклатура
I ГДЕ
1 Номенклатура. ЕдиницаИзмерения = &Еди ницаИзмерени я" ;
Запрос.УстановитьПараметр("ЕдиницаИзмерения", Сп равочники. ЕдиницыИзмерения. Шт);
ТабДок.Очисти ть();
ТабДок . Вывести(ОбластьШапка);
r
1
Выборка = Зап рос.Выполнить().В ы брать();
Пока Выборка. следую щий() Цикл
ОбластьСтрока. Параметры. Заполнить(Выборка );
ТабДок. В ы вести(ОбластьСтрока );
КонецЦикла;
КонецПроцедуры
�"""" 1 1 l§l
Mnnun...
1
1�
...
Рисунок 34
Первым параметром метода «УстановитьПараметр» мы передаем строковое значение
с именем параметра таким, каким оно задано в запросе, только здесь мы не используем
амперсанд. А вот вторым параметром передаем само значение. Поскольку единица
измерения «штука» является предопределенным элементом справочника (задана при
2 1 Верный старт в lC www.work-lc.ru
88002344322 Бесплатный звонок
разработке конфигурации разработчиком прямо в конфигураторе), обратиться к этому
элементу можно через точку из соответствующего справочника, что мы и сделали.
Посмотрим, как же изменился набор данных, получаемый из запроса. Сохраним
изменения в конфигурации, нажав F7. Запустим конфигурацию в режиме « l С: Предприятие»
] u
и посмотрим на отчет (Рисунок 3 5).
+-
-+
От,чет по номенклату ре
С ф о рм и ро в ать
Та 6 д ок:
Н а и м е н о ва н и е
Еди н и ца из,мере·ния
Кiо,ц
0 0 0 0 0 00!32
Шт
В ент�ш�1;r,о р JI IPO N IC
000 0 0 0 0!33
В ент�шя;r,ор
000 0 0 0 0!34
Шт
В-е<Нi1П1ЛЯirор 8- INIATO N E ALPIN E 1 60 вт,
Н В П [)ЛЬ Н Ы Й ,
(Та�'i в . ),
нас1по,льн t:11 �'i1
В-ент�1ЛЯirо р о к,о н н t:11 И1
Шт
Шт
0 0 0 0 0 0 049
Рисунок 3 5
Как видим, данных стало значительно меньше и у всех них единица измерения равна
«lliT».
Однако
условия
могут быть заданы
не
только
параметрами,
также
могут
использоваться строковые или числовые литералы. Литералы - это некие фиксированные
значения. Например, если я напишу: «Имя = Петя "; », то Петя " _ это и есть литерал.
Зададим следующее условие: код должен равняться значению «000000032». Для этого
откроем конструктор запроса, перейдем на вкладку «Условие» и установим флажок
«Произвольное». Затем, отредактируем условие следующим образом (Рисунок 36).
Конс трук1iор
' =
Таблицы и поля
запроса
•
Группировка
Поля
Условия
Е
�
Дополнительно
мер
1 П . 1 Условие
Объединения/Псевдонимы
.
1 � · Номенклыура . Код
=
"00003
000 2"
Рисунок 36
Сохраним
изменения и
снова сформируем
отчет.
Результатом
будет отчет,
содержащий лишь одну строку с той номенклатурой, которая удовлетворяет нашему
условию.
22 Верный старт в lC www.work-lc.ru
88002344322 Бесплатный звонок
1.6 Консоль запросов.
В этой части мы познакомимся с очень полезным и нужным инструментом
разработчика - консолью запросов. Консоль запросов - это обработка фирмы 1 С, которая
предназначена для разработки и отладки запросов. Работает она в пользовательском режиме,
поэтому в большинстве случаев конфигуратор и отладка не нужны для создания и отладки
запросов.
Скачать
консоль
запросов
можно
с
сайта
фирмы
1С
по
ссылке:
https://its. 1 c.ru/dЬ/metod8dev#content:4500:hdoc.
В нашу конфигурацию также встроена консоль запросов, она несколько отличается от
консоли фирмы
1 С,
но работает примерно также. Для того чтобы ее вызвать в
пользовательском режиме необходимо выбрать «Склад» -> «Сервис» -> «Консоль запросов».
Рассмотрим ее интерфейс. Он состоит из нескольких разделов (Рисунок 3 7).
1
Добавить запрос
Использовать
ТЗ:
Консоль запросов 0. 1
1
Восстановить параметры
Сохранить параметры
О
Имя запроса
-
Здесь отображаются
зап росы , их может
быть несколько
Время выполнения:
"-......
1
Выполнить запрос
�
араметры запроса
1 1�
Конструктор запроса
1
Здесь отображается текст текущего запроса
1
.
Количество·
Время вывода· -
-
1
Текст запроса
1�
9 Урок № 1
Кнопка вызова параметров
Результат запроса
......!-....
' .;..._
z
з:::
�
I
з:с
�
:Е=
1
2
3
•
5
•
7
•
9
10
11
12
13
"
15
16
17
16
.
5
•
10
13
Здесь результат вы полнения зап роса
.
Рисунок 3 7
Интерфейс, как видим, интуитивно понятен и н е должен вызывать каких-либо
сложностей. Давайте попробуем создать запрос аналогичный тому, что мы делали в
конфигураторе. Для начала в окне имен запросов (вверху слева) введем имя нашего запроса.
Назовем его «Номенклатура» (Рисунок 38).
23 Верный старт в lC www.work-lc.ru
88002344322 Бесплатный звонок
...
;t;
о,
�
Консоль запросов 0. 1
Использовать ТЗ:
D
1
),.
Cl
1
Добавить запрос
Имя запроса
е
Восстановить параметры
1
Сохран1пь параметры
1�
Текст запроса
Номнеклатура
>
1
Выполнить запрос
11
Параметры запроса
Ещ е
·I Ш
1 1 � Конструктор запроса 1
.
1
m
Время выполнения:
Результат запроса
,
1
1
Время вывода:
2
1
1
з
4
.
Количество:
1
1
5
б
1
о
7
1
8
1
9
1
10
1
11
1
12
1
13
1
14
1
15
1
1
16
17
1
18
1
Рисунок 3 8
il
Нажимаем н а кнопку «Конструктор запроса», формируем запрос к справочнику
«Номенклатура», аналогично тому, что мы делали ранее. Работа с конструктором запроса
ничем не отличается от того, что было в конфигураторе. Выбираем те же поля:
«Наименование», «Код», «ЕдиницаИзмерения». Далее на закладке условия задаем условие
по единице измерения (Рисунок 39-40) .
...
-+
1
Консол ь запросов О . 1
О
Имя запроса
е
m Конс:rр)'15:ТОр ЗЗПР0:9'! "
Урок №1
Таблицы ..
Номенклатура
1 r Группировка 1 r Условия
�а данных
е rm О�равочники
® rm 111 111§1;,;;и;
g
® r1!I Е.диниuыИзмерения
® rm Склады
1$1 [] Документь1
@ � РегистрыНакоnления
1�----jl
Время выполнения: Результат запроса
_1_
I
2
[
Восстанов1пь параметры
Добавить запрос
Использовать ТЗ:
*
1
1 Дополните ... , f Объеnине ...
-� �
цы
е 1П1 Номенклатура
�
Ссылка
ВерсияДанных
ПометкаУдаления
0
�
1$1
+
�1
D х
Номенклатура. Наименование
Номенклатура.Код
Номенклатура.Е.диниuаИзмерения
Родитель
< Назад
___!___
24 Верный старт в lC www.work-lc.ru
1 1 Итоги 1 1 Построитель 1 1 Пакет зап .. 1
ЭтоГрупnа
Код
в
1
Порядок
1 1.
1 7' 6-�1_ �
1 -�
� QO � � 11-'�
Рисунок 39
88002344322 Бесплатный звонок
_
D х
Пакет зап
Условия
о о 6'1
Поля
е �
Номенклатура
Номер
Ссылка
1
Версияilанных
ПометкаУдаления
®
Родитель
П .. Условие
c:J Номенклатура.ЕдиницаИ .. . •••._ §:ЕдиницаИзмерения
.
..
�
Это Группа
Код
Наименование
Единица Измерения
Предопределенный
Дан
х:
ре пределенн ы
до
яП
редставление
Им
в
П
1
< Назад
11
Далее >
11
ОК
11
О�мена
11
Справка
1
Рисунок 40
Нажимаем «0ю>. Видим наш вновь сформированный текст запроса (Рисунок 4 1 ) .
Консоль запросов 0. 1 *
Добавить запрос
Использовать ТЗ:
Восстанов1пь параметры
Сохранить параметры
О
Имя запроса
е
Урок №1
Выполнить запрос
Номенклатура
ВЫБРАТЬ
J I.
Параметры запроса
1 tl �
Конструктор запроса
[
1
Номенклатура . Наименование,
Номенклатура . Код,
Номенклатура . ЕдиницаИзмерения
из
Справочник . Номенклатура
ГДЕ
Время выполнения: -
Время вывода: -
КАК
Номенклатура
Номенклатура . ЕдиницаИзмерения = &ЕдиницаИзмерения
Количество:
Рисунок 4 1
Теперь, для того чтобы установить параметры, нажимаем на кнопку «Параметры
запроса» В открывшемся окне мы можем сами добавить требуемый параметр, но поскольку
мы только начинаем осваивать консоль запросов и нам может показаться это сложновато, то
проще нажать на кнопку
«Обновить
параметры» и
автоматически сюда добавлены. Дважды щелкаем
параметры из запроса будут
по полю «Значение» и выбираем
«Показать все», откроется форма выбора единиц измерения, выбираем «Шт» (Рисунок 42).
25 Верный старт в lC www.work-lc.ru
88002344322 Бесплатный звонок
Консоль запросов О 1 *
[],обавить запрос
ользовать
ТЗ:
Восстановить параметры
Сохранить параметры
--������������-��--11 Единицы измерения
О
1мя запроса
э
1
1
Консоль запросов
Добавить
Урок №1
Номенклатура
Параметр
1 1 С Обновить параметры
ЕдиницаИзмерения
�
мя выполнения ·
азультат за
11
Выбра<ь
Со,,.ап,
"
-
мест
-
набор
•
п ара
"
РУ"
М• М- О Х
1L
["· 1 EJ �
""·"'"
----�1�
К"
Наименование
"
'll!il rJ!l ' t.t
1 ...
6".
7".
7...
7".
"'
СМ
•
тыс учен мест
О".
1"
9".
-
тыс.шт
•
упак
7".
"'
Шт
7".
"
'Щ
8".
П"
Рисунок 42
Нажимаем «Выбрать» и «0ю>. Теперь параметр установлен. Нажимаем на кнопку
«Выполнить запрос» и видим результат выполнения нашего запроса (Рисунок 43).
+-
...
1
Доб авить запрос
Использовать ТЗ:
Имя запроса
Ко нс оль запрос ов 0. 1
О
*
Восстановить параметры
Сохранить параметры
1
Текст запроса
е Урок №1
Номенклатура
�
Выполнить запрос
ВЫБРАТЬ
11
Параметры запроса
Номен:клатура . Наимена в а...е
.чи ,
1 [ ls:J
Конструктор запроса
1
Номенклатура . Код,
Номен:клатура . ЕдиницаИзмерения
Время выполнения:
-
Время вывода: -
из
Справ оч.чик . Номенклатура
ГДЕ
Номенклатура . Еди.-"iИUdИзмерения =
Количество:
КАК
НоменRЛа тура
&Единицаизмерения
4
Результат запроса
Вент�1лятор
BINATONE ALPINE 1 60 вт,
нап ольны й ,
ВеНТ�1ЛЯТОр JIPONIC (Та�
1в. ),
Вент�1Лятор н а стоnьный
Вент�1ЛЯТОР оконны1
'1
000000032
000000033
000000034
000000049
Шт
Шт
Шт
Шт
Рисунок 43
Таким образом, в пользовательском режиме исключительно декларативно (не написав
ни строчки кода) мы разработали запрос, выполнили его и увидели результат выполнения.
Как видите, уважаемые читатели, консоль запросов является весьма удобным и
полезным инструментом. Одним из приемов разработки является разработка и отладка
запроса в консоли, а затем его перенос в программный код.
26 Верный старт в lC www.work-lc.ru
88002344322 Бесплатный звонок
1. 7 Псевдонимы полей.
Ранее при разработке запросов мы не задумывались над тем, как называются наши
поля в результате, но если мы посмотрим, то увидим, что называются они так же, как поля
нашего справочника. Но это не всегда бывает удобно. Например, нам бы хотелось, чтобы
поле «ЕдиницаИзмерения» называлось «ЕдИзм». Как это сделать? Нет ничего проще. Для
этого открываем конструктор запроса и переходим на закладку «Объединения/Псевдонимы».
Там мы увидим все выходные поля результата и их имена. Дважды щелкнем левой кнопкой
мыши по полю «ЕдиницаИзмерения» и отредактируем его как обычную строку (Рисунок 44).
liIJ
Конс�рук тор з апро са
п
Г
руп ировка
о
Им я
Запрос
1
1 Без �
О
Oi + +
Д
ополните .
Пос�ро
Объедине . .
.
Им я пол я
D Х
т
п
П а к е за . . .
итель
1З про с 1
а
Номенкл атура . Наимен ование
Наим ен ование
Номенкл атура .Код
Код
iiiJiii!iiiiыtil&M.M!iiЫ
-
Номенкл атура . Единица И зм ерени я
З прос
а
< Наза д
11
Далее
>
11
11
ок
Отм ена
11
-
Справк а
1
Рисунок 44
Посмотрим, как изменился текст запроса. У поля «ЕдиницаИзмерения» добавилось
ключевое слово «КАК», после которого дописано новое имя поля «ЕдИзм» (Рисунок 45).
+-
-+
1
Д о бавить запрос
Использовать ТЗ:
Имя запроса
е
Урок №1
Консоль запросов 0 . 1 *
11
О
Номенклатура
Восстановить параметры
]1
С охранить параметры
1
Текст запроса
11>
Выполнить запрос
ВЫБРАТЬ
11
.
П араметры запроса
Номенкла тура . Наимено в ание ,
1 1�
Конструктор запроса
Номенкла тур а . Код,
иs
ГДЕ
Нgменматура Еmэ;ницаИ:змерения КАК ЕдИ:зм
Справачник . Наменма тура
КАК Наменматура
Номенклатура . Едиющаизмеремия
Рисунок 45
27 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
=
&ЕдимиUаизмеремия
1
Если мы изменяем имена полей (другими словами, устанавливаем им псевдонимы), то
и в дальнейшем в программном коде мы должны обращаться к этим полям по новым именам
(Рисунок 46).
1 ..,....
....,.
1
Д обавить запрос
Использовать ТЗ:
Имя запроса
е
Г\UH\;UJl l:> <Si::l l lf.!U\;Ut:S
О
U. 1
Восстановить параметры
Сохран�пь параметры
-
Урок №1
Номенклатура
1
Текст запроса
�
J
11 1
БЬ!ВРАТЬ
.
П араметры запроса
Номенклатура . Наименов ание ,
Номенклатура . Код,
из
ГДЕ
Время выполнения:
-
Время вывода: -
1 1�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
Выполнить запрос
Номенклатура . ЕдиницаИзмерения КАК
Справ очник . Номенклатура
зм
КАК Номенклатур а
Номенклатура . ЕдиницаИзмерения
Количество:
�
Конструктор запроса
=
&ЕдиницаИзмерения
4
Результат запроса
2
Наименование
Вент1tлятор BINATO NE ALPINE 16Gвт, на nеtльны �i ,
Векптятор JIPONIC (Та1
'1 в.),
В ент1tлятор на стопьн ы1i
Вентилятор оконны�
1
б
Код
000000032
000000033
000000034
000000049
Шт
Шт
Шт
Рисунок 46
1.8 Сортировка.
То, в каком порядке расположены данные в результате выполнения запроса, в
некоторых случаях может иметь значение. Именно поэтому важно уметь сортировать
полученный результат. Это делается в конструкторе запроса на закладке «Порядок». На этой
закладке мы выбираем поля, по которым хотим выполнять сортировку и направление
сортировки: возрастание, убывание, иерархия, иерархия по убыванию. Если полей будет
выбрано несколько, то сортировка будет выполнена сначала по первому полю, затем, если
есть одинаковые значения по первому полю, то будет выполнена сортировка внутри этих
одинаковых значений по второму полю и так далее.
Например, мы имеем выборку из трех полей: «фамилия», «имя», «отчество» и задаем
по ним сортировку. Сначала сортировка выполнится по полю «фамилия», но представьте,
что с одинаковой фамилией есть несколько человек. Эти несколько человек расположатся в
порядке их имен. Ну а если среди элементов есть элементы с одинаковой фамилией и
именем, то они будут отсортированы между собой по отчеству. В нашем примере
отсортируем результат по полю «Код». Выберем его на закладке «Порядою> (Рисунок 47).
28 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
lffi i<oHClP\'KТOp запроса
Таблицр1 .
.
Группиро вк а
П о ля
У
с ло
D х
Па ет за п . ..
к
вия
+
+
Во зр астание
ЕдИзм
Все поля
О Автоупорядочивание
Запрос
1
з
< На ад
11
Далее
>
11
ок
11
Отм ен а
11
Справка
Рисунок 47
Как изменился текст запроса? Мы видим новое ключевое слово «Упорядочить по», а
затем имя поля упорядочивания (Рисунок 48).
1
Консоль запросов
Добавить запрос
Использовать ТЗ:
1
0.1 *
Восстанов11ть параметры
1�
Текст запроса
Имя запроса
е
1
Сохранить параметры
О
Урок №1
Номенкnатура
ВЫВРАТЬ
-4-�
...-
ГДЕ
Параметры запроса
1 [! �
Конструктор запроса
1
Номен:клатура. Е.шuuшаИзмерения КАК ЕдИзм
Справочник . Номенклатура КАК Номенклатура
Номенклатура . Единицаизмерения == &Единицаизмерения
Код
,
11
·1 [
Код КАК Код,
Номенклатура
Номен11:nатура .. Наименование,
УnОРЯДОЧИТЬ
I
ИЗ
-
]
Выполнить запрос
Еще
по
Рисунок 48
Слово «Возр» опущено, это допускается, если упорядочивание идет по возрастанию.
Если же мы выберем порядок по убыванию, то увидим слово «УБЫВ» рядом с полем
упорядочивания.
Теперь попробуем выполнить сортировку по нескольким полям. Для этого сначала
уберем условие, чтобы в выборку попали все элементы, затем первым полем сортировки
назначим единицу измерения по возрастанию, а вторым - код по убыванию. Выполним
запрос (Рисунок 49-50).
29 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
m
Конструктор запроса •
Таблицы .
Поля
D Х
Группировка
Построитель
111!!!!!1
ЕдИзм
Ко д
Наименование
i±'
Пакет зап ..
С т релоч к а м и можем менять
порядок п ол е й п ри н аст ро й ке
сорт и ровки
О .Автоупорядочивание
Запрос
"
-+
<
Рисунок 49
1
Консол ь запросов 0 . 1 *
J[
д
_
о_
б_
ав
_
и_
ть за
_
п_
ро
_с _, _ в
_
о_
сс
_
т
_
а_
но
_
_
в и_
ть
_
_
п_
ар
_
а_
м_
ет
_
р_
ы
__
.__
_
_
_
_
_
Использовать
ТЗ:
Имя запроса
е
Назад
О
11
Далее >
_,1 1
1 1._
_
_
о_
к_
Отмена
11
Сhравка
Сохранить п араметры
�
г.==��;;;;�-::=
;;
======:--::=======::=;П араметры запроса
.,.
Выполнить запрос
[ [ ==
1 � Конструктор запроса [
Текст запроса
Урок №1
Номенкпатура
ВЫБРАТЬ
Номенклатура . Наименов ание ,
Номенклатура . Код КАК Код,
иs
Номенклатур а . Е.ЦИНИЦаИзмеремия КАК ЕдИзм
Спр ав оч...'iИ к . Номенклатура
КАК Номенклатура
УПОРЯДОЧИТЬ ПО
ЕдИзм,
Код УВЬIВ
Время выполнения:
Время вывода: -
-
Количество:
36
Результат запроса
2
Наименование
Код
Телев1tзоры
Венптяторы, пылесосы, конд1t ц11 он еры
Холодильн11к11, моро311льные камеры
Кухонные электроnр11боры
Соковыж11малка
Соковыж1н.1 алка
·мдпо·
SOLAC
Телев11зор ·sндRР"
Мод. 541
Чайню\ MOULINEX L 1 , 3
Соковыж11малка BINATONE JE 1 02
Мясорубка MOULINEX А 1 5
Ча1iю1к BINATONE AEJ-1001 , 2,2л
Ча1
i н 11к BINATONE ЕWК�ЗООО, 2п
000000056
000000031
000000025
000000020
000000123
000000122
000000120
0000001 17
0000001 16
0000001 1 5
0000001 1 3
0000001 1 1
ЕдИзм
4
6
шт
шт
шт
шт
шт
шт
шт
шт
Рисунок 50
В результате мы видим, что данные отсортированы по единице измерения, а внутри
этой сортировки - по коду в порядке убывания. То есть те элементы, у которых одинаковая
единица измерения, между собой отсортированы по коду в порядке убывания.
Сортировка может быть выполнена по любому полю выбранной таблицы, даже если
это поле не было выбрано в запросе. Мы можем отсортировать наши данные по полю
30 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
«ЭтоГруппа», хотя такое поле мы не выбирали в результат. «ЭтоГруппа» - реквизит с типом
данных булево (принимает значения «Истина» или «Ложь»), который является признаком
группы.
1. 9 Получить первые.
В этой части речь пойдет о том, как получить первые несколько элементов из всей
выборки.
Перед нами стоит задача получить первые 5 элементов справочника «Номенклатура».
Для этого открываем конструктор запросов, удаляем все условия, если они есть, переходим
на закладку «Дополнительно». Видим там группу «Выборка записей», устанавливаем
флажок «Первые», он становится активным после ввода количества первых записей,
устанавливаем в нем значение 5 (Рисунок 5 1 ) .
liII Конс�руктор запроса
о х
•
0 Пероые 1�-�
О Без повторяющихся
О Разрешенные
Пакет зап...
0Создание временной таблицы
QУничтожение временной таблицы
О Блокировать получаемые данные для последующего изменения
Таблиuь1
iii Номенклатура
Имя временной таблицы:
Таблицы цпя изменения
»
((
� 1 долее >
11
1 � 1 Сnравка 1
ОК
Рисунок 5 1
Нажимаем «0ю> и традиционно смотрим, как изменился текст нашего запроса
(Рисунок 52).
�спольэовать
ТЗ:
Имя запроса
е
О
Урок №1
Номенкпаоура
1
Текст запроса
�
Выполнить запрос
ВЬ!ВРАТЬ ПЕРВЫЕ 5
1 1.
Параметры запроса
Номе нRЛатура . Наименов ание ,
1 1 ls:l
Конструктор запроса
1
Номенклатура . Код КАК Код,
из
Номе нклатура . ЕдиницаИзмере ния КАК ЕдИзм
Справоч..чик . Номенкпа тура
КАК Номенкла тур а
УПОРЯДОЧИТЬ ПО
Ед.Изи,
Код УБЫВ
Рисунок 52
Появилось ключевое слово «Первые 5» после слова «Выбрать». А вот тут необходимо
обратить внимание на то, что сортировка играет ключевую роль в том, какие записи попадут
в эти первые 5 . Если мы хотим получить элемент с самым большим кодом, то нам
31 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
необходимо установить сортировку по коду в порядке убывания и выбрать первые 1
элементов.
1.10 Без повторяющихся.
Для того чтобы продемонстрировать следующий пример, нам придётся изменить наш
запрос. Уберем поля «Код» и «Наименование» и оставим только «ЕдиницаИзмерения». В
результате получим много одинаковых записей (Рисунок 53 -54).
liII Конструктор запроса •
о х
1 r Условия 1 Дополните " 1 f ОбъедИне". 1 f Порядок ! f Итоги ] ' Построитель l f Пакет зап l
1
о " о
��
tЁ � , O l � lltt
Поля
Таблищ,1
База данных
@ Lm
.. .
.[U �® � 1:1.щщщ.;1и;
c:_u - = ••"
i•Ma!.фii{!ЩI
<±' !J Документы
121
121
@ � Регис1ры Накопления
0
0
0
0
Таблищ,1 . .
1
Запрос
1
группировка
1
------
---
консол ь запросов u . 1
1
Добавить запрос
Использовать
ТЗ:
Восстановить параметры
< Назад
1
11
11
ок
О'!Мена
11
Справка
1
Рисунок 5 3
•
Сохранить параметры
О
Имя запроса
е
Далее >
Урок №1
Выполнить запрос
Номенклатура
ВЫБРАТЬ
из
]1
.
Параметры запроса
1 1�
Конструктор запроса
Номенклатура. Единицаизмерения КАК ЕдИзм
Справочник . Номенклатура КАК Номен:клатура
УПОРЯДОЧИТЬ ПО
ЕдИзм
Время выполнения:
Результат запроса
-
Время вывода: -
Количество:
36
������
10
Рисунок 54
32 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
11
12
То есть, у нас есть повторяющиеся записи. Если нам понадобится вывести не
повторяющиеся результаты, то мы можем воспользоваться специальной возможностью в
конструкторе запроса на закладке «Дополнительно».
о х
Дополните . . .
О Первые
1 :
Объедине . ..
Пос�роитель
Пакет зап . . .
С!) Выборка данных
0 Со здание временной таблищ,1
Имя временной таблищ,1:
0Уничтожение врем енной таблищ,1
Та блищ,1
для изменени я
<<
1
Запрос
< Н а за д
Рисунок 55
11
Далее >
11
ОК
11
Отм ен а
11
Справка
1
Посмотрим, как изменился текст запроса (Рисунок 56).
Текст запро с а
..,.
Выполнить запрос
из
][
...
П а ра м етры запроса
"АЗ.ПИО:IШЕ
] [�
Конструf
Номенклатура . ЕдишщаИзмереI01я КАК ЕдИзм
Спр а в очник . Номенкла тура КАК Номенклатура
УПОРЯДОЧИТЬ
ЕдИзм
О
Рисунок 56
Появилось ключевое слово «Различные» после «Выбрать». Смотрим на результат,
предварительно нажав на «Выполнить запрос» (Рисунок 57).
33 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
...
-+
1
Консол ь за nросов 0 . 1
Добавить запрос
*
Восстановить параметры
Сохранить параметры
О
Использовать ТЗ :
1 ..,
Текст за п роса
Имя запроса
е
Урок №1
Номенклатура
Выполнить запрос
ВЫБРАТЬ
11
Параметры запроса
РА9ЛИЧНЬIЕ
Номенклатура . Еди.чиuаИзмерения:
И9
СпраБочник. Номемклатура
КАК
КАК
11 �
Конструктор запроса
1
ЕдИ:зм
Номен.клатура
УПОР ЯДОЧИТЬ ПО
ЕдИзм
Время выполнения: -
Время вывода: -
Количество:
Результат запроса
10
ЕаИзм
11
12
13
Рисунок 57
Мы видим только 3 строки: с незаполненной единицей измерения, с единицей «Шт» и
единицей «ШТ». «Шт» и «ШТ», в данном случае, являются разными элементами справочника.
1.11 Реальн ы е таблицы. Па ртии товар ов.
В этом примере мы выполним запрос к регистру накопления «Партии товаров».
Откроем конструктор запроса и выберем соответствующий регистр (Рисунок 58) .
.ffi Конс'!Р)'КТОR запооса •
1
Таблицы ..
ш г�
@ rm
гр)'Тlnировка
- [2]
�
РеrистрыНакопления
0
[i llWWШl·l·!l!ll
5J
[i ПартииТоваров.ОбороiЬJ
База данных
@ О
е �
(f)
Справочники
Докумен1ы
®
® [i
® [i
1
•1
� r Условия ' r Дополните .. 1 1 Объе,..не ...
Запрос
ПартииТоваров.Осrспки
ПартииТоваров .ОстаткиИОIJ
1
.
1
1"
tt � ,
Таблицы
е �
(!•
о
1 111!1 "'
.....
-
Период
=
Регис�ратор
-
НомерС�роки
=
АктивносiЬ
-
Випllвижения
® L
® L
® L
'
'
-
о х
Г Порядок ) f Иrоги � f Пос�роитель 1 1 Пакет зап ,
-
Склад
Номенклатура
о , о
[2] lli]
0
5J
Поля
Партия
КоличесlВО
-
ПарlИиТоваров .Период
-
ПарlИиТоваров .Регис�ратор
=
ПартииТоваров .НомерСтроки
-
ПартииТоваров .АктивносiЬ
=
ПартииТоваров .Випllвижения
L
L
L
'
'
=
Сумма
МоментВремени
< Назад
1
далее >
11
>-
-
ПартииТоваров .Склад
ПартииТоваров .Номенклатура
�
ПартииТоваров .Партия
ПартииТоваров .КоличесlВо
ПартииТоваров .Сумма
�
ПартииТоваров .Момент8ремени
ок
11
Отмена
11
Справка
1
�
>�
Рисунок 58
Эта таблица, «ПартииТоваров», физически существует в базе данных, поэтому мы
называем ее реальной, три другие виртуальные, но о них позже.
Выполним запрос и посмотрим на результат. Мы видим все записи, которые были
сделаны в ней документами за весь период (Рисунок 59).
34 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
Добавить заnрос
Использовать ТЗ:
Восстановить nараметры
·1 [
1
г;==�
:= ======:;-;:::===
[ ���1;-;:::
) 1 ==
1 l IВJ ======:::;) -������Текст заnроса
Имя заnроса
е
Еще
Сохранить nараметры
О
Урок №1
•
Номенкпатура
Выnолнить запрос
Параметры заnроса
Конструктор заnроса
1
ВЫБРАТЬ РАЗЛИЧНЫЕ
ПартииТоваров . Период,
ПартииТоваро в . Регистратор,
ПартииТоваров . НомерСтроки,
ПартииТоваров . Активность ,
ПартииТоваров . Ви.цЦв:ижения,
ПартииТоваров . Склад,
ПартииТоваров . Номенклатура,
Время выnолнения:
Резупыат заnроса
3
6
8
!�-----
-
Время вывода: -
1 Ре rистратор
[Период
01 .01 .201 4 0:00:00
18
Копичество:
Оприходование товаров 000000001 от
Jc.,,.,.
IНомерСтроки !Активность IВидДвижения
5 Да
Приход
4 До
Лр11ход
Скпад № 1
, д•
Лрl!ХОД
Скпад № 1
6 До
Приход
Скпад № 1
01.01.201 4 0:00:00
Опр11ходование товаров 000000001 от
01 .01 .201 4 0:00:00
8
Номен кл.щра
ВеtfТ11лятор OPбИTA,SТERLING.
Скпад № 1
ВеtfТllЛЯТОР оконный
01.01.201 4 0:00:00
Опр1�ходовани е товаров 000000001 от
01 .01.201 4 0:00:00
01 .01 .201 4 0:00:00
Оприходование товаров 000000001 от
01 .01 .201 4 0:00:00
ВеtfТилятор BINATONE ALPINE 11
1 напольный ,
Кондиц11онер ЕLЕКТА
01.01.201 4 0:00:00
Опр11ходование товаров 000000001 от
01.01.201 4 0:00:00
3 До
Лр11ХОД
Скпад № 1
ВеtfТилятор настольный
2 До
Пр1�ход
Скпад № 1
ВеtfТИЛЯТОР JIPONIC (Тайв.),
5 До
Прl!ХОД
Скпад № 2
ВеtfТилятор OPбИTA,SТERLING.
• А•
Лриход
Скпад № 2
ВеtfТилятор оконный
01.01 .201 4 0:00:00
01.01.2014 0:00:00
Опр1�ходование товаров 000000001 от
01 .01 .201 4 0:00:00
1 5.01 .201 4 12:00:00
Опр1�ходование товаров 000000002 от
•
1
1 5.01 .201 4 1 2:00 00
15.01.2014 12:00:00
Оnр1�ходование товаров 000000002 or
Рисунок 59
1.12 Усл ов ия . Между, ср ав нения .
Получим из регистра «ПартииТоваров» все записи с количество больше 1 00. Для
этого в конструкторе переходим на вкладку «Условия» и устанавливаем его при помощи
числового литерала (Рисунок 60).
m Конс�р
тор з апроса
ук
Таблицы .
е �
Груnпи ро ка
в
Поля
П ар�ии Товаров
®
® L
1'±) L
�· L
За прос
D х
•
Период
Р егис�ратор
Ном ерС�роки
Усло ви я
Допо ите .
лн
.
о о О'!
Но
р
ме
п
0
П стр
о
оитель
Об ъедине . .
Условие
Па к е т з
ап . .
11
Ак�ивнос�ь
ВидДви жения
Скла д
Ном енк ла1ура
IH·l1llll1!·I
Пар�и я
С мма
у
р
М оментВ емени
<
На а
з д
11
Далее
>
11
ок
Рисунок 60
Выполняем запрос и проверяем результат (Рисунок 61 ).
35 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
11
Отмен а
11
Справ ка
Добавить запрос
Использовать
Восстановить параметры
ТЗ:
О
1
Урок №1
Номенклатура
�
•
11
!�----IJ 1
1 !�
1
Текст запроса
Имя запроса
е
Е ще
Сохранить параметры
Выполнить запрос
Конструктор запроса
Параметры запроса
ПартииТоваров . Партия,
ПартииТоваров . Количество,
ПартииТоваров . Сумма ,
ПартииТоваров .МоментВремени
из
ГДЕ
Время выполнения:
-
Время вывода: -
Реr�истрНакопления . ПартИИТоваров КАК Парт:ииТоваров
ПартИИТоваро в . Количество > 100
Количество:
Результат запроса
Период
Реrмстратор
01 . 01 .2014 0:00:00
Оприходован11е товаров 0 00000001 от
Вмд,Цвмжения
Скnад
Ноuенкnатура
5 Да
Приход
Скnвд № 1
Веtrrилятор OPБИTA,SТERLING,
5 Да
Приход
Скnад № 2
В еtrrилятор OPБИTA,SТERLING,
5 Да
Приход
Скnад № 1
В еtrrилятор OPБИTA,SТERLING,
Но1.tерСтрокм Акт1<11 вность
01 .01 .201 4 0:00:00
1 5.01 .2014 12:00:00
Оnриходоввн11е товаров 000000002 от
31.01.201 4 1 7:56:40
Оnриходоваtt11е тов аров 000000003 от
1 5.01 .201 4 12:00:00
31 .01 .201 4 1 7:56:40
Рисунок 6 1
Видим, что у всех строк количество больше 1 00.
Попробуем использовать
условие
«Между»,
оно
работает как
Условие ! <=
Значение<=Условите2. То есть то значение, на которое мы накладываем условие, больше
либо равно правому значению и меньше либо равно левому. Наложим такое условие, опять
же, при помощи числовых литералов. Пусть в нашу выборку попадут строки с количеством
между 1 50
m
и
200 (Рисунок 62-63).
1.
Условия
Таблищ,
�
По ля
Е•
m
Регис�ратор
�е �
r±;i
t±J
11
-с
,..,.
с
""
""
""
""
""
L
\tJ L
""
1
"""
Группировка
11
Условия l 1
---·-
Пар�ииТоваров
1'!) L
Э1
f
Пар�ии Товаров Количест
Между
Количесmо
Рисунок 62
Таблищ,1 .
-
tt , ·о
Номер П. . Условие
Период
Конс�руктор запроса •
Поля
Пакет зап
о о 6'1
Пар�ииТоваров
@
.
D х
i<оНСlр\'КТОр запроса •
Запрос
Дополните
о о 6'1
.. 1 1 Объедине . . J f
� j_п . 1. Условие
- 1 0 ..
Номер
Период
Регис�ратор
НомерС�роки
1;" •• "
.
Пор ядок
..
][
'11
1
Итоги
] Пос�роитель 1 1
D х
Пакет зап . .
1
11
.1\к�ивносТh
ВидДвижения
1
Склад
Номенклатура
lk.J.!jЩ@·4·'
Пар�ия
Сумма
Момент Времени
1
.... ......
.
.. "
--
1
< Назад
Рисунок 63
11
1 1 ок 1 1
-... .... " ..." ...
Далее >
" .........." "_ "
" . . ..
0-rмена
..... "_...
36 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
11
Справка
1
Для начала нам пришлось наложить простое условие с оператором «Между» и
параметрами. Затем мы установили флажок «Произвольное» и заменили параметры
литералами.
Мы могли добиться того же результата и другим путем, наложив 2 условия на поле
«Количество», чтобы количество было >= 1 50 И <=200 (Рисунок 64).
1ЕЕ1 Конс;р\'КТОР запроса
D х
•
Таблицы .
�
1Э
1Э
1Э
1Э
ПартииТоваров
Перио д
Регис ;ратор
НомерС;роки
Активнос�ь
Ви дДвижения
L Склад
L Номенкла�ура
L Партия
1
Пос ;роитель
0 0 @
Поля
е
Дополните . .
Условия
Паке т зап . .
Номер П .. Условие
1 0 ПартииТоваров. Количество <= 200
2 0" &
" ••••••
Ш.!,i!ЩЦ.9·1
Сумм а
•
'"" М омент Времени
За прос
< Н а з ад
Рисунок 64
11
Далее >
11
_.1 1
_
_
ок
...
_
Отмена
11
Справка
Результат будет таким же, но условие в первом случае получается компактнее
(Рисунок 65-66).
Текст зап роса
.,..
Вы п олн ить запрос
[[
Парам етры за п роса
ПартИИТо в аро в . Партил,
J [�
Конструктор запроса
ПартИИТо в аро в . Количе ст в о ,
JI
ПартИИТов аро в . Сумм а ,
ПартииТ ов аро в . МоментВр емени
из
Р е гист
Накопления . Па
тииТ о в а
ПартииТов аро в . Количе ст в о
КАК
ов
МЕЖДУ
Па
150 И
тииТ ов аро в
200
Рисунок 65
Текст за п роса
J
.,..
Выполнить запрос
J[
Параметры запро с а
ПартИИТо в аро в . Количе с тв о ,
из l
ПартИИТо в аро в . Сумм а ,
J [�
Конструктор за п роса
ПартииТо в аро в . МоментВремени
Р егистрНакоnленил . ПартииТ о в аро в
ПартИИТо варо в . Количе ст в о
<=
И ПартИИТо в аро в . Количе с т в о
КАК
ПартииТ о варов
200
>=
150
Рисунок 66
Схожим образом это работает для дат.
37 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
Допустим, нам нужны записи с датой раньше или равно 1 6 января. Дату зададим
параметром (Рисунок 67).
l!!J Конс�руктор запроса
Группировка
Таблицы .
�
Поля
�,
D х
Пакет зап . .
Условия
USJ·Ыliii·ЧL
о о ёJ
Условие
"" Пар111 иТоваров Лериод
<=
Период
Рисунок 67
Нажимаем «0К» и заполняем параметры (Рисунок 68).
х
КDнсоль запросов - Кон�;�игурация (1С:Предприятие)
1
Ко нс оль запро с ов
Д о б а вить
П араметр
в
Единица Измерения
о
П ериод
Зна ч ение
с
о
Шт
1 6.0 1 .2014
1
1
2 ____.
/____
Е ще
•
Рисунок 68
Проверяем результат. В него попали записи от 1 и 1 5 января, что соответствует
нашему условию (Рисунок 69).
Время выполнения:
•
Время вывода: -
Результат зап роса
2
01.01.2014 0:00:00
f-3 01 .01 .2014 0:00:00
7
7
01.01 .2014 0:00:00
Оnр1tходован11е товаров 000000001 от
6
01.01 .2014 0:00:00
1
1
1
01.01 .2014 0:00:00
Оnр1tходова1ше товаров 000000001 от
Опр1tходован11е товаров 000000001 от
Оnр1�ходован1tе товаров 000000001 от
01 .01 .2014 0:00:00
Оnр1�ходоваtше товаров 000000001 от
А'
А'
1
Приход
1
Скnад № 1
1
Вентилятор BINATONE AL�E 160Е
наn оn ьны1i ,
Приход
Скnад № 1
ВентиляторJРОNК: {Та1
iв.),
з д,
2
01.01 .2014 0:00:00
01 .01.2014 0:00:00
01.01.2014 0:00:00
f-- 01 .01.2014 0:00:00
7
7
1
12
Колич ество:
Приход
Скnад № 1
Вентилятор настоnьный
' А'
Приход
Скnад № 1
Вентилятор оконный
5 Д'
Приход
Скnад № 1
Вентилятор OPБИTA,SТERlflG,ЯП
6 Д'
Приход
Скnад № 1
Конд1щ1tонер ЕLЕКТА
А'
Приход
Скnад № 2
Вентилятор BINATONE ALPNE 160Е
Приход
Скnад № 2
Вентилятор JPONк: {Та1
iв.),
01.01 .2014 0:00:00
Оnр1tходова1ше товаров 000000001 от
01.01.2014 0:00:00
15.01 .2014 12:00:00
f-9 15.01 .2014 12:00:00
Оnр1�ходован1tе товаров 000000002 от
1
1 5.01 .2014 12:00:00
Оnр1tходова1ше товаров 000000002 от
1 5.01 .2014 12:00:00
2
А'
наnоnьны1
i ,
Рисунок 69
1.13 Виртуальн ы е таблиц ы. Остатк и.
Ранее мы упоминали о неких виртуальных таблицах. Здесь мы остановимся на них
подробнее. Вкратце скажу, что виртуальные таблицы не сушествуют в базе данных
физически, они создаются системой (платформой 1 С) динамически для оптимизации работы
и ускорения получения результатов. Обратимся к виртуальной таблице «Остатки». Она
называется «ПартииТоваровОстатки». Как видим, в плане содержимого таблицы, постфикс
является очень информативным. Для виртуальных таблиц при их добавлении в запрос
становится активна кнопка «Параметры виртуальной таблицы» (Рисунок 70).
38 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
Конс�р;'Ктор запроса
Таблицы . .
о )(
•
Группировка
База данных
<±1 l1r!
® О
"
r=1
Q
�
Справочники
Документы
�
Пакет зап . . .
Пос�роитель
Дополните . . .
ШJ.11щ1.1.8'.1.1.1.19Ft.l!I
Таблицы
(f1
@]
Рисунок 70
Здесь мы можем задать некие условия, по которым будет сформирована виртуальная
таблица. Накладывать условия на закладке «Условия» для виртуальных таблиц является, как
минимум, неоптимальным, а, как максимум, ошибочным. Какие же условия мы можем
наложить в этих параметрах? Прежде всего, это «Период». Период задается параметром и
обозначает дату, на которую требуется получить остатки.
са
-руппировка
] / Условия 1 / Дополните .. ] / Объедине ".
Порядок
]/
Итоги
1 [ Пострс
Поля
IИКИ
х
Параметры вир-rуальной та блицы
ты
�Накопления
н
Период
Условие
ОК
11
О ен а
тм
11
С равка
л
Рисунок 7 1
Еще есть поле «Условие». Чтобы отредактировать условие, необходимо нажать на
кнопку выбора (Рисунок 72)
о
нстр;'Ктор запроса
Таблищ,1 . .
®
®
База
е
Груnпировка
ги
] 1 Построитель ! [ Пакет зап . . .
2
данных
1П1 Справочники
D Документы
� РегисwыНакопления
® � ПартииТоваров
® � ПартииТоваров .Об
® � -® � ПартииТоваров.Ос
-
ПарамеtрЬ1 вир-туальной таблиць1
Период
Условие
® !В ..
Поле
®
®
1.±1 L
о х
L Партия
L Склад
Рисунок 72
В открывшемся окне мы можем наложить произвольные условия на измерения
регистра. Измерения регистра накопления представляют собой разрезы учета, по которым он
ведется. В нашем случае их 3 : «Склад», «Партия», «Номенклатура». Это значит, что мы
39 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
знаем не просто общее число товаров, но и количество каждого товара (разрез учета номенклатура), не просто количество каждого товара, но и количество каждого товара на
каждом складе (разрез учета - склад), не просто количество товаров по каждому товару и
складу, но и количество каждого товара в партии (разрез учета - партия).
Установим дату получения остатков (Рисунок 73-76).
Параметры виртуальной таблицы
х
н
Период
Условие
ОК
lJ
JJ
О�мена
Справка
Рисунок 73
m
Констр/'КТОр запроса
•
® l:m Спр а вочники
®
е
О Докуменоы
1!!1 Регистры Накопления
ۥ
ۥ
l!J Парrии Товаров
�·
� ПарrииТоваров .ОстаткиИОб
�·
[!] ПарrииТоваров .OбopoThl
[!J
ПарrииТоваров Остатки
w
G
0
�
Запрос
Таблиц
е
ш fG
0
�
® L
® L
® L
Пакет зап ..
Поля
ы
� ПарrииТоваровОстатки
Склад
Ном енкла"Т)'ра
Парrи
я
'
< Назад
Далее >
Рисунок 74
1 с:.
Построитель
Итоги
База данных
1
о х
Таблицы .
L
П<1рrии ТоваровОстатки .Склад
L
ПарrииТоваровОстатки . Парrия
L
ПарrииТоваровОстатки . Номенклату
'
ПарrииТоваровОстатки . Количество(
'
ПарrииТоваровОстатки .СуммаОста
1
1 I_
lI
_
к__
o_
_
11
Отмен а
1
1 ...
Справка
Консоль запросов - КонФиrурация (1С:Предприятие)
1 1 С Обновить параметры
Консол ь запросов
Добавить
Параметр
ЕдиницаИзмерения
Период
ДатаОстатков
в
с
о
о
о
�������ll:J8.\
о
Значение
1
Еще
•
1
Шт
1 6.0 1 .20 14
16.01.2014
� [ Х Закрыть [
Рисунок 75
40 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
х
Время выполнения:
-
Количество:
Время вывода: -
12
Результат запроса
f-в
Скnад № 1
Конд1щионер ЕLЕКТА
Скnад № 2
Вент11ЛЯТор BNATONE ALPINE 160вт,
01 .01 .201" 0:00:00
"
Оnркходование товаров 000000002 от
90
Оnркходование товаров 000000001 от
напольный ,
1 5.01 .2014 12:00:00
Скnад № 2
Вент11ЛЯТор JPONIC (Таiiв.),
Оnркходование товаров 000000002 от
Скnад № 2
Вент1tЛЯТор настольный
Оnркходование товаров 000000002 от
Скnад № 2
Вент1tЛЯТор оконный
Оnркходование товаров 000000002 от
Скnад № 2
Вент11ЛЯТор OPfiИTA,SТERLflG,ЯП
Оnркходование товаров 000000002 от
Скnад № 2
Конд1щионер ЕLЕКТА
Оnркходование товаров 000000002 от
20
15.01 .201" 12:00:00
10
11
f-12
13
30
1 5.01 .2014 12:00:00
10
1 5.01 .201" 12:00:00
1 50
1 5.01 .201" 12:00:00
"
1 5.01 .201" 12:00:00
,...
14
Рисунок 76
Итак, мы получили остатки на 1 6.0 1 .20 14 по этому регистру. Обратите внимание, как
в тексте запроса описывается наложенное условие на виртуальную таблицу (Рисунок 77).
Текст запроса
�
В ыполнить запрос
JJ
П араметры запроса
ВЫБРАТЬ РАЗЛИЧIШЕ
Парти:иТоваровОстатки . Склад,
J j�
Конструктор запроса
Парти:иТ о варо вОстатки . Номенклатура,
Парти:иТ о варо вОстатки . Партия ,
� т ки . С'уммаОс т а т о к
Парти:иТо в аровОстатки . Количест в оОс т а т о к ,
Парти:иТо в аровОст
из
КАК
Парти:иТо в аро вОстатки
Рисунок 77
То есть период отражается первым параметром виртуальной таблицы, второй не
заполнен, так как мы не налагали никаких условий.
1.14 Па р а м етр ы в иртуальн ой таблиц ы.
Сейчас потренируемся наложить условие по складу на виртуальную таблицу.
Открываем конструктор запроса, переходим в параметры виртуальной таблицы, нажимаем
на кнопку выбора условия и перетащим измерение «Склад». В нижнее поле допишем
«=&Склад» (Рисунок 78).
41 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
IПJ "l{оНС-rр;'Ктор запроса
1
Таб лицы .
Щ (-�
Группировка
1 r Условия 1 r Дополните . . 1 f Объед1-1не . 1 r
_j г----1 1
База д.анных
\;!;) rm
(tJ D
<±!
�
1. ;;1
iffil '� "' 0 1 1hi !l'ф
Таблицы
Регис-rрыНакопления
Перио
1&датаОстатков
д
1 г----� �
Построитель
��
�
1
@
�
tЭ
1
Заnрос
L Номенклат;ра
L Партия
L ll!I
Поле
Hi1.l1VJI Q Пot •1 '
Венпшятор JIPO N IC (fайв. ),
Пакет зап . .
1
-
1 ;;. 1 1 ;; 1
-·
- ..
hартииТоваровОстатки . Номенклат;
hартииТоваровОстатки . Партия
н hартииТоваровОстатки . Количество(
1 .. . 1 hартииТоваровОстатки .СуммаОста
-
п.
-
о х
-
® 121
- -
••
" "
EJ I
•
•
•
•
1
Вент�tлятор н в сrольный
1f
х
Произвольное выражение
31
-
о " о
1
Условие
-
] r Итоги 1 f
Поля
�
Параметры вир�уальной таблицы
Документы
Пор ядок
D х--
-· -
1
1�
Справка
1
-.
!
:
1
Скл� - & Складj
Рисунок 78
'
Установим параметр склад для запроса (Рисунок 79).
tc:.
Консоль запросов - Конфигурация (1С:Предприя�ие)
х
Ко нсоль запросов
Добавить 1 j С Обновить nараметры
Еще
Ед и ницаИзм е ре ния
в
с
Значение
о
о
1 6.0 1 .2014
ДатаОстатков
о
Параметр
о
Период
Склад
о
о
-1
Шт
1 6.0 1 .2014
Склад № 2
Рисунок 79
Выполним запрос (Рисунок 80).
Консоль запросов 0. 1 *
Добавить запрос
1споnьзовать ТЗ:
Восстановить параметры
Еще
Сохранить параметры
•
запроса
Имя запроса
е Урок №1
Выполнить запрос
Номенклатура
Параметры запроса
Конструктор запроса
1
БНВРАIЬ РАЗЛИЧНЫЕ
ПартИИТоваровОстатки . Номен�атура ,
ПартииТоваровОстатки . КоличествоОстаток,
ПартииТоваровОстатки. КоличествоОстаток
из
1
Эремя выполнения: Результат запроса
1 [2:
Текст
1
==
:= ======:;-;:=
������
[ ... ����];-;:::
1 ==
1 ( f&1.========:::;-�
1
О
Время вывода:
Номенкпзтура
Веtrrилятор BINATONE ALPINE 1 60 вт ,
-
КАК
КоличествоОстатокl
Количество:
10
КоличествоОстаток
Количество0статок1
90
напольный ,
Веtrrилятор JPONК: (Та1iв.),
Веtrrилятор настольный
Betrrиruпop оконный
Веtrrилятор OPБИTA,SТERLr>IG,ЯП
20
30
10
150
Кондиц11онер ЕLЕКТА
Рисунок 80
42 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
Итак, мы получили остатки по складу №2 на 1 6.0 1 .20 1 4. Еще раз хочу обратить
внимание на то, что условия для виртуальных таблиц должны накладываться в параметрах
виртуальной таблицы, а не на закладке условия.
Условия могут быть и более сложными. К примеру, нам нужны остатки не только по
определенному складу, но и по определенной номенклатуре. Сделаем это (Рисунок 8 1 ).
...., 11 артииТоварс
х
артииТоваре
_
_
_
_
_
_
_
1&да�аОсr.пков
1Склад &Склад И
Период
Усло
вие
н
1:1 1
=-
...
D )
@ liil ..
(.±) L
® L
Г�
Партия
Склад
IUiaд = &Склад И
Номенклатура = &Номенхлатура
Рисунок 8 1
То есть мы прямо в окне редактирования условия дописываем оператор «И» и
следующее условие по номенклатуре.
i.;,
Теперь установим параметр и выполним запрос (Рисунок 82-83).
l'\UHL:UJlb ::.1d1 IJ.JUt.Vtl - l'\UHЧ.IИI )'J.JdЦИ)I \ 1 \.....1 lµt::ДI lj.NIH IИ�J
1[
Консоль за п росов
Добавить
Параметр
•
Е ще
С Обновить п араметры
в
ЕдиницаИзмерения
с
о
о
о
П ериод
о
о
ДатаОстатков
о
о
Склад
Номенклатура
о
1
Значение
Шт
1 6. 0 1 .20 1 4
1 6. 0 1 .20 14
Склад № 2
Вентилятор JIPONIC (Тай в.),
Рисунок 82
Результат запроса
f--2 -
х
1
•
11
! Н оме н клатура
2
1
1
1
КолмчествоОстаток
Венл1лятор J IP
ONIC (Та11в.),
Рисунок 83
20
1
Колмчество0статок1
:
:
1
20:
1
6
1
Таким образом, мы получили остатки по выбранному складу и номенклатуре.
1 . 1 5 Условия . В иерархии.
Познакомимся с логическим оператором языка запросов «В Иерархии», что означает в подчинении. В случае с номенклатурой, это значит, что будет выбираться номенклатура,
находящаяся в определенной группе, а также в группах подчиненных ей.
43 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
Для нашего примера с виртуальной таблицей остатков выполним следующие
действия: зайдем в конструктор запроса, перейдем в параметры виртуальной таблицы,
откроем условие, изменим условие для номенклатуры: вместо оператора «=» перетащим из
правого окна логический оператор «В иерархии» и в скобки поместим наш параметр
«&Номенклатура» (Рисунок 84-85).
m
Конструктор запроса
Таблиuы
��
.. 1
ГР)<1Пиро6Ка
..
База данных
® 1Ш
® D
® �
Доку меНlы
РегистрыНакоплен и я
о х l=:J
� ' Усnовия 1 1 Доnоnните . 1 r Объе,.,не .. 1 r Порядок ] f Итоги ) f ПосТРОитель r Пакет зап . �
о " о
tъ � " O l lllli �
-1[2]
1
. .....
Таблицы
® �
Параметры вир;уальной таблиL.11:>1
1&ДатаОсrснков
1Склад &Склад
Период
1 C2J i
l noлo
L
н
1:ц
=
УслоЕ1ие
Произвольное выражение
r
�
IL
r a1i в . ),
·
--
--
------
-
® 1М
е li!I
Поле
® L
® L Партия
@ L Склад
·-
1
1 КоличествоОстзток
- -
------
-
.
-
«
1•
>
>•
ипи
НЕ
-
ДОБНО
ПО
- --
------
�
Логические опера
<
3
-
Склад - &Склад
И Номенклатура
41
.
1
•1
lllil�!i31111
в
�е•
•
-·
оменклатура
�1
D
Ари �:рметические (
и
01Мена
f-
о х
о
Копичесп
Время в ы вод а:
!
lim�
...•
ТоваровОсrспки .Количество
ТоваровОстажи .Количество
х
1
1
1•
"
1•
1 1 Справка 1
Рисунок 84
44 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
1
1•
5
1
J1
Слраека
- -
-
-
fато
�
1
1
б
- --
------
-
-
Произвольное выражение
D
�ш
Поле
@
@ L
е
®
(;!)
L
П артия
ld
L Склад
х
Арифмеn<�ческие олерато ...
Логические олераторы
<>
<
<=
>
>=
и
или
НЕ
ПОДОБНО
1=111!114111
в
Склад
И
=
&Склад
Номенклатура
В
"
""'
ИЕ РАРХИИ ( &Номе нклатура)
ОК
11
01Мена
11
Справка
Рисунок 85
Далее установим в качестве параметра группу номенклатуры (Рисунок 86).
Ко нс оль за пр осо в
[ С Обновить параметры
Добавить
х
Консоль запросов - Конфигурация (1 С:Предприятие)
Е ще
�----�
Параметр
в
с
о
о
о
ЕдиницаИзмерения
Период
о
Дата Остатков
Склад
Номенклатура
Значение
о
Шт
о
1 6.01.20 14
о
1 6.01.20 14
Склад № 2
Вентиляторы, пылесосы, кондиционеры
Рисунок 86
Выполним запрос (Рисунок 87).
Время выполнения:
Результат запроса
-
]
Время вывода: -
Но�tеНКЛ3'JУра
Вентилятор BINATONE Al�E 160вт,
Количество:
10
Колмчество0статок1
КолмчествоОстаток
90
напольны й ,
Вект-илят-ор J IРОNIС (fайв.),
Вентилятор настольный
Beкпuuro
r p око нный
Векткnятор ОРБИТА,SТЕRLNG,ЯП
Конд1tц1tонер ЕLЕКТА
20
30
1D
150
44
Рисунок 87
45 Верный старт в lC www.work-lc.ru 88002344322 Бесплатный звонок
В результате выполнения запроса, отобразились остатки на выбранную дату по
выбранному складу и по номенклатуре, которая входит в выбраНRую группу.
Гл ава 2.
2 . 1 Обз о р ко нф и гура ц и и .
К ак и в предыдущем уроке, м ы начинаем с обзора нашей конфигурации, а точнее, с
подсистем . Для дальнейшей работы необходимо скачать информационную базу, сделать это
можно по ссылке bJJp.$.J/yg,_dJ....s.k!..�J.!.b.P.c.R8.4.V.18..U..5.Qo.A.
Итак, в нашей конфигурации присутствуют следующие подсистемы ( Рисунок 8 8 ):
справочники;
склад;
продажи;
закупки.
.�
Э
i<онфИГураt.U4Я
$>li Общие
:::;.; � Подсистеr"!Ы
� СnравочНИК\11
�"" Склад
�
ПродажиИ3аК'1<nки
Общие модули
ф flapaмei-pьt сеанса
!iЩ
Рисунок 88
И меется следующий перечень справочников ( Рисунок 89):
номенклатура;
единицы измерения;
склады;
орган изации;
контрагенты .
<? till Справочн11км
(+:. ili) Номенклаr�
({>
'�'
��,
OfJ
;�·:
п
l:W ЕдwмцыИзмерения
ШJ
Складь1
ШJ Организации
tШ Контраrеtпы
n,....,..м""°'"'�·
Рисунок 89
С правочник номенклатура состоит из таких реквизитов, как ( Рисунок 90) :
единица измерения;
цена продажная ;
46 Вер н ы й старт в 1С www.work-lc.ru 88002344322 Бесплатн ый звонок
цена закупочная.
····
, _, ,
..... .. ...� " ·· --
ШJ Сnравочники
С f.11] Номенклснура
�
·::;; = Р еквизиты
�ницаИзмерения
=
UенаПродажна я
=
Цена Закуnочная
=
<�:'
UJ Табличные части
[]
\1:.3
Формы
Команды
EJ Маке101
Рисунок 90
Механизм ценообразования намеренно упрошен, дабы не перегружать лишними
деталями наш курс. Поэтому цены номенклатуры устанавливаются в каждом элементе
справоч ника.
Документы, в свою очередь, состоят из ( Рисунок 9 1 ) :
оприходование товаров;
перемещение товаров;
списание товаров;
заказ покупателя ;
реализация товаров и услуг;
поступление товаров и услуг.
•- ·
LJ Док:<менть1
23'4 Нумераторы
S После,QОвательност.и
�'
е:
е
[]
ОприходованиеТ-ов аров
С] ПеремещениеТоваров
6J Сnисание товаров
(f' !;.�! ЗаказПокуnателя
't)
т·
�!
[]
[;; ]
Реализация ТоваровУслуr
Посrif1лениеТоваровУСЛ/'Г
"'· -·
·- -
.
- - · -· - - - · ·- -
Рисунок 9 1
Первые три документа являются документами складского контура и делают движения
по двум регистрам:
товары на складах;
партии товаров.
То есть к регистру «П артии товаров » добавился регистр «Товары на складах». Он
имеет измерения: организация, склад, номенклатура и единственный ресурс - количество. У
регистра «Партии товаров» учет в разрезе организаций не ведется.
47 Верный старт в 1С www.work-lc.ru 88002344322 Беспл атн ый з вонок
Документ «Заказ покупателя » предназначен для регистрации заявок покупателя и
служит основанием
дЛЯ
документа «Реал изация товаров и услуг». Это, своего рода, документ
планирования, делает движения по регистру накопления «Заказы покупателей».
Регистр накопления «Заказы покупателей» состоит из измерений ( Рисунок 92 ):
организация;
склад;
номенклатура;
заказ.
<-··
[jj]
Закаэь1Лакуnателей
:.. �'13мерения
t._ �анизаuи11
t Склад
t... .Номенклатwа
t� �
.•
·-
1
Pectr'P'-Jbl
i
= 1!118
�
КйJ111чесТ1Ю
%рмы
Q3 Командь1
35 Макеты
Рисунок 92
Напомню, в регистрах накопления измерения являются разрезами учета.
Документ
«Поступление товаров» очень
похож
на документ
«Оприходование
товаров», он делает движения по тем же регистрам, а также по регистру «Взаиморасчеты». В
свою очередь, регистр накопления «Взаиморасчётьш состоит из измерения «Контрагент» и
ресурса «Сумма» ( Рисунок 93 ).
(;;�
!.".
Измерения
!..... Контрагент
Е; 8 Ресурсы
§ Сумма
""' Реквизиты
!Е..! '+>Ррмь1
() Команд1:>1
[JJ Макеты
Рисунок 93
Документ «Реализация товаров и услуг» делает движения по всем регистрам.
Расходные движения по регистрам : «Партии товаров», «Товары на складах », «Заказы
покупателей », «Взаиморасчеты», а также движения по оборотному регистру «Продажи ».
Регистр накопления «Продажи» состоит из измерений ( Рисунок 94) :
организация ;
склад;
48 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатный з вонок
номенклатура.
Ресурсов:
количество;
сумма.
��
!.....
Измерения
:_.
Поставщик
� Орrанизащ.1я
:: �
=
У]
t:J
[]]
:
..•
�".
О<:лад
Ноr"1енклатwа
Ресурсы
J
КоличеС'ТВо
J Сумма
Реквизиты
Формы
Командь1
Маке'!Ъ1
Рисунок 94
Рассмотрим конфигурацию в пользовательском режиме.
С верху м ы видим панель разделов, которая состоит
из
нескольких разделов.
В том числе, справочники (Рисунок 9 5 ) :
организации;
склады ;
контрагенты;
номенклатура;
един ицы изме ре ни я.
�№:mi
i[!lil!
iil:т
�
т:
- mi
Q
" №
Ш
mi
iiliil:
mi
.t
№
ш:
mi
n
oom
mrn
rn
�.:
1m
�
:::
F
m��шщw«f':::
Ш�$2* ::
:.:::;
:-:.:::�:�::w;.;:wж<x:--д �:;::--�?.:::�;::�:::m@::щ::;x:;�:
m
�::J
=
:c
m
!*
l®(
�
�
w.
r
1
-1�:$::�;z:
;,t '!
;;
�
� �
�
;-r.:..aa!ic.<0
Рисунок 9 5
Склад ( Рисунок 96):
оприходование товаров;
4 9 В е р н ы й старт в 1С www.work-lc.ru
88002344322 Бесплатный з вонок
перемещение товаров;
списание товаров;
склады;
партии товаров;
товары на складах.
О11р11ходован11е re>63JIOB
Переиещен11е "tоваров
С111<<:Е1ШIЕ! TOt>afIOll
(13'�Ы
H�M�Hl(l).TT)fpa
Парr�» rо;.:аров
Товары н з С><!!<Щ<n<
ОiЧ<'!\,/
Cepe;.i.;:.
•
•
.
.
Рисунок 96
Продажи
и
закупки ( Рисунок 9 7 ) :
заказ покупателя;
поступление товаров и услуг;
реализация товаров и услуг;
склады;
контрагенты;
номенклатура;
заказы покупателей;
продажи ;
взаиморасчеты .
50 Верн ы й старт в 1С www.work-lc.ru
88002344322 Бесплатный з вонок
!
" ,4
� �
�{." . .
... ..
. . .. ....
ш
.
Гл�ВНО€
'{),
°"
······•-'··················
*
Склад
41
.....................J ... . ......... .... .
.
. .
.
. . .. .......... ....... l.
. . .... .. ............ .. .... .
.
.
.
···· · · ··· · ·· · · · · · · · · · · · · • · · · · · · · · · ·· · · · ········· · ····· · · · · · · · · • • • ·· ····• · · · ··· · · · · ···· ······· ·· · ··· ·· ··············· ·· · · ·· · · · · · · · · · · · ·· · · · · · · · · · · · ····· · · ···· · ·· · · · ·· · · ·· · · · · · · · · · · · ·
llосrупле1-ше 1·оваrюв yc11yr
Реаш1зац�1я товщюв и ус.пуr
Склэды
Продаж11
С�рsис • ·
Рисунок 97
Кроме того, в системе введены некоторые документы .
2.2 Табл и ц ы С п равоч н и ки и Д окум е н т ы .
В этой части м ы рассмотрим таблицы справочников и документов. Сделаем мы это
при помощи консоли запросов .
Напомню, что справочники и документы, с точки зрения базы данных, являются
некими таблицами, хранящими в себе данные. Их реквизиты являются колонками этих
таблиц, или в терминах базы данных - полями. Сами элементы справочников и отдельные
документы являются строками этих таблиц или, в терминах баз данных, записями.
Табличные части есть как у справочников, так и у документов. Что это такое? С точки зрения
базы данных, это тоже таблицы, но эти таблицы не имеют объектной сущности. Что это
значит? Это значит, что они не существуют сами по себе, то есть все записи в них связаны с
каким либо «владельцем »: справочником или документом.
В ообще, говоря, о таблицах баз данн ых, м ы обязаны упомянуть такое понятие как
ключевое поле. Ключевое поле определяет уникальность записи, так как каждая запись в
базе данных должна быть уникальной. Так вот ключевым полем в таблицах 1 С для
документов и справочников является ссылка. Ссылка - это некое уникальное значение,
которое содержит уникальный идентификатор и тип значения, то есть информацию о том,
какому типу принадлежит ссылка, например, к справочнику номенклатура. Уникальный
идентификатор генерируется системой при создании объекта и затем не изменяется . Мы
51 Верн ы й ста рт в lC www.work- lc.ru
88002344322 Бесплатн ый з вонок
немного углубились в теорию, в надежде, что это поможет в дальнейшем понимании
происходящего.
Теперь же перейдем к практике: откроем консоль запросов и запустим конструктор.
Перед нами предстают все наши таблицы как объекты конфигурации, в том числе:
справочники,
документы,
регистры
накопления .
У
справочников
есть
стандартные
(обязательные) реквизиты, то есть те, которые создаются независимо от нас, это, например,
код и наименование. Есть и реквизиты, которые добавлены разработчиком ( Рисунок 98).
.
.
W
��ii�Ш8Шi*iA*
��щ�ij}2/WiiiikliЯJ
lПK�;.�
·�
.:���;17;:�<;;.:;,.c;:�;;к\;�;;;.;;�E&:��iйii�ii@Шt�&/:: :·�··:;· - �····· .......
-·��ш·;:.;�··· :.J��--- }'
��)t : .�
�" ;. �����::__:,��." .. ��-·:
:�1 а
� � ;' tq ?l "�
�W..*�
· ", .�
""
.
:.r.��-::. �. �:�.:..
t) / O
:
.-�".-№JCOO.(
- -�"" :�"'�=--.ц�-�
""' �+:\x.x �"-t<
...-
.... ;��­
�- ""�-��
"" ���, ......
М :/..М«.>У»оN�
>
J)
.;.;....:�:...
9'«......�
Рисунок 98
Теперь рассмотрим документы.
Документы также имеют некоторые обязательные реквизиты, например, номер и дата.
Кроме того, в документах мы видим табличные части, которые упоминали ранее. Документ
или справочник может иметь несколько табличных частей, которые также имеют свои
реквизиты. В табличной части обязательно есть поле «Ссылка», которое является связующим
звеном между документом или справочником и таблич·ной частью. При помощи ссылки мы
понимаем, к какому документу или справочнику относится та или иная запись. С табличной
частью мы можем работать в качестве отдельной таблицы данных, выбрав ее в качестве
источника ( Рисунок 99).
52 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатный з вонок
:
�
�
Д�Шf
4f&�·�
a;:i;W�f
;.id�i1:�tй:ffiй
bl;м}Z%:W_.w,ff.,..m«w,":.x::;::· �=:
··1���-�·�;.:;;;; ·� �·f�'l5 --��i "fР-ю����:) ; _.°���:!t.-1"��· �� . j:}f�.�- JЬ:.-ч.fJ-�1'..:i ;:_ Г�1·�_;·�
�1 $
.
. . . ... . ..... .
·- ·
..
;
;
;:;-;;;;�;;;;:;�;:;
i;·��;��;:;«�·:;;;-��:;j-·
;· ��� ���· ··
?.. ·
.
... - (::"N:>:Y.
.
- �»·�J:'"',X..".Y.
:� :.о< �;�.-:::.t�0
� <.::.,.�('о)
- =�-:-;:·:q��::t'»o•"\
«- �Jм:;;��4':3>CVe!r.�-9($�.<:
»С
:..��--
. . . ..... ".... .. . . ..... . .. ..
.
..
�.,.�'X·����:.:�··:-::· ::: .J'4ffl!1·.�......:.r..�4-�:'Т!:'<'>->•
. f!:: r....irд.�
- и�..е-
Рисунок 99
Для примера выберем все реквизиты из документа «Оприходование товаров».
Табличную часть «Товары» выбирать не будем . П осмотрим на результат запроса (Рисунок
1 00).
�шg�;;:�;;;;i&j���i#Ji;;;;:·· ·
...1�::,.� )оо:·��;�· , V�� 'f..:;� ' 11.",w��: :.. -���;.w',.A��:W
- (��УАе��
.... �-�
= f���
;r-·�:
�
- flto�JJI.�
- Г1<7«'1�)'�
��' Г9J:�,R:�"!
,�, ,,....,.���,,.,_�д..н.:>1t
".,.
,,.,
...
....
- :А.ьt·:.К�
�ш С..:!��
- !Щ:об•1:д,.�
- r�<fгУ;и�
. :�:��
�
.::iis :"
:i::•�l:�I':
Off"�cW.�r>
V.r.f.:
w �=�
�1-� {д.,;.;ж.,
- �-m.')>�-"°1'1<��.:�sttl.w (�'1))",.��
�':�� 1'-:,,...к-� :т-о:!'��·iм�<�
...., ��.�!'�°'!'("� �=-=
"-" ""='"t>OG��1� !:!"!'�
�
{
;
;
- i.Jr�..cs�::,.,;·�'!;;!S>� :w�t:i$1'<
- i)�"'-.CC���·�r:.:-:v,p� (.�•3��·-:
�
� wsы;д:G
- ��....
.
-..., ю"
!.
о ... .
1
- \)rw.cc-�:�r·:�ж�<:"1<;v.i:'
- ���,�re
(- ::" '!"�
� ;p.:")
; :w:-�
- Р<о ����
.. .. . .......
;,:ili&�&bl2&ьj��i�wd&��ti&&i�i
��
�Y:MZ:ll:Я%+!-.:tл.н�::J!t!itl
Рисунок 1 00
Консоль запросов О .1
•
Сщ·;:.�ХОJ1С�6.�?.�'IС.,� '::\ ;.Ц");:,;. . "S":'pt;':'И R'J.:.д �fiЫ)I'
••
Оп�и:хозс!н:: �•��r� �;::, 0 3 . :
;::-ме-r кl: Y°,4&.:-:e�v..., ,
C-пpv
--..: o.n-Q�e.}1Y.�т= �>-;:: os . F.::-м '!�,
О�рИ.
�DДСБ а�V.:?.Т(;..ё�р!')З . Да �6,
.
..
····c ·:·· ka.L�•• "...... ·
"1'
2
. . . . ._ ,
-�
· · ·1Ве�:.lnOМe!UvдaneЮ.• !на.- · .""J:Ц.18
•
•
�ХQ/!ОЫ""" т°""""" 0000:-С-001 от
01 .01 201 ' 0'00:00
Or..ptcJCcдc��e тсварое �2 iЛ"
1 s.01 .2g1� 12.00:00
��ХОДоеэнt.'!- тое,яюе 0000.3
00 ОТ
�1 .01 .lо:н 11· se.:40
ААА/>.АО�ААА Ht!'!
А•
�AAOAPAIJ. Hr.
Е•
� -------
•
6
; .
$
"......."..."............Ji'iiIO�iiё>IJOi>ПiНМ>OЦiiO············
GOOG01
000
01 .01 2:)14 С· ОО:ОО
�OOOOJ
31 .01 .z:Jl• H·S'.;40
1 S.01 .201' 1�:00:00
ДI
д•
До
..
. . .. .
-----------------------------------------------------
Рисунок 1 0 1
:
1
1:
�·
)
1
·
;.·
Теперь вместо документа «Оприходование товаров » выберем табличную часть
«Товары ».
Посмотрим на содержимое табличных частей всех документов ( Рисунок 1 02- 1 03 ).
53 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатн ый з вонок
--------- ·-··········
'-JJ t> ,;> () ; � '%-
н�
� t�-w Х,.:;;..:;'>:
' ,, '-' W!K4Ц.W!:�
: :��...,"
= !:.е.:Х»�%
- ikf'.ot-:X�"i��
.?..1
·Q
" �":.�""''!t.!'�1���-.:.a
- �":: � :t '!�'Т �w,;;ь �;..�/.
- :r.;..-.�-:;nыr
: -м!и"*"X'J51:7!.. o:��r�'lr!!'"....":
- :.r.��":
..v
;l}Uf)CJii�.!.� N"'Not·��:'-"!C
- ��':'v.�1-a!-.:+c. :)̕JJ
Рисунок 1 02
<··
Урок № 1
Elffi�д·;.·�
i
)пp и.x �zCt ea.��T.:>:a�pc�Ics�_p-:iт . C ::.1:.0...v:::� � ,
Cмp.i>!�G-;:xc!Se.P.'Иi::"!'!)�apc!:Tc:�ap.ь;,. . н.��рС-rрс:К.\о{t
On ;::иxe: ;.l."; l':�B:.r.e 'I o.r. :'tr.-c !! �C: � e ;N . H��t.t'!"-"?�!Z'-)'-;':�"
Оп�;::Р.х
·::..ао!! а.м.;..:е: 'I JJ5apc5!" с &ер� . К:::.rэг-1ес':' ас-�
Cщэa,c:i;csa�e:To�:e.pGe"!"GeJJ.-;;.ь<. . �=-t�
--
/f:�,��� �@::;
� ;�:-�_
----
- -----··- ····
-··-
......................... .. ... . ............
.
Рз�'!·r:�тзт 1anpoc.a
r·····-----:
Cr-f*-mдPea1tыe "Тсеарое �00000001 m-
01 .01 .2G1 4 G.00.GG
Сr.�хсд�анuе тсеарсе ЗOOOGOG01
01.01 .20 1 4 0:00.ОС
Оr.рюс:с;.сеа"11е Ttieapce. Q0000000 1
01 01 :<он о:со·ос
ст
GТ
0f!�'4�'ХйДО.65ННе ТСf!аров 000000001 С1'"
01 01 201• о:оо·сс
Cr�<:.�c�aиue тces�e �00000001 ст
01 .01 2С1 н·со·оо
Оr.рихСА<:еаные тоеарсе G00000002 ат
15.01 :?014 12·00 00
1 S...Тt<Г...тср ЭW..ТONE ALPl/if 1€Сет.
�anor.ыtЫii .
� �r.ятср ОFБ;.!ТА.SТЕМ!.t.'G,,IШ.
:ю
9G
150
10
90
100
Оr.�·�:од<::еание тсеарое :ЗООООООО2 ст
1�01 2.C:1J1 ·1 2'"сс се
З2
sooa.:юl
195 000.00
1
1
no-з,ool
1 1 1 000.00
so
· �:ю.
1
.юl
\
ooo,ooj
бо гоо.!Узj
111 ооом
40
1
'
1
Рисунок 1 03
2. 3 Г руп п и ровки.
В этой части поговорим о группировке в запросах . Для этого немного изменим текст
запроса. У берем поля «ссылка>> и «номер строки», вьшолним запрос. В идим информацию
обо всей когда-либо оприходованной номенклатуре. пр·и этом информация об одной и той
же номенклатуре может встречаться не один раз, что вполне естественно, так как одна и та
же номенклатура могла быть оприходована в разных документах в разное время.
54 Верный старт в 1С www.work-lc.ru
88002344322 Беспл атный з вонок
ТЗРt!�у;о ыата
.
.. ............
................. ............
···························
Н8 000.0Q
Ксщд1щ11ооер ЕLЕКТА
&.!нп1пr1ор насrольныii
6<!нri.r.Fro�
811-<ATONE A.lP!NE
30
1б0вr. наnо .
90
150
8вю·;,rщор OPБИ1ASTERLING,ЯП
Ввнrмгrr.rор око�ный
90
B€!11t1<n-rtop JIPONIC {Тш<о ),
&..нтипятор OP611fA.S1ERLING Яil.
100
6<!нrипяrор JIPC>NIC (Таi1в.},
8.внrш'.F.fОР
32
�ас1оnьный
Вент�л?.тор BINATONE ALPiNE 160вr,
Коодицион..-р ELEIOf>.
6<!НТ1!1'.ЯОР 01(()ННЫЙ
Вeн n�r.FroP JIPШ�IC
напо .
.
(l"aiiв.).
9 000.0G
117
ООО . О(!
(iO 000 .00
4 000.00
1 7 1 000.0()
40
000,0G
SO 800.!Ю
40
i2 IJOO.!!O
94
122 200.0(i
2()
go OUO,OU
15
; 000,(i{)
80
1 52 UOO.IIO
1
1
.'
1
Рисунок 1 04
А что, если нам необходимо получить итоговую и нформацию по каждой позиции?
Как нам этого добиться? Это и есть группировка в запросе. Для этого в консоли запросов
существует специальная закладка, где указываются групповые и сум м ируемые поля, по
которым будет вычислена сумма или другая агрегатная функция, например, максимум.
Агрегатные функции - это такие функции, которые принимают на вход множество
различных значений и выдают одно результирующее значен ие . Мы часто пользуемся
агрегатными функциями в жизни, не подозревая об этом. В общем, если б Остап узнал, что
он играет такие мудреные партии и сталкивается с такой испытанной защитой, он крайне бы
удивился.
П римеры агрегатных функций:
минимум ;
м аксимум ;
количество ( количество записей);
среднее;
количество различных (количество различных записей).
В нашем случае необходима итоговая информация по сумме и количеству, поэтому
нам требуется вычислить сумму при группировке.
Откроем конструктор запросов, перейдем на вкладку «Группировка», в качестве
группового поля укажем номенклатуру, а в качестве сумм ируем ых полей укажем количество
и сумму. Для выбора группового поля достаточно дважды щелкнугь по нему левой кнопкой
м ыши,
для
выбора сумм ируемого поля необходимо выделить его и нажать кнопку переноса
напротив соответствующего раздела ( Рисунок 1 05 - 1 06).
55 Верный ста рт в lC www.work-lc.ru
88002344322 Беспл атный з вонок
: t?..,�
-�-·
: � ;:'
fj�!Ш#11kШ.ЩЖl1tftМ8·····
.....,. Оt�Ж«·;);�-+* ::�·ж l� )(.;)�-�f&.:>
- f:.:!'!: ;;:-:r;i:;
' ,:
�..
Рисунок 1 05
, .. :.с;;;
:.�
7.:.;,:,•,·;,,, , ..
.
"�
� (}.;.,�:11:
r��'l"'�-.-X•A �.:.. ?:��f..: ... ,.�
?
J'
/�.:��
. i(�����
���-��;�.t;• . ��----�-�..; :J·��!°P.'?!'!��J!-?
. ... .
;_ �·:.
��':. ��
�
м ��� -=-::s)p08Ta11�.��r.-;;�
. .. "...
··········-······ · ··
.....
··-·
"" {���"!'��"'!'{Ц",,,.. ?"W.�г.>N
.
.•.у
·���11:':�1�.t�"
Рисунок 1 06
Посмотрим, как изменился текст запроса. В нем появились новые ключевые слова
«Сумма» и «Сгруппировать по » (Рисунок 1 07 ) .
5 6 В е р н ы й старт в lC www.wo rk-lc.ru
88002344322 Бесплатный звонок
ВЫБРАТЬ
Оn:рих .о до!! а.r..и еТоs.аро sТоЕары . Номе.н:кда'!'·ура ,
С.r11МА ( Оnриход::::ш а .ниеТов .аро вТо вары . Ко.m1Ч:ество )
из
СУИНА ( Оприхадоваw....: е То .варо· .<й о в ары . Суt-!:Ма )
.:КАК .Кслич.е ст.в о ,
КАК Сумиа
Доку"Ме н. т . Оnри.х одов ан.иеТоваров . Т ов.ары КА!':: Оприходов а.пиеТ ов аровТ а вары.
СГ РУШIИРОВА1Ъ ПО
Оприходов аЕие Т о в арс в'! о в.ары . Н о не ю
"
..латура
Рисунок 1 07
Ключевое слово «Сумма» является агрегатной функцией языка запросов и в качестве
параметров принимает поле, которое требуется суммировать. Поэтому после слова «Сумма»
поле заключено в скобки, а ключевое слово «Сгруппировать по» предшествует списку
.
групповых полей. В нашем сл учае групповое поле одно, но их может быть несколько.
Каков же результат выполнения запроса? М ы видим, что повторяю щих ся строк не
стало, а значения сумм ы и количества для одной и той же номенклатуры сум м ировались .
Общее количество строк уменьшилось (Рисунок 1 08 ) .
Резул ьrа1 з.ащюса
i=l
[Т.] • r--1
"".
?
З
"".
�
··-·
65
···-
;
:
c.i:.J
7
!
·О
:
Конд1щ11о1>нер ЕLЕКТА
Вентиr.<ЯТор .настольныi!
i
!
-�:
\'
2
з
нкпа
а
Но
м
е·у�---; · к
толм че-с т во
р
Ве1пиr.<ЯТор BINATONE .A.LP!!iE 160вт,
1t81ЮЛЬНЫК ,
Вентипятор ОР5ИТА,SТЕRUNG,ЯП.
Вентилятор ·1жон11•ы1'i
8-.гнтиnятор JIPOl'<IC (Тзйе..}.
\сум"1а
!
4
оо:;,оо!
t
488
34 200.00 1
267 вм . аа :
1
104
114
200:
2&()
8.S
202
1 12
OOGi,t!O!
...
i
34 000.aol
2<83 800, 00
;
Рисунок 1 08
Необходимо отметить, что группировка важна только
для
реальных таблиц. В
виртуальных таблицах все данные уже сгруппированы, поэтом у груп пировать их не имеет
особого смысла. Сгрупп ированы они, конечно же, по измерениям .
Для при мера сделаем запрос к реальной таблице регистра накопления «Товары на
складах » ( Рисунок 1 09- 1 1 0).
�№\
� а.� ::r,r�
..{A�{i
·�
. .J �"«.�IW
� Г�д:�Н.�<4'�:;
· �. uШtt!·�xi!
·
"
�
:4: !Ьs�.:�эх:.эбюс>тс1
-.r:: !м�ff.!'..-y,�� :)"';1JJ�·
:1 1�.°"".,.;t�"r�_,. :X.nt"XY.t��
�':
"' Li
•1
: �·
=-:�'":S"'t):fio<Y.r.�t'
•и
r":t:µ.•J::S
� . rм.�":<Ь��:<;���' ��s-:•Ci!"'>�
# ·r(':�=�v.��� .-::-::\."�:'i"-<'
- ���1!)
m [t<,�.,a�,
.. ; � :]r,-8'0:'.��f;
r�o�1·�·�oe.<�·"'
.
::-:
11.�•.-iT!'�� O::"':':<m<.'1•
� :,� :�3'"....�·(:,:��-i}:;:!nttc���:ь­
J 3.w.i0-,.,.;JЬ.;.'.��
:- L� •��t;���
-i:
5 7 Верный старт в lC www.work-lc.ru
Рисунок 1 09
88002344322 Беспл атн ый з вонок
P�'Ynыar zanpoca
1SG1211
:::: ::::::::::::::::::::::::::::::;:::::::::::::::::::::::::::::::::.:::_�[,-11оt.1е
_
_
-...
! ··1·-·�
!--1·-�1с::шц
. __н_см
__
_
:::.:::.:::.
..-.--.�
-- cnso
-�-_�
]�,Коп..
_
1УР4
_
_
_
_
.
•
С.г.ад № 1
6e>m1nJП<>;> •ы:тс:nькьоli
С.и,ад № 1
Ко?!ДIЩ•О•. •Р шкr...
Serrr$!ru:rтOp OKOtmbli
С'х.ло.;� № 1
5
С.U.4Д N2 1
8ettn.-nJfTG P <ЖOhW:ii'4:
С.и,ад № 1
Е";ш
u
>
llТЩ: B�iAIONf AU'flf
наnаnоныU .
С.г.ад № 1
Ее><rшmтор JIPШIC
160!;.,.,
(Тaiie ).
��,n-�c.p оу,с�wм
;��J.Ю.M №.J�-----·---"--- Peкn.i:nstrGP
С."П'.а.ц № 1
и.e.cronoнwM
'· t·;;·; ад·1�г
�г ·----····"··-···--"-----· · ·"'е.,,.nнтт ср Ol'БИТ"'-STTRl.ltlG.ЯП
Кйкщ!'�•О•1'Р fLfl<rА
Со:пад № 1
Ee-><r•ruoтop BlliAТONf ALFl!iE 150е.,.,
ttanCПbltblli .
С<n6Д № 2
i:.maд № 2
Ee+f'JltmrтOp JPONC
C<r.e,:i i'IE 2
С <г.од № 2
Ее:fТ�..nатор otl'omt��
Си,ад № 2
Ко;,д1щио>.ер fLfl<ТA
С.г.ад № 2
Ec,.,.IO\RT<>p BfiATOtJE AJ.Pl<E 150е;-,
каnсльныii .
бе+mнurтор .J�NC (Тatis }.
Ee!1nl..МТt:.p на=таnьный
С<Г,;д �:; 1
" EerfПtruпc.p O:fl'CMЬI"
1
n
шятор ОРЬИТ:,, SТЕRLl'/G.ЯП
е...
КйНД!ЩИОt<ер fi.f.l<ТA
C<r.a;i № 1
С<Г,ад № 1
&:rПкnRTO.P Н4СТСn�нык
C<r.a,:i № 1
C.wr.aд № 1
f'.r'r:"-1t № 1
}.
Ее•mшJПор ОРЬИТ SТERLIIO.ЯП
Си.ад № 1
C·1Y1oд t'i:f
aits
Sе�.лятt:р w&стоnьн:ый
С<г.е,:� № 1
_
Теперь сгрупп ируем
Веttnшятор ньстсnьмыU
1"fl!fl,;.8'Jt� "�Н.д !:?j)""
Рисунок 1 1 0
их
1
1
0С
1G
SG1
1
�1
!
1
�1
1е
�.с
1
:!.21
4С 1
1
2с!
151
100 1
221
4�1
so '
�1:.
�.
за'
, 11
1�!
по складу и номенклатуре. Это значит, что данные будуr
сгрупп ированы по номенклатуре для каждого склада ( Рисунок 1 1 1 - 1 1 2 ).
'
'"
""
оm""'""'""""'
" """""'
"'
""
.'···��
а
��
�
);;;:
М;.
}
;-Мv
н;.:m;;;;rд�;.-::;;.;;;.; »,�-ж4�, .н;;;:;;:�:;,:х.:..-;,..,...w
..
:
м
�
t#
�
1
��
-;��;:э:
�;х:..;.�
::: !.�'h.&>: �,.:i� :. гг�;;;; �:���·-· � ! .'.r"--��:"� :)::
�
�'&1'�() :.����i ��-) r:iI01�� .�. .. .�t:� . · ���· ": ...: �
�r.� ·-
··;:·: " ·. . ;·�.-.!��·� �����
�:
о
.:?.]
.
:..
:��:w.:..·,�� Oi'n..�
:���w.ж
� '��a.t�l(.�.::=c !<.;:-..::s)
Рисунок 1 1 1
58 Вер н ы й старт в 1С www.work-lc.ru
88002344322 Бесплатный з вонок
; �>"'(l.;,00:.Qo
�о)'ЦЩ
Резуr1ыат запроса
-
: с�=:�з.-
.-..-..-..-.-. .
4�=���:1121
::г.
'
-.
. ... .
.
.
... � . c ){.��Д.№
..i�--�-. ,�...-.���. .. .-...-............·
-в.�t;<'
,fln
-, �
p
...-....-....-...-....�·..Скмд № 1
В-е,нт11n·�ср BINA.TOt�'E ALPINE 160!!,Т,
>tВПШ�ЫtЫМ ,
J
;
г· ·�;··· · ·: С«лад № 1
Вe-.НTllЛ$1-rt:p J!l'OtH:; (Тait!!>. ),
-
1=7. J :: : ;
�==:: �:.���s:
����·:�т
t<;nonькыtl ,
' .
'
1! 5 [ .
1 J,[�...".1.��"�. 1.�.·-�-Q11,a,':��....-�-----------.w�"'"�-...и;i.;;!'�J!��
;n.��
Мdi�;!ololl»!liD<
tl�.
< :�';���
� .· .
1 : ··. i1·�.:::,i·.
i. .:!.� .l
1
�...
№
Склад № 2
i __ ... .
Смад
N!Z 2.з
Скn-ад №
Скn� № 1
.
...
""""""
,.....
B�м�rн19 JIPON1C (Та�11.).
з
2 _,.
ц.
i------------... ,_,
•
2
.
12 .
!
1
1=1
i
j
. .:.
��141
"170
\
201
.....,
1 00
Ben<Иl!Jr<� OPБИTA,SТERLING,Яn
_..
К1'.нд1щ11�<tj) Е LЕКТА
_,,
Вент11Л$1Тt::р н11с:топ�.ны1"\
"""'
Тепев'1$� •sндRР"
_.,
Рисунок l 1 2
...,,.
s1
2&1
..,.,
М ы видим, что одна и та же позиция сгруппирована и для склада №2, и для склада
,....,
._,
NоЗ , так как группировка задана по складу и номенклатуре.
Теперь повторим то же самое с виртуальной таблицей остатки. Груп пировку, при
этом, вьmолнять не станем ( Рисунок 1 1 3 - 1 1 4).
-=­
· ·
-· �
���
;,:,
:№
'-'·" �
· · WJE
Ш!$1;#&4!4%ii!iШ#JЖйiillliliйй:Ъ#iii;;,;"',"'�"'"'"'";""'' '· ·'""'""'''''""""'"""°'""
.·· ;·.:;;;�� �;�···�_(;-Vf��� ··
·
У�
�
�
�..м. Г�«<
������
�is;�� ;;�--
�": ��,;.х
· "� �
;"},_
.7; ::°J .5��
;;.· �� "�ж:::µ,:�#"'J�··
!'! �
.
.� � ..� .*.! ..
·:��=
.
(:?
.
_
;:. . w�
�
................................................ ..
.
.
.....
tд:M1&1S&t1
�" ��:-:�.-)�
:
....
_..
� ·5:····-�
•
r x
.
:
6 _,
:· ·· .........
�···
8
Сr.лад № 2
.
9
! {_}
····-�·s=-1
j
С1111ад № 1
Смад N! 1
Сr.лад № 1
Сl\/1&Д № 1
,_.
№2
см�№ 2
Сr.лад
Скn<!д № 2
С<nад N> 2
См&Д № 2
Сr.лад №
1
см.ад N! 1
Гi7 о Cr41мNj3
� 1� � ....
16
:
�
�
·
�
�·
-"
С<nад № 1
....
....
. ....
....
. ....
. ....
. ....
....
. ....
. ....
.
.,
п1щ1!!1�ыв.1�-ш�
·
��ш-�!2
16
._.
· tiancitbll"u ,
....
Склад № 1
....3
Рисунок 1 1 3
.....
.....
Ре1улнаr .10лроса
:___ T��:Ч.<;o:."-'tt,�t1.:;::s:->tJ4 :���:-fn'l�� · �r
�.i.t�..:i-:.:чbl.k:��
x � rx...-м
...
.....
.....
.....
.....
.....
5е1m•л,,,тор JFONК:
"
..................................................................... .. ......... . . ...... .
о
.......'.".....о
,.
�.
з
(Таi\1>.}.
SetfТl.!n�ap кастольныit
Б-еtr.'"ИЛГ.� OICOН:ttblй
....
. ....
. ....
. ....
. .....
..... ........
....
5ент•ЛР·Т<>р ОРБИТА,SТ!'RШЮ,ЯЛ .
Ko"д!Щl>Ottep ЕlfКТА
5еt<Н<Л!П<>р ёtiA.TONE ALPtlE ·\6� .
Н8ЛОПЫ1Ыt1 )
..
Веп•
t шпор JIPON<C (Тайе..),
S•""" ""'�f на1:1ол�ныИ
B<>w.M,...<>P or.01<1<ыli
В.1'1'•ЛР'!'<>Р ОРБИТА,SТЕ!ШtЮ,ЯЛ.
KD"IUЩl>Ottep ЕLЕКТА
С1ИНОЛ IC1
теnее."!ср "NC"'"
sешn&свnеs1ялныn
Teл..,tUop ·sнARP"
219
17С
i
1
1ао1
18С 1
111I
э32� 1
�о
1S1I
201
100 1
1s !
22 1
§1
25 1
1
Рисунок 1 1 4
Как видим, результат такой же.
2 .4 Ит о г и в з а п росе.
В данной части нам предстоит узнать об итогах в запросе.
Вот ведь, скажете вы, группировки то мы только что рассмотрели, и там были
итоговые записи, а здесь что? Ну, скажем так, вы почти правы. Итоги отличаются от
59 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатный звонок
группировки только тем, что появляется дополнительная строка с итогам и по выбранным
группировочным полям, то есть разница с группировками состоит только в том, что
группировки «сворачивают» строки (уменьшают их количество) с одинаковыми групповыми
полями, а итоги добавляют итоговую строку по груnпировочным полям, при этом, если
группировку не применять, то строки могут повторяться, но появятся дополнительные
строки с итогам и . Звучит, может и не очень понятно, поэтому, к делу - рассмотрим все на
картинках .
Предлагаю н ичего не менять в нашем запросе, а лишь добавить итоги по складу, то
есть «склад» будет группировочным полем, а итоговым полем будет «количество» ( Рисунок
1 1 5).
. �����,��
. ...У
�
- ��-;,.3
. .. ..................... .......
..�......
. . .....
. .......... -- ( � ��:�� l." � .
:f'�:'Y)�
.....�-���--�---���!.��"
.....................
�
�
�:?.
�
х
,
щ
щ
«
щ
�·
�
;.
;.
«:
:;
-·:·/и
.:
::
:?
ц}
=-%;..'��
:
и
��
�
:����::�::��
�
ш
1
?
::.W
;
;;.:ы�
Ш
:�
�
�
й
�
W"
;;
. �,
;;,,
н
�
.д::
..l
U
kт.:··�
··1·>
·
�
ш:
1
1
;1
�
�
�?,;�
��:�-·'i'f(z=·,:��1-+ш:�t"�i��lP��t:fut#&I::�i�§tii>�,
.
f�f�
...,. ��fi:tt .,,." r��
. <xr
�
·
�;;
:
;
····
.·.
�
: ���n;;.�i,
..
·
. .·
��.
·
·
··
··
·
·
i.= �
···
- 1 : =-- и '
· · · ··
···
·
· ·
· · · ···· · ··· · . . . .
·
·
r� иmr::.
· ·········.•·····-
0 1 � ���:..� :;:...
� f'�д""So.�
�)'�
....��:n.,
':'\
�:.w..}
·
· ·
·
·}'��;�
·
. 't
.
·· ·
·
· ·········-···-�······· �··· · · · · · . . . . . . . .
·
· ·
·
···· ···
·
······· · ·
-···-·-·····
·-
�;·
!
..... .
Рисунок 1 1 5
Посмотрим, как изменился запрос ( Рисунок 1 1 6).
Текст 1anpoca
/1>-
.......
f3ь;n::1нн1нь зап�юс
ВЫБРАТЬ
_;
Тс:sарьиiаСу._<!.а:дахОстатКУ. . С У
.
•
д з д КАК с·клад,
! :':: IS8рыН �С�-�ада:хОст.�тк:и . Ноне·3кл� �rpa ,
Тс а ар ы...Ч аС ю-: ад ахОс � ат�� . Кол* ч е Gт � СО ста�ок К.��: Коп*чеGтв�Сста�о�
из
rю
•
•
jf"f*j' .
Рисунок 1 1 6
Можем увидеть, что появилась новая секция - «Итоги ». Обратите внимание, что
после слова «Итоги» сначала перечисляются агрегатные функции с полям и, в качестве
60 Верный старт в 1С www.work- lc.ru
88002344322 Бесплатный звонок
параметров, а затем ключевое слово «По », после которого через запятую перечисляются
группировочные поля. Отметим, что после последнего поля запятая не ставится .
Теперь посмотрим, чем отличается результата выполнения запроса от прежнего
( Рисунок 1 1 7).
Резуnыат запроса
···- ····-·····-···
.... .. .
.
·-····
но"еносмтура
4
···- ·- ·- · · ·· · ·
Koл...cnio()cn
..,
rott
м.еттсль.�;� .
6Е'М'Т$САRrор JIPONIC rftt� .),
Cmaд t-..(0 1
BEtnt!AltГOP OKOttl"!:"ati°1
Cmiщ NO
<:-mад
1
№1
С<ЛаД № 1
Beнтi�mrr-op каст�n:ьн.ыii·
�19
Вентмятор ОРбИfА.SТТ.1<1.r
. ю.яn.
1&1·
221� •
1111
Кондж�иа.нер Et.rкrA
Сmад № 1
Ст!Щ № 1
Cma.w. tJ! 1
_С11t118Д № 2
сrинол 1)1
Тenee-�oop •NC"
1 ...:- 1
<SI
301i
Тenea>tЮp "S!iARP'
В•wтю>0rор BtlAT0/41:
наnсnь�'4- .
g41
з2
� 11
1001
All'INE \6Cf!T,
1
Be..-rRnятop JIPЩIК: (Т&'1t;..}.
Сrл!Щ № 2
BEНТtc.J'tRTOp Н8СТО/1:Ь:ttЬ1й.
Сmад № 2
1 �-
8еюt.1·nя'f-Ор оmн..:ый
Скл�щ N• 2
Сuщ № 2
1 1c l
1 в�1
112
Be..-rv.n..тop Bl-lдIONE ALFl!-1!: 150гr.
Сmед № 1
5
BEНТKJtllТDp ОРБ.ИТА. SТЕR!.. tЮ,ЯП.
:ro
Ксн,<Uщ•о�щ> ЕLЕ.КТА
51
5
Рисунок 1 1 7
Стрелочкам и
и
подчеркиван ием
показаны
итоговые
те
строки
самые
дополнительные строки, о которых мы говорили ранее. Итоги выведены по каждому складу.
В графе «КоличествоОстатою> отражена сумм а всех товаров, которые имеются на складе по
количеству. Графа «Номенклатура» не заполнена, так как номенклатура не является
сум мируемым, н и группировочным полем . В этом поле значение равно NULL
-
ни
это особое
значение, которое обозначает н ичего, пустоту, то есть NULL не равен ни нулю, ни пустой
ссылке, ни пустой строке, ни чему бы то ни бьшо.
Теперь немного изменим наш запрос и выведем итоги по номенклатуре.
Для этого откроем конструктор запроса и перейдем на закладку «Итоги ». Далее
удали м итоговое поле «Склад», а вместо него перенесем поле «Номенклатура» ( Рисунок
1 1 8 ).
6 1 Верный старт в lC www.work- lc.ru
88002344322 Бесплатн ый з вонок
·· ··
:
-
�
·
�r��·:""ll::CX:' .:"k,x..
•1:ш:!,1ml'ffl!ffм
:'';�" ...r'
.,(.'I
........ .
· · - · · · ·· · · · · · · ·
· ··· ·······- ··············- ·
� :"� )'$(�.;ф
1-f�#f"·- ��:Ьt
t
····-----------
fi�-;:.;.;" �м:�c�
Ыч+тг..�д-�г-м+· >Фе;в;.
1
ш:·;с:.-�н���·�-..:1�:........,.,J
����
,,
Рисунок 1 1 8
Итак, м ы получили итоги по номенклатуре на всех складах ( Рисунок 1 1 9 ).
T:?J=ie:зyr:ьra : �i
..
Стрелками укаэа�iЫ итого вые строки
В...Тм"mр ВIНАТОNЕ Al.PIN ..
1<4
8ё:-1ншятор JIPONtC (Тзйз },
122
(Tal\e.1,
Зl
S::-_.1 "11sirop JIPOf'J�C
С•J<"д N• '
С><r.ад № 2
t•»<tиn"1np Jl?ONIC
(fё.>1а },
�(?
c;J
�-о
1
220
3&
40
1i'()
135
.
Рисунок 1 1 9
Что м ы можем сделать с информацией, в которой есть итоги? Дело в том, что при
программ ной работе с запросом мы можем получить табn ицу значений. Она является как бы
" плоской", одноуровневой, то есть строку с итогами м ы не сможем отличить от строки
детальной записи.
2.5 К оп ирова н и е т екст а з а п роса.
Эта часть призвана научить вас, дорогие ч итатели, такому приему разработки, как
копирование текста запроса.
Текст запроса можно копировать прямо из конструктора запроса и вставлять в
конструктор запроса. Зачем это нужно, спросите вы? Затем, что когда м ы ведем разработку,
62 Верный старт в lC www.work-lc.ru
88002344322 Бесплатный з вонок
то зачастую работаем с запросом во встроен ном языке, а отладку запроса производим в
консоли запросов в режиме « l С : Предприятие».
Вы уже видели ранее, что в коде текст запроса оформлен как строка и снабжен
сим волами переноса строки ( Рисунок 1 20).
Эапрос "" Ноаl>1Й Ззnрос;
запрос.текст = "ВЫбРАТh
-� Номенклатура .на�1ме•ювание,
� 1 HOME!Nl(J'J<;rtypa. Koд,
1 Номенматура. Ещ1ницаИамерения
! ИЗ
1 С11раеочни1<.Номе'"'клатура КАК Номенклатура
I ГДЕ'
1 Ном енк11атура :�j/:!}1н�щаИ:змерения
Рисунок 1 20
Благодаря этим символ�1м , взять текст запроса
"::' &Единицаизм�р·ения•
из
;
консоли и прямиком вставить его в
программный код, не получится . Его придется дополнительно редактировать, что может
сказаться на удобстве и производительности.
Откройте конфигуратор и посмотрите на отчет «ОстаткиТоваровНаСкладах ». Это
своего рода шаблон, в котором есть макет табличного документа для вьmода отчета и форма
самого отчета.
Весь код отчета располагается в модуле
формы.
Обратите вниман ие, что в
программ ном коде нет текста запроса ( Рисунок 1 2 1 ).
�1H 3:(Лvt"'f?.H:e
�) Процедура Сформировать(Ко�ында)
!
!
9
;.�'
,,
:j
,
1
.!,,.
hР�Jцедура
&НаС�рвереЕ-езКо;н е ксrа
Сфор"'1ироватьНаСервере(Та6Док,НачПер11ода, КонПериода,Склад,Ноr�енклатура)
Макет
= Отчетъ 1. Остаrк11ТоваровНаСкладахлолучи-тьМакет{"Макет•);
ОбластьШапка
= Макет . ПолучитьОбласть("Шапка");
ОСластьОрганизаци�
область.Склад
"' Макет.Поr.учить06пасrь{'Орган11зац11я');
"' Макет .Получ11тъОбласть("О<лад");
ОбластьНоменклаrура '" Макет.По,1учитьОбласrь('Строка") ;
ТабДок. очистить();
Т абДок. Во1вести(О6,,<ктьШапка) ,
i.....
L
Q
'
Запрос "
Hoei:.:V.
Запрос;
Запрос. Установl'тьПараметр('НачПериода', НачПериода};
Запрос. Устаное�пъПараметр( •конnериода",К.онПер110да } :
Запрос.Текст = " ;
l{<::жеuflроцедуры
"
• • • . • • • . . . . . . .. . . . . . .• . . .. . . .. ... • . . . . . . . . . . . . • �;:
Рисунок 1 2 1
63 Верный старт в lC www.work-lc. ru
88002344322 Бесплатный звонок
М ы план ируем скопировать его туда из консоли запросов.
Сначала в консоли запросов немного изменим запрос, с которым мы работали в
предыдущей части : добавим поле «Организация» в выходные поля нашего запроса,
установим параметр периода получения остатков (&ДатаОстатка) для виртуальной таблицы.,
для поля «КоличествоОстаток » установим псевдоним «Количество » (Рисунок 1 22 ) .
· · : �r mд/\)
.;._ ��·�. .
!�«!Моr.:�
"\r.":1(;f�г.��.Д\1о
•
о ; о
•
?."
: .. ?..
·lc::����-==��
'"'""""
:
г:: :
Рисунок 1 22
::
г
· :: Нt!!!!У$й;,.мш1m ·
�" Т114!
ю.�.k/..-�:.): �� ..,.
�<;:"�
� f.xr.:цa;."�..-•nut IC'")::t.-.
r .::1IOC>:.�12'"0'Y.
1
Теперь попробуем скопировать запрос из консоли.
Для этого в конструкторе запроса нажмем на кнопку «Запрос». Перед нам и откроется
о кно с текстом
запроса, который м ы можем скопировать, а если
нажмем кнопку
редактирования, то и редактировать (Рисунок 1 23 ) .
���;�:�;i&iiйtfi::· :.;.:;Jii�tii==dki�-:�-��:.:���:��::�::_�:·:·�::;�::;���.�:·:�::� · :-��:�.:.::·:_ ·:�:··-�·:�.:.�:.::;:;:.:;:.���
�&n�:.;;;����SЮЬЬ�Ш!Щ
· · ··· · · · - ·;_:_ r"�!�_-_:1.�- -�"'i���-- · - 4:�����- ···-�-����:����-/.. : ..���?i.:":_ ;_ . .,·.-�i�.". :
.
·)
..
t?. �a ; О · �
"J iJ�ee:�;m,1�
r���
�·�1 :;i•):.,;.C'I-... ��
: �· ; );::'\ov»·::.�Oo".<
.,..., :�3 (';�у��
*- - · � Cl.:«_�,,.;
tt•?t�.;
·
;!..,
�/;}ff
� -�; ·:�.w.�i�:..0..,,"ц"v OM:�н>t
..
,, Щ$$tЮМ&В
это кнопка редактирова ния
;�жocQ.y�,c�;;·
: � :: �.-·тr�п��
; ...:Jт!!ЧА!+m:i:1
}
. .. :�.
и
.• -:-.;
!'
'OOl :i.1(111 �::.�f.'"�:•-.1�x"�-1-::: ;-..-.;,x
j �-�-e��ic:-...м*.'-:..-..f)!;" •c.�:�'-:"'".I).,.,.
сохранен и я изr-денени й
1
1
�
t
1
1
1
�
�
tL.....
2
�
�
. �!
..
. . . ... ,. ............
�
1
1
..
1
. . ............; ...........� ,;..;�....
1
/
1
64 Верный старт в lC www.work-lc.ru
1
j
!
f
Рисунок 1 23
88002344322 Бесплатный з вонок
1
.f
.�
· '
В ыделяем текст запроса и копируем его (сочетание клавиш ctrl+C) . Далее переходим в
конфигуратор, позиционируемся в строке присвоения текста запросу ( Рисунок 1 24).
- -· · г -
- · -
-·
-·
· - - ·
Запрос.Текст
=
1' ;
· · - - · -г
Рисунок 1 24
В ызываем из контекстного меню «Конструктор запроса». Затем в том же порядке
нажимаем кнопку «Запрос», кнопку редактирования, вставляем наш текст из буфера, еще раз
нажимаем кнопку редактирования, соглашаемся с внесенными изменениями и нажим аем
«0к». Запрос в программ ном коде оформлен (Рисунок 1 2 5- 1 26).
,
-
1
,-!О•-'-· 1
'��:�'
(."!,� ...:.:
(,:''"�-
:��
1
, .1
�.;;
�>
______
·
'
·';
____ , ____ _
"" .. ;::-.... :;.· .. . :·:-;•:. :;-;:.:-:·:-":-;
;
�
-�� ::::::·::::=�� ���",. 1
*..
:?(
�
�.�
� ��; �� -�- . .
Хонст::r� �4Ж tt� v��:t�
.;cY. ..
n�"·-· -
;.:.:::.;:.
- --- ··-�·· ..
Рисунок 1 2 5
ВЫБРАТЬ
ТоsарыНаСкладахоста•ки.Орrаниза�я,
Товар-ыНаСкладахОста;ки.Склад,
ТоварыНаСУ.ладахОст а тки.Но-МЕНJ(Латура КАК Номенкпатура,
Тозарь1НаСкладахоста-rки.Количес-пюостаток КАК Количеств.о
из
ИТОП-1
СУ1>1!-1А(Количестsо)
(
РеmсrрНакоnления.Тое.арыНаО<ладах.Опап-'м iJ<ДатаО"та·;ка,
по
Нонен�r.латура
�
i
1
(?')
�
) КАК ТоварыНаСК.nадахОстатки
Са,.ргкщ, изменежя?
' ' ''" " , , , _ ________ ____ __н�
.__ _r ______________
_________ ______ __ , _ __ ,, _ _ __ ,
. .".."........ . . ·""'
· ·-·--····�====="'"
��--=
---- ----
Рисунок 1 26
Нам осталось установить параметр «ДатаОстатка» для нашего запроса. В тексте уже
установлены параметры «НачПериода>> и «КонПериода». Устанавливаются они значениями
одноименных реквизитов отчета. Обратите внимание, что на форму выведен только реквизит
«КонПериода», его подпись на форме - «Дата актуальности» ( Рисунок 1 27).
65 Верный старт в lC www.work-lc.ru
88002344322 Бесплатный з вонок
.<-& !1 Х �". <.;,> : G ' L;;) ·
F:. �о�-� ;;.;1.'
IO:.-��R i'\�lЬ
:�
�f:�j С:;:-зр!�<еа1Ь
ое. .
r.оnсмТ
ъект.Ос
УD4�tаШ«Н4СfРС6,�4"К!Н
...
\0- .об
.:..:.. 0"Ne1'
Он же на
форме
:-=,.. ш- Кoм'Dювw.wtc.Hitt:lP..
= 1:-.г-; f\ермода
д."
"
n.."
��UL"!.:!t:liЬI
��в<а На+.о�
вот реквизит
его отображение
Рисунок 1 2 7
f,
r-
�.
1
11
�
�.:·
f
:
,-·
Немного изменим наш программ ный код в части установки параметров запроса.
В место
<( 1апрос. .'/cmшm<>UJJi�, Г/apaмempr ''J(о1-1Пер1юос 1 ''. /(он П.:рu(;о, [j: »,
строки
« 3апрос. .\· стшюrт1щ,Парамстрr ''дата(),:·ттт"�а ''. Ки1Периода),· »,
а
' '
' '' · !
'} mpoc. .•·
· .fач
« _;r.
,�m<71 meu m i> 1r ,f( lра-н етр,f ''f
· 1 1 ер1юо<"1 , ! ачl �repuo,Ja,· » - закомментируем.
напишем
строчку
В итоге, получим вот такой текст процедуры (Рисунок 1 28 ).
11.нace pвti!r,eБti!>Koнr e к<:i· a
Процедур?. СформироватьНаСервере( ТабДок, НачПериода, КонПериода, Склад, Номенклатура)
= Отчеты. ОстаткиТоваровНаСкладах. Пол уч.1тьМакет( 'Макет") ;
М а кет
ОбластьШапка
"' Макет . ПолучитьОбласrь( •шапка");
ОбластьОрганизация
ОбластьСК11ад
= Макет .Получить0611асть{ "Организация•) ;
"' Макет .Получ1пьОбласть( •склад"} ;
ОбластьНоr..,енК11атура "' Макет.ПолучитьОбла.сть(·�рока") ;
ТабДок . Очистить( );
Т абДок. Вывести( ОбластьШапка);
Запрос "'
Ковь�й
Запрос;
i/Зartpo.c:. Уст анРвитьn араr"1етр( С<НачТ1ер�1сдаа: ,НачПериода);
Зап.рос. УстановитьПараметр{"ДатаОстатка', КонПериода) ;
Запрос.Текст ::: "ВЫБРАТЬ
1
ТоварыНаСкладахОстатю.1 . Организаци я,
1
Тов.арыНаСкладахОстатки .Склад,
1
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
1
Товарь�НаСкладахОстатки .Кол�чествоОст аток КАК Количество
! ИЗ
1
РегистрНакоплени я , ТоварыНаСкладах. ОстатК1>1( &Да таОст атка, ) КАК Т оварь�НаСкладахОста тки
! ИТОГИ
1 СУММА{Количесnзо)
I ПО
1 Номенклатура•;
Конецfiроцедуры
66 Верный старт в 1С www.work-lc.ru
Рисун о к 1 28
88002344322 Бесплатный з вонок
2.6 Выборка с и т ога м и в отлад ч и ке.
В этом занятии мы научимся работать с выборками, содержащим и итоги во
встроенном языке. Из запроса, в котором будут содержаться итоги, мы получи м выборку, но
непросто выборку, а итоговую выборку. В свою очередь, детальную выборку мы будем
получать из итоговой выборки. Такой подход позволяет безоlШlбочно выбирать итоги и
выводить их в отчет, то есть м ы всегда будем четко понимать, какие итоги получаем при
обходе выборки.
На
рисунке
1 29
показаны
три
способа обхода
выборк и:
линейный
обход,
иерархический обход и обход по группировкам . Данные, попадающие в выборку, выделены
цветом . Н ас и нтересует, прежде всего, линейный обход и обход п о групп ировкам . При
линейном обходе выборки мы последовательно получаем все записи из результата запроса,
при иерархическом обходе - только записи результата запроса, н аходящиеся на одном
уровне иерархии, при обходе по группировкам будут получены только родительские записи,
являющие групповыми итогами .
П р и расчете итогов образуется некая иерархическая структура, поскольку записи с
одинаковым значением поля (полей), для которых рассчитываются итоги, в результате
запроса собираются (группируются ) вместе и достраиваются итоговой строкой. Эта итоговая
строка является, по отношению к ним, родительской, то есть стоящей на более высоком
уровне иерархии .
67 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатный з вонок
'"'
..t.w·
....l(.�{OI
. . ..".".. ��...
qЗI::: ==3-:1
!$Г
"......_"
.....""" "
..
Рисунок 1 29
Для дальнейшей работы нам потребуется несколько изменить запрос: добавить
группировочные поля «Склад» и «Организация » в итоги, а поле «Номенклатура» из итогов
убрать ( Рисунок 1 30).
ll•��
:.. аЩЕ!2Н�
.f.· · .- В.:,, r-.эnя
:." Склаа
• О> .
.
; "'"'"
с:� ("ХСщs°*' И!:1(��
·
i ИtQfaюe m.m
· · · · · · · · ····· · · ························ · ······
......
·························
-���ШШШIJIJIJШr. ''?.'f�,��'Кc�"18<)' ..... ..................... ........... ..... .. ........
а..;,._._..�,.,
Рисунок 1 3 0
Далее нам необходимо выполнить обход по группировкам . Для начала м ы должны
получить итоговую выборку по организации, назовем ее В ыборкаОрганизация, затем
итоговую выборку по складу, назовем ее В ыборкаСклад, а в конце детальные записи по
68 Верный старт в 1С www.work-lc. ru
88002344322 Бесплатный з вонок
номенклатуре, назовем их Выборка. В программном коде это будет выглядеть следующим
образом (Рисунок 1 3 1 ) .
РезулыатЗ аnроса
=
З а п р ос . В ып ол н ит ь( ) ;
Выборка Организация -::: РезультатЗаnроса.Выбрать( ОбходРезульт ат аЗапроса Лоfруп п и ров к а м ) ;
Пок.э ВыборкаОрганизация.Следующ�1й( ) Ци кл
В ы б ор к а Склад
=
ВыборкаОрганизация . Выбрать( ОбходР езультатаЗапроса . ПоГруппировкаr--1 } ;
П о ка Выборкасклад.следующи й ( ) Ци1<л
В ы б орк а = Выборка склад . Выбрать( ) ;
Пока Выборка . Следующий(} Цикл
КонецЦи кла ;
Кон ецЦ икл а;
Кон ецЦи кла;
Рисунок 1 3 1
Немного поясним этот код.
Внутри циклов мы пока никаких действий не выполняем, а только получаем
следующий элемент выборки . Выборку самого верхнего уровня мы получаем из результата
запроса при помощи метода В ыбрать( ), передавая ему, в качестве параметра, значение
системного перечисления «ОбходРезультатаЗапроса». Это систем ное перечисление (для
справки скажу, что системные перечисления предназначены для определения некоторого
набора предопределенных значений), может принимать значения : Прямой, П оГруппировкам,
ПоГруппировкамС Иерархией . Мы передаем значение ПоГруппировкам . Таким образом, м ы
получаем выборку верхнего уровня с итогами п о организации . Затем м ы обходим эту
выборку в цикле, а внутри этого цикла получаем выборку следующего уровня с итогами по
складу:
Пы6f1рка()ргаии3ацv.я. Hы6pun11, (06xrj()f>c ::y 1ьmйmr./Jш1pm ·a. ! !0 Гру1тировк,нr),
То есть, выборку самого верхнего уровня м ы получаем из результата запроса, а
выборки всех последующих уровней - из родительских выборок. Поскольку выборка самого
нижнего уровня содержит в себе детальные записи, то есть не содержит итогов, то при ее
получении мы о пускаем параметр «Тип обхода», так как по умолчанию он и так
устанавливается как «Прямой».
Теперь посмотрим в отладчике, какие же значения получаются в каждой выборке и
как все это работает.
Для этого сохраним изменения в конфигурации и запустим отладку. Откроем наш
«Отчет по остаткам ». Установим точку останова в начало цикла обхода выборки по
организ ации . Н ажмем на кнопку отчета «Сформировать » ( Рисунок 1 3 2 ) .
6 9 Верный старт в 1 С www.work-lc.ru
88002344322 Бесплатный звонок
Резупьт ат Запроса
'" Запрос.Выполн�пь( } ;
ВыборкаОрганизаuия
=
РезультатЗаnроса.Выбрать(ООходРезульrата3апроса . ПоГруппировкам);
П ока 8ыборка Организаци я.. Следующ11йО Цик11
ВЬlборк.аСклад
Пока
=
ВыборкаОрганизаЦ11я . Выбрать( ОбходРе.зу льтатаЗапроса .ПоГрупп�1 ровкам) ;
ВыборкаСклад. СледующийО
Цикп
Выборка '" ВыборкаСклад.Выбрать( ) ;
Пока Выборка .Следующий() tlикл
Конецц1�кп а ;
КонецЦи;<ла ;
J{ОН€.Ц.Цi1КГ:а;
Рисунок 1 3 2
Н ажмем кнопку F 1 1 и попадем внутрь цикла. Теперь м ы можем просмотреть на
значение выборки по организации. Для этого выделим переменную «ВыборкаОрганизация»
и нажмем сочетание клавиш «Shift+F9 » (Рисунок 1 33 ).
��-
: [��������� .. ...
� ;:�;�;
-
:
.
· ···
.
· ···· ·· ··············· ·
' ' ··. !Ъ6:,,.f�-.......
!4'с�-:чесt80
···········-·····"'···
:�
· · ···· · ·· ···················· ····· ·· ·
· ·· ····· · ················ ·
....................... ................
. . .. . .
. . ...
· т�
· ···· ······-······ · ······· · -
..... .... ..
�.МТ':"Рil
� i f'� ss."oe<·ш. ю ;�i;n _ :
:;,
з...;:.!
.. .
r. ..·.·.·.-. �-���.·.·.·.·
Рисунок 1 3 3
Мы видим, что в организации ООО «Конфетпро м » 4 1 4 единиц товаров. Значения
полей «Номенклатура» и «Склад» равны Null, так как эти поля не являются ни групповыми,
ни суммируем ыми для данного уровня выборки .
Идем далее и получаем выборку с итогами по складу. Заходим в цикл, обходящий
итоги по складу и просматриваем значение переменной «В ыборкаСклад» ( Рисунок 1 34).
�.�-'°P!"���;i·
�....
� ё��;;
·
f�}J':'Ьn�
·
······
···
··
·
t(w.,...':'80
..::
·�.·
№�а�
t14 \.kno
t«A
C.�eeo�.a.(jpr�OLPt
Wat'!tt�•
С.�мо....мк<'
_.сь.nк•Ос..1�
W�t.
Рисунок 1 34
Итак, мы видим, что в организации ООО «Конфетпром » на складе «Склад № 1 »
имеется 4 1 4 единиц каких-то товаров. Поле номенклатура остается равно Null.
Н аконец, двигаемся далее и получаем выборку с детальными записями. Заходим
внутрь цикла обхода детальных записей, и там просматриваем значение выборки ( Рисунок
1 3 5 ).
70 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатный з вонок
Рисунок 1 3 5
Здесь м ы видим, что все поля выборки заполнены, так как это детальные записи.
Таким образом,
при обходе этой выборки,
номенклатурной
поз иции
из
мы
получаем расшифровку по каждой
итоговых 4 1 4 единиц,
которые имеются
на складе
в
организации.
2 .7 От ч ёт с и т о г а м и .
В этой части выведем данн ые нашего отчета в табличный документ.
Для этого нужно совсем немного доп исать наш программный код. Суть доработки
заключается в том, что мы запошшм параметры соответствующих областей шаблона и
выведем эти области в результирующий табличный документ.
Для начала выведем итоги по организации . Для этого возьмем область итогов по
организации, которая у нас обозначена как «ОбластьОрганизация», заполним ее параметры
и, затем, выведем в табличный документ. Для этого в цикле обхода выборки по организации
добавим 2 строки, отображенные на р исунке 1 3 6.
Пока ВыборкаОрганизаци я . СпедующийО Цl1кл
;I
Обл а стьОрrанизация Лараметры . З аполни ть{Выборка Орrанизаци я) ;
ТабДок .Вывести( Обл а стьОрганизация )
Рисунок 1 3 6
Первая и з добавленных строк заполняет параметры области, это возможно благодаря
тому, что наимено вание полей выборки совпадает с наименованием параметров области
( Рисунок 1 3 7).
71 Верный старт в lC www.work-lc.ru
88002344322 Бесплатн ый з вонок
это и есть п а ра метры области
"Орган и за циян
Рисунок 1 3 7
То же самое м ы проделываем внутри циклов обхода выборок п о складу и детальным
записям, подставляя соответствующие области и выборки для заполнения ( Рисунок 1 3 8 ).
lх)ка
Выборкаорган11аацщ;.Следующий{ ) цикл
Об:�астьОрганv.заuия. Пара»етр"' .Заполнить( 6О1бо;жаОрг аниааuия );
ТабДок.Выеести(ОбластьОрrанизаW1я) ,
ВыборкаО.:па,а
=
ВыборкаОрrан!'.ЗаЦ1'1я.Выбрать(ОбходРезуnьтата3аnроса.ПоГруnnировкам);
Г;сж:а ВыборкаСклад Следующий{}
цию1
ОбластьСк,71. ад.ПарамеrрЬ1 .ЗаnолнитьtВьtборкаСк.11ад; ·
бДок.Вывест11t(ОбластьСклад).
борка - Вь�бор-<аСклад. ВоЮра•t>О;
к а ВЬlборка .Следуюший! ) 1 \�'><!'
(;�<1 J � ; ;.C-"1'M
_:: .j;r.;.:inяtt.., i!t·�=)pkryй n1:: t!l:: :i.;д.- ,: �Nf':G.tJ.1M в ::-.e r,•:t-"'y);:.4�.:-=:"•:;c
/;,r :c1'f.."c'H.
Областьноменклатура.Парзметры.Запопнитъ{Вы6оркэ);
ТабДок. еывесrи( ОбnастьНе>ме нкпат-ура ) :
1<.a;;вцU;11<Jia;
:)t;)e:1.-::)Mt.:м��ю� ;:rv>.1.:: J�i1·)�::--: -q�� r.
&::: ;;:::t� :, Af:.-:tlJ.L:ч..:м:� J::ifl.,..:t ч�и
�! т:н·,ц: : :x;;i:.:дr:�c Е: r::� :.:� :.):�н.::�;:.:.,v�;� .i.::}:· �·!"Jt:н:
Коне.цlJ,нкп а ;
Рисунок 1 3 8
Таким образом , макет играет роль некой заготовки, которую можно по частям (п о
областям ) выводить в табличный документ. При этом в макете могут быть заданы
параметры, которые можно заполнять произвольными значениями.
Обновим конфигурацию, зайдем в режим « l С : Предприятие» и сформ ируем отчет.
В от таким нехитрым способом мы сформировали табличный документ, который
отображает наш отчет ( Рисунок 1 39).
72 Верн ы й старт в lC www.work- lc.ru
88002344322 Бесплатный з вонок
[� �-��]
Дап�
1
актуаrънс-сти
Та6 док:
Остатки товаров на складах
,
·
10JJ7.20 1 4
: t'{:1 i
;
......................................•.....
! Количесrво
-о;r��;-�ц;я l склад f н�;..;н�;�·�;---"
[1'fcx:iO"Rёtiфё
414
. .............. ................................... ,
тiiiIOМ" .... . .. ..............
1Склед № 1
..
B!N.A.TONf ALPINf
Betmmsг. ар J IPONIC iТ&ii!!.. ).
ВеНТllЛ!!ТЩ)
16С;вт. К8ПОЛЬ1'1-ЫЙ '
Векпmятщ> 1н1ст1н1trt1Ь1 i
i
1 С·
Веt1ТМ11ТС·Р 011с-11кы iii
8екпt.1ята-р ОРбИТА.SIЕ�G.ЯП .
1ООО "Тoproeыii дом•
JСклед № 1
СТИ:tЮЛ 101
8е1m4л1п1>р 8!NАТ<ЖЕ
ALPIN.f
414
22
1%ет.
квnолы<ы.:i ,
22
1 89
ПС•
Бекrмятар ОРбИТА.SТЕRU>Ю.ЯП.
Телеви�р "NC"
15
JСклад № 2
25
8еtn'ИЛЯ1'0Р BU.JATONE ALPINE 1€<0•ет, tlBЛOЛtrt<ЪIЙ .
Вект11л.<1;ор JIPONIC (Таiiв.),
;}2
Вентм!п"с� ОР6ИТА, SТЕЯU4G, ЯП.
20
Вент"'1r.с-р
насто11ыtык
Рисунок 1 3 9
2.8 Общие и т о г и .
Продолжая тему итогов в запросе, мы должны обратить внимание на общие итоги в
запросе, которые выводят значение агрегатной функuии, применительно ко всем строкам,
попавшим в выборку ( ко всем детальным записям ) . В нашем случае агрегатная функuия это сумма, поэтому общие итоги будут суммой поля «Количество » всех строк детальных
записей.
Как получить общие итоги? Да очень просто. Необходимо выполнить 2 действия в
конструкторе запроса н а закладке « Итоги » (Рисунок 1 40):
1.
Указать хотя бы одно итоговое поле.
2.
У становить флажок «Общие итоги».
73 Верный старт в 1С www.work- lc.ru
88002344322 Бесплатны й з вонок
...3EE
�'- ···· · ·················" "
Q.�.�-�.:
··· ··· ·
. J .��- /\Ьж�
�'*1" 1 ��,!IJ� j � .���
�
���
!&�.�� ;�.��..;
···· ·1'·�1'ЬзaA1.��:
· · · ·················· · · · ········· · · ··········· ···
� '!'�H\UE"Cl:J
� {j.Ч'�t:°J:"t:it��r�»� · · · ·· ··
>..
11·1н№М�l[ э,_._.
l. �
Э."'.еt-1е:Н'JЫ
i 1"�?.'. t." Скла:. .
:J:
8с.е :10ru:
..
.
..
.
.
__
Ш;�·l:�ff,�!�Wi\t�
.
.:.;.:
.
"..," -· ··--·�-"·-··· --···= ·�-�
· ···
;. �! �.
•...
.
•
.
•.........."...
"."
.
-.......•........•.... "
.
.
.
.
... "..
••
•
.
.,
.
.
.
•
.•..
•
.
..
....••..•.......
....
. ".
.
.
.
.. . -•......•..•.......,.,
_ __
.
-�-еrь
rt..-��
-.a�
- - �-- ­
Склаа.
: "
. ., v
... �
Рисунок 1 40
Сделаем это в нашем запросе и посмотрим, как изменился текст запроса ( Рисунок
1 4 1 ).
ЕНБl?АТЬ
Тс :вары:
Н аСУ.,JJ адахОста т �<:и . Орrа.ни3ащ1я
Тсварь::.9 .:.Сr..,r: адах:Остатки .
Ск.ла.д У..АК
КА.К
Орга.. о.; изация,
-С:!<.л а.z:,
То-аарШ!.аСк.,-�:ада.хОстат:!'.и . Hoи� l:f.JC;
<.a тypa ,
ТоварыНаСRr.адахОстатки . Количе с�воОстаток
из
Кl'..К
.Количество
Fеz-rистрRаксшлеl:!.ИR . То в а ры:НаС�.адах . Остатки { &ДатаОстатка,
nоси
1
по
СУ11МА ( Ксличе:с�:�;с j
""""'
·""
.A.J
�
...- �
рРаidИЗаЦ.И Я: r
Ю!8.Д
Рисунок 1 4 1
В идим, что в секцию итогов добавилась строка с ключевым словом «Общие». А как
изменился сам результат запроса? ( Рисунок 1 42 )
7 4 Верный старт в 1С www.work-1c.ru
88002344322 Бесплатный з вонок
' ; ·�:
-�
.:......: ....�
1;; .
c.-"i�
-: ;· ·.;·1
· · 1�
,
.�
�
.
z::
:·"2�·
��
··-�---�.
Гi'" �
;·
·:
:-·:·:·�···...
-+-il
2� :
..... J
ООО '1<:;нФе'!г.рс.,,,4:'
ООО "К�Фетr.рсw"
ООО "К�фе:т:tсЖ·
000 -ТорrоеьМ дом•
ОСЮ "'r::>�::>еы'1 ;::pu""
ООО loprt>eыR .д.ам"'
000 "iOf:'f!)Sыi\ дом"'
300 "Тосrо8ЫМ №tК'
()OO l0:�0-!Slltit ;;c1!1"
ООО "Торrt}еьrй ;.ом•
ООО "iорrо�ый ДQМ"
ООО 1ор-оеый ;.ом�
OOO "Т�ыitfЛU"
ООО '°1'o«"tt"- �t.t"
ООО "Т":>Мо&ыtt: �u:"
ООО "То-рrоеыR ;Юм"
ООО "'Торrо!!Ы"�м"'
ООО loprosыitдcu"'
000 "ТQР"ОSЫЙ ;:см'"
ООО 'ТoPfOl!ыif дом"
ООО "ibp(OSЪlt\д,GM"
OOO"Т�:1t�ыO! ADf.o('
OOO "ТOfin'e il: ;..aм4'
Нтсr
.... . .. . . . . .. .. . . . .
. .... ........ лё._��-�»·1 ............... �....
. .
.
С� № 1
Скмд N! 1
1
Схл&р f'� 1
C.:e.r.sд. Nt
Co'A,l) f'• 1
Cg.--4.0 № 1
C:e.r.aд. NI t
f;.q-.&,a N1 1
Cq.aA N! 1
c.ia:aa Nt 1
Cl"l"-4.D f'.if 1
СУ.nад N! 1
С.".r.ед. t-.1!! 2
С.и.ар NR 2
Ct'м,p f'-R l.
C<N1> N1 2
C.ц:.1д Nt Z
Ct::r.4,0 f'» 2:
3
С.U.ад. NI �
СкмдNI
, ...
. ........" . .... . . . . . . .. . ... . ...... ..... . .... . ... . ....... . .. . ..,.,
. . ......... . ... . . .. .. . .. .
3ef!;'f1trulTOF3 CC.GH���• . • • • • • . . . . • • • . . . . . • . . . . . . • . •• • •• • • • • • •• • • • . • •• • • • • • • • • • • • • . • . . • • • . • .�· ••••••••••• . • • . . • • • . . . . . • . •·
. . . . ....... ..
.
8et--т"nnc12 CPбlff 4 SТ:��G,ЯГ:.
�ЦJIO�ELfК!A
:}
стиноn 1�1
3e�1\W:T0p Bl'U(:l)t(E ALPiНE 1есsт.
.нsn�'rc:�r; .
Зeнntn.-roo J'?-:)NC. Г:Uе J.
Э.е!"Т1tМТО.С �•с:сл�й
Зe�MnJrтор Ck'Olt"'tк"
3е�пtrс;<тор C��Т-A.SТEQ.L:t;��r..
Tt!Л��KSQ1' '"JVt�;Jt�M&:: fLГК:А
:ene-e� �$Н,6_::t?
Зекти�тор Bli.6.:0,.,1: .&QPiНE 180ет,
чn:::-.��ttыi .
Эеttтимтор r.P:J'iC (Т.Jti��­
:ЗeY-ntrt:тoo r: еС!С.П�r:·е:1 й
:ее�-т"n:пор c.r:ctt"Ъ:W
'5еl'+ТКЛ'IТОр CPб:AТA.SТ'f;:!:L!fCG,ЯC:.
':<О.НД)ЩtсОН�� ЕL..Од
О"
Рисунок 1 42
Появилась еще одна строка с общим итогом по количеству.
Необходимо отметить еще одну важную деталь - при программ ной обработке
выборки, выборка самого верхнего уровня будет с общими итогам и .
То есть, в строке:
мы получи м выборку с общими итогами, а не с итогами по организации . Но м ы
можем напрямую указать, какого уровня выборку м ы хотим получ ить, передав вторым
параметром в метод «Выбрать» строку с н аименованием группировочного поля (Рисунок
1 43 ) .
Результатзапросз = З апрос. Выполнить() ;
ВыборкаОрганизация
=
РезультатЗаnроса . Выбрать{ ОбходРезультатзЗаnроса Л оГрупn ировкам
Рисунок 1 43
� •организация") ;
Таким образом, м ы явно указали, какую группировку хотим получить, и, в данном
случае, несмотря на наличие общих итогов, наш программ ны й код будет выполнен, как и
ранее.
2. 9 В и ртуал ьная табл и ц а . Регис т р накоп л ен и я оборот ы.
В этой части мы рассмотрим виртуальную таблицу оборотов оборотного регистра
накопления. Напомню, регистры накопления бывают двух видов: «остаткю> и «обороты ».
Регистры накоплен ия с видом «остатки » хранят в себе о статки, по ним могуг быть
приходные и расходные движения. Регистры накопления вида «оборотьш не хранят в себе
остатков, они отражают только объем чего-либо (например, сколько всего было продано
товаров). Естественно, обороты имеют смысл только за какой-то период, в отл ичие от
75 Верный старт в 1С www.work-lc.ru 88002344322 Бесплатный з вонок
остатков, которые получаются на определен ную дату. У оборотного регистра существует
только
одна
виртуальная
таблица
обороты
с
суффиксом
«обороты».
Исходя
из
вышесказанного, логично предположить, что параметрами такой виртуальной таблицы
являются : начало периода и конец периода (то есть период, по которому требуется получить
обороты). Кроме того, параметром виртуальной табли цы оборотов является периодичность, с
которой требуется выводить обороты. Этот параметр задает минимальный период, в котором
они рассматриваются. Если мы выберем месяц, то обороты будут выведены в пределах
месяца (помесячно), в рамках заданного периода ( начала периода и окончания периода).
Давайте рассмотрим это на конкретном примере. Для этого в режиме предприятия
запустим консоль запросов. В ней сформируем новый запрос. Обратимся к виртуальной
табли це « ПродажиОборотьш. Это виртуальная таблица оборотов оборотного реги стра
накопления «Продажи ». Таблица состоит из измерений: «Поставщик », «Организация».
«Склад», «Номенклатура» и ресурсов: «КоличествоОборот», «Сум маОборот». В ыберем
из
нее данн ые за весь период и все поля, периодичность установим «День».
'(± 11... "/- О ! �- - �
·
:··��: · -:;т m.иr-11�:�,··
· ·
i ·raбr�
•
4··
:f
"....."""."""".... ....""... ... . " " .." "j
" " " . "" "
:." flо;::таВЩ>11<
:. ... �at-:W�u,\K
:�" Скл�д
г_-�""1
-·
.
. .
.rюп�
. ." " "" " .
о.:.� t.� Ho�et*':лai}"l2
j l<o:1;!"R-<:IВGOбr-"°r
# С'l"''М�Оборо т
. ...
:
Yc.noa.re
Рисунок 1 44
П осле установки периодичности у виртуальной таблицы появилось еще одно поле
«Период». Теперь выберем все поля (Рисунок 1 45 ) .
76 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатный з вонок
� Z�i # O \:i� lfr
·· · ····················································································
����--··
1 т�� .
.
. .
·
·
>
[�: ;e,!f�RIB
::.ol
. ... .. ...·.·..... .
.... .......".•.".. . . . :
..
.
: .• Гkю.::а:.�
.1106J ;ь,,fu:тавщ11�
п��сд
. : .. fiocТаоо!\�К
·�; !.. Орпэнизаwя
:i· L с,.l1ёд
( : i." Номман!Т)�
(;.
.
;, ., �дажиСбз;:ютьJУ,:г3!i>!ЗЩ1!<
' : � :
.
�·
•··
<:(
?
�;<ажиОб.зр�ты .Сt<тщ
Гk.'ОмжиQ(>Qр�·;с,,_н�!(J1<щра
j Г�дажиОW;ю;ы.У..vв1чес1;!QСЩи
� f)Jо;;,а:.-.нОбзрGть; .С\'11!t�а06с'!ЮТ
4 �:wec'!Вrf'JOOPQr
1 Сум!<1а0'5фОr
Рисунок 1 45
Вьmолним запрос и посмотрим на результат ( Рисунок 1 46).
Рыуnьтт запроса
ir
[nеР*од
2
!
22.01.zон о.оо. оо
ЗО. 01 .20 Н 0:00:00
·4
5
4
30.91.2014 c-:on:oo
···
···�
6
!
r
б
[nО.:.п....., кГОs>rан1<3аЦн11
L.......L..
=ic l<llAA
ООО 'ТорrоеыЯ д<>".
\КоЫе;1<118Туре- --[коltк_;;-�-
1 _�
!-�в--.... !
-�
' -�
&�'· .
еmед № 1
91
!
1q
i
н
1
12
Setlrнrurrop GO:oмы �
ООО 'Торrоеый д<>".
С:mе.ц № 1
Tenee!t!o.p •JVC"
ооо '1'oproeыi1 �"'·
Сmад № 1
Teneeк:iop �sнA.RP'
l�!�
---т :; 2со. оо\
:
13
10
н
ocn,ooi
W 000,'.)01
5
10
2 90
"" т ,---------------------------------------------------------------------------------------------
Рисунок 1 46
Мы видим все продажи, которые были сделаны. П ериод заполнен началом дня, так
как м ы установили периодичность «День».
Теперь установим периодичность «Неделя» и вновь вьmолним запрос. В этот раз
период заполнен началом недели . То есть, точность оборотов по дате «округляется » до
начала недели . Для подтверждения данного тезиса посмотрим документы продажи. У нас
их
два (Рисунок 1 47).
.
... ....
. ..
. ..
. .".
Реализация товаров и услуг
_"......
...
ю.ш�
Дэтг
·
<; 22
,·;{?
�!зо�1{1i�2 .
ЗО tH 2014 12:00:00
ОООС-00002:
ООО "Торювыi> до
ООО 'Тор<овы>• до
Маr.:э.��" на rаrыш" .
"
Скnад No 1
"
5 200,JIO
�<оri.аrз.з-ин на rarыw ..
Рисунок 1 47
Реализация от 22.0 1 .20 1 4 «округляется » до начала недели - 20. 0 1 .20 1 4, а реализация
от 3 0 . 0 1 .20 1 4 до 2 7 . 0 1 .20 1 4г.
Резулыаr заnрrн:: э
t""
i
i
+ � т: п:.:.::
"". " ·
.••
2
!.1 ". 3
<
�
.
;
i
j
· """""" "."""".".""""""
;�
. ...;;:;
"�д
_
-
?
20. 0 1 .201 4 0:00 00
27.0 1 .2ОН о:оо:с-о
27.0 1 . 20 1 4 0:00:00
.
1:'· п.""''"
_" "_
}":u�,_,
.;J"...
"";�:
"".::-...
�;�--"_ """"."."" . ! с"w;;
::д?
.'
". "_
��
, •.
.•
·
· · ·· . ". "·
·----ОО О 'Торrсеь1ti дом• Склад № 1
ООО "1'орr�·е.ый J'OM"
ООО "Торr�еоь1i1 дом•
:
7 7 Верный ста рт в 1 С www.work-lc.ru
Сr.лl!Д № 1
Склад № 1
· ·
?
"". """"
но =
;
:;: ·к n•-;, � тура ".
8e1m1nяrйp
ОК:жt!Ы:Й
Тепе- !!'И.�Gр ''J'v'C"
Teneert•�e>p ·sнд.RР"
" коЛiiЧёёТ�йj)
Рисунок 1 4 8
88002344322 Бесплатный з вонок
7
1 1}
10
s
'
'·
" �t
��:r· + ". . " " ".""
з
'
001}.,0CI
5 200,00 1
1
290 01}0'.0-3·!
90
1
9
Номенклатура, по которой не было оборотов, не выводится в результат вообще. В
результат попадают только те позиции, по которым были обороты.
Теперь установим
периодичность «Регистратор».
Регистратор
это документ,
который послужил основанием для формирования данного движения. То есть, поле
«Период»
будет
заполнен
датой
документа
регистратора.
Кроме
того,
появится
дополнительное поле «Регистратор», которое будет содержать ссылку на этот документ.
Давайте изменим наш запрос, установив периодичность «Регистратор» и добавив
поле
«Регистратор» в выходные поля запроса ( Рисунок 1 49).
==� :·::�==••�--. КоR81чесП10об� С��;�<:."�.�оеа�
1. r·.--_:._�:.·_�._�_г ������ 1'2 QMO
:Ю С1.2С·1• 12·:xtQO
j_ 1� :�."""; з.с 01 2С1 4 12·.оо·оо
·
.!
OOO"Тcpro"ыiipµ.f' С.Яа,Q № 1 T<n<oюop•JVC"
;
'
ООО "'ТсрrсаыК .а.см"
:5�
Сиnад t� 1
" yo.'r{r с='
С1 Z2.Q 1 2С14 1<.о�.00
5
� C-00 ,iJ.З Feam"'"'. тое<>;>о<1 1< ус:;1у, С'!:С-ё:>i
°' :Ю.01 .2С14 12:QQ:OO
10
тenes�c� 0SMARP"
С1
2SG GQ'G. -ЗQ �anw.sawta "!'�e.6p.cs � ��"rr GGGV��
ат ЗС
2СН 1L-QO· QQ
Рисунок 1 49
Как видим, ссылка на документ регистратор выводится в результат, а поле «Период»
заполнено датой документа регистратора. С оответственно, мы получили обороты по
каждому документу.
Если же м ы установим периодичность «Запись», то в выходные поля таблицы
добавится поле «НомерСтрокю> и нам и будут получены обороты по каждой номенклатуре в
каждом документе ( Рисунок 1 50).
1
, ,
---гт
"" ... " " j
z
4
i
--� --""'�---Т'г
s
lriOёт.iЩofn.,....
11сюад- i�tёt.."""!YPI
. и iiц
fС•mц; NR 1 �еr.иr"тср
()00 '1'oprceыi>.
12.СО:С.З
__
2
_,,.___'7"_
__
:'!. __
i
lnej!МOд ·
22.01 2G H
....
;J.OtA°
дсм"'
000 '1'oprt>!!Ыt1
ЗО.G 1 .2С1� 12:0G:W
ООО �орrоеый
ДОМА
j
1i
�
1
!
i
"""' № '
С•л�щ № 1
r--..
>
КGН:МЬIМ
lr
>
!
j'копмчеСТ..оОбОРОт
1Pёf-iiёiPArop · . ji!o-pCtpO«• 1
1 0 Jсу"...обо�Ют
5 200,0G Pta.ratsaцv.-я
;
l
;
б
NC
ene""·""I> "SHARP"
;
э
.
IЗ
.....,...."..
тG1ЮС.ЗО
се.аровОО�2 ycnyr
от
товароа � усnут
v•ЗO(XKIOG1 сrт
22С1.201<
12:СО:ОО
��.С1.2014
12:00:00
тnеаров • yCJryr
0000-ЗООО2 сrт
!G.C 1 2014
12:00:QQ
Рисунок 1 50
Итак, в результате мы видим периодичности : Секунда, Год, М и нута, Час, Полугодие,
Декада, Квартал . Рассматривать каждое по-отдельности не будем, скажем лишь то, что
работают они аналогично. У становим периодичность «Авто » и увидим, что в полях
виртуальной таблицы появились все периодичности ( Рисунок 1 5 1 ).
78 Верн ы й старт в 1С www.work-lc.ru
88002344322 Бесплатн ый з вонок
; Чi IШ;�j;4;,t�;i!{,!J
i Tuf5 �t.t..4.Ы
>:� : •
· ·····� :
..
-�
:
ш
··· ·
•
Наме�--С."J)<}К><
(�':;
Г1€;fМОД�t1Ц.З
r..,�одМ"'11�
• •
•
•
р
ш
•
,• .>...
: ((
Г.:ер.�(щЧас:
Пероюсilень
r"'f.l"o;<i-i.e.i;.e,-;я
J
,
i поr,п
р р
C В}\!J!J,{>1.iiiй"
t1рсз.аз.:ю1ООО;ю1ы Q:,r-'di-i�3a:ti.�.д
!." 11р-зЛё:жм06о;:сr� Ucr.a;"!.
!.... r1рзw__жи000DО<ы t.1�н,:_nc.ypa
� rpcдac.>м>Y.}()Pon..r"''�"'""' rsoOoopo1
$ Пpoдa-:J:i10fюpon:,t.Cyмм1:tOfxspoт
t
.
:.:р.2дз.'f<И06оро-rъt. P�-.�Cip:3TOV
П�юд.=::ю.1000�-о�ы �Ot'..te;p( r;..��.11
г"рио!!д""а""
Г.е�<>АМ�;u
Пер.<сд!\в;'l:ноn
r;;. �....
Пер.«",д.:l:спут:;-:�
r:е��оцГ:зд
ПоС1а��.
::, , :.. �1'НМСW<•
! " Ur.Jlвд
·+ ·
+ :.... Нt.:м�кr.аr,"РС
j К:-,n;<><..с1"!ЮО6<>;>от
# с��Обзрст
Рисунок 1 5 1
Таким образом, при необходимости, можно одновременно получить любую из
возможных периодичностей.
В параметрах виртуальной таблицы мы также может задать условия, но только на
измерения (Рисунок 1 52).
� rь�
' •· t .
Ш,!iШН!Ш
i
·· ·· ····
Рисунок 1 52
·o·�·
i
·· · · ·· ..
""
Js:;;����·: � c���<·�
··
' •
·
:
Если в регистре будут какие-то реквизиты (реквизиты в регистре накопления могут
как-то допоmrnтельно характеризовать движения), то наложить условия на реквизиты в
виртуальной таблице м ы не сможем.
79 Вер н ы й старт в 1С www.work-lc.ru 88002344322 Бесплатн ый звонок
2. 1 0 В и рт уал ьная та бл и ца . Ре г и ст р н а ко пл е н и я ос т ат ки .
Рассмотрим регистр накопления вида «остатки ». С ним мы уже сталкивались в
предыдущих занятиях . В отличие от оборотного регистра, о н имеет две виртуальные
табли цы : «Остатки » и «ОстаткиИОборотьш. В иртуальная таблица «ОстаткиИОборотьш во
много м схожа с рассмотренной в девятой части таблицей «Обороты», но в ней, помимо
прочего, присуrсвует информация об остатках на начало периода и на конец периода.
Рассмотрим м ы ее чуть позже. Таблица «Остатки » имеет параметр «Период» (дату, на
которую требуется получить остатки) и условие по измерениям, так же, как и в оборотной
таблице. Если оставить поле «Период» пустым, то остатки будут получены на текущую дату.
·- ·-- ··- ······· ·-�·-"··-�----------- ------
�
�· т·� с��!о::1 ю�
:'�· ::.�3 .::1ж.rдttt"1�
::. :;f} f=·ег:-к:���:)���)iЯ
»
.:i Too-::,i:·i:.:!-1��...э�.
�· .:;f} т��:!-са
::КUэ�..Dе:-сооn..
,,, / W!ШW2Ц5%Вffil
;;�· ::=;:] Т<сеs.�·1:>:i<ь:](«Э�:Ост.Jт.-:.t���:;:-:.��
·
·"
: .-�
:��1 i!}:�!JtЧ!UJ.:�!JiklJ
� T�tiв�
·
·.
1.
: .•
:f
. ..
... . . .... . ·· ···· .
·· · ··· · ········· ········ ··························
Гri�� ·· · · ·
Ша;:
;..к�r
� )'t:-4
�::н�·:: "5э0:'fi
HCll'.
.;:;� П�wкТ(;S�'! -�<п�:
�. _�_:Sj П;c1)<..sTt.�� -C::::: ::;a":1\v.
�,
.::.t
�I
�. :i
·-� �ij
-:t,
Дj
�{
.;, �� j
·i..' �{
·i;. �i+1
-�_,
-�,
П::$J'1to:1o1Tt;!)�x�� -O:::: ::;a�;��µ;.:l�
�д-m:Г:�A1:y:i;;m=:��" 0t;,�P1J-r:x
°3ёJ1otO..'.S�:r���r::r:r"'°'t0:.'1iпкы
:�.!k-.:f�rer:?:.Or.iгuc.ыt.�1\<:
1· �-!4.�;".(\�.:и.(j(;,щ;�:-, �ы
P.:.Y.t.'.t>�,��1ы
P���;�;��� ы.fhx.v.1�
fk.ta:.�;>a...--ч-:: 1'ы.Oc тc:-i,.;J4
Р.���;.>�"Ч<:1ы.()сr�·1,.;�Иth.:,:�н�:
•:шJ•!Ш .... . .
� !"JQ;":�
r :i :.: · 1r2е:rеиг
� : .•. Gcxc1��'*
� .; :." Скt:С14
Рисунок 1 5 3
2. 1 1 В и рт уал ь н а я та бл и ца . Ре г и ст р н а ко пл е н и я О с т а т ки и оборот ы.
Как упоминалось ранее, у регистра накопления вида остатки есть виртуальная таблица
«ОстаткиИОборотьш. Она содержит информащпо не только по оборотам, но и по приходу,
расходу, остаткам на начало периода и остаткам на конец периода. Среди параметров,
аналогично таблице «Обороты » оборотного регистра, и меет начало периода, конец периода,
периодичность и условие на измерения . Периодичность такая же, как и в регистре
«Обороты» оборотного регистра, который м ы рассмотрели в 9-й части. Если м ы, для
примера, выберем периодичность месяц, то получим остатки на начало месяца, на конец
80 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатный з вонок
месяца,
а
также
приход
и
расход
за
месяц.
Для
примера
возьмем
таблицу
«ТоварыНаСкладахОстаткиИОборотьщ установим периодичность «День » и посмотрим на
результат запроса (Рисунок 1 54 ).
29
Резуnьrзr заnроtз
• г:":
s
· гJ· · ·
.
{J
�··· ·
: ! :�
i
и
� .��
i " ::
01 .01 . 201 • О:ОО:СО
31 01 .� \.i �90:СО
l0pnoнмsiщмR Jcmaд
Gxr.411 f-1< 1
Cma,o № 1
Crr.ap N! 1
01 01 юн с·оо:с.о
З1.01.2G 1 4
01
з1
Jt1ot.te1tr.nпypa
0:00:00
01 .2СН С:ОО:ОО
•
Bewт><n"1'Dl' 811>1д""0Nf AL?flE
ttA-,OЛQ:fЫM ,
B...,.nn,.,-�p
с,.,,.,. № 1
Вектил.rор 0<.e><1<ыil
С•.nад t� 1
1!;0!!r.
JРОНК: С1'вйе ).
Bewпrn�cp w.аст11пьный
Bettтttn:ятap ttастс-nьн.ый
...,.. ,
"
01 .20н с·9о:оо
О1 .01.:IG 14 С: ОО:СО
Н&"1:<)П'=��n
��.� � 11
� ....
с..мд ,.,. 1
в.,,,.м,,...ор JP.:щv.: (Тaits ),
Be><r>m"'o� °''"""" ii
�:: : � =�:�:������: �:�:=�
з1 . 0 1 .2с1• С.00:00
01 01.2С Н С ОО:ОО
з1 01 20"1� с-<ю·оо
01 .01 .201 • о:оо·со
CJ:r.<'IД №
Скг.а,1 NI 2
1s 01 .20 1 • с·оо:со
8...тм,.,.ор 8 IA'!'ONE AJ..Pt�E 1SCer.
tt&:JGЛt-:Н:Ыit .
с� ,.,,. 2
1 12
22
!Ю
1 то
ЗС
7�
1О
н
15.01 .:Ю 1 4
С$ЛЭД № :1 Bettтnn,,.,.op O�ИTA, SТERLtlGЯП.
Сч:� N! 2 8et4:Tt'tППOP С'f"СМЫЙ.
1 5 01.20Н С ОО:СО
0:00:00
1� 01 .2С1' G.OO:C<}
ЭО
}.
1 �.01 .2С1' С<.00:00
Веwтиm:тор W.&СТ�.nьнънi
99
15':
Ксt'.дж11,ер
,,
ЕLfКТА
СJТ�ад № 2 Beкrmu:т:>p JPONtC (Тайе
1s 01 2!; 1 4 с·оо·с.о
ЭО
10
1 Кй>:дnЦ><<»<ер flfКТА
С.г.ад Ne 1
31 01 .2С1� 0 00:00
22 О 1 .201 4 D"OO:CO
Jкоn�'Щкоn......сnюкоЩКап.....,ст.р..Dооо отlКолм...,.,.�юrjКоnм
B""'°"n"""!> 81Н.t.""01�E Ali'tlf 15Qsт,
ООО
С""'.<! № 2 Коt<Д>Щ1<.DНер Ьl.ЕК'А
C•r.a.n N!! 1
СТУ!JЮЛ 11J1
90
90
�4�:
вз
ЗС
"
1З
::�
'Ю
,
22
�:
"'""
вз
·\ З
6'�
Н
44
;�
1;�
9-1
94
94
З2
40
З2
З2
15
15
1 00
tQ
20
·юа
1ОЭ
22
22
22
lC
1
6•
"'°
�о
•а
211
.
;
9!:1 . •".
44
�о
1
fl!
��
j
'
15
20
Рисунок 1 54
Мы видим, что остатки выведены за каждый день по тем позициям, по которым были
остатки или движения за период. Здесь необходимо сделать важное замечание: н икогда не
используйте таблицу «Остатки ИОбороть1», если вам нужны только остатки или только
обороты.
Это
продиктовано
соображения м и
оптим изации,
так
как
таблица
«ОстаткиИОборотьш требует больше ресурсов для работы с ней . Неоправданное обращение
к этой таблице способно заметно замедлить работу систем ы, чего, конечно же, нужно
стараться избегать при разработке запросов.
2 . 1 2 З ада ч а на соед и н е н и е та бл и ц .
Часто в результате запроса требуется вывести данные из разных таблиц, связав их по
значению некоторого поля. Другими словами, какие-то поля вывести из одной таблицы,
какие-то - из другой . Н апример, можно вывести для одного и того же товара количество его
поступлений и продаж. В этом случае используются несколько источников дан ных, которые
переч исляются после ключевого слова «ИЗ».
В качестве источников запроса могут
выступать реальные и виртуальные таблицы, а также вложенные запросы, но пока, для
упрощения примера, мы будем рассматривать ситуаuию, когда в качестве источников
запроса выступают две табли цы базы данных. Сугь прим ера от этого не изменится.
Исходные таблицы запроса обычно связываются (соединяются) между собой по
некоторому условию - условию связи. Поле, по которому производится связь, обычно имеет
8 1 Верный старт в lC www.work-lc.ru
88002344322 Бесплатный з вонок
ссылочный тип. При соединении данных из исходных таблиц запроса для каждой записи из
этих таблиц проверяется условие равенства полей связи . Условие связи источников запроса
задается в предложении
=
Цены . Товар ».
<<113»,
после ключевого слова
<<Il0».
Например,
<<ПО Товары . Сс ыл ка
Таблицы могут соединяться внутренним, левым внешни м , правым внешним
или полным внешним соединением .
В нашем примере, м ы возьмем данные из табличной части документа
и
соединим их с
таблицей остатков регистра накопления «Товары на складах ». Так мы получим текущие
остатки для каждой позиции номенклатуры из документа. Для чего это может понадобиться?
Прежде всего, для контроля остатков при проведении документа.
Итак, берем, в качестве первой таблицы, табличную часть «Товары» документа
«Реализация товаров и услуг». Для того чтобы не выбрать табличные части всех документов
м ы зададим условие на поле «Ссьшка». Из этой таблицы мы выберем поля «Номенклатура» и
«Количество » ( Рисунок 1 5 5 - 1 56) .
.. .
:
. .. .
f-� � / О д; Ъ
· ···· ······
·
····· ····· ···· · · ···················· ··
'' �:1� (.X.S."N'i�
.:· �)} �)":�';Ъ:
�· . ��A.":ftl$tX..�т��pi.-:.�
-� �:.[
·.{: �.:;·;·i ��;��:��:!У."�-..
··!, �j t;��=���
""' ГJ з.�ct";rь.."'Jl":i';fiИ'�
>
.
- �:i:rr
�
�
<t.- ш №�w.м�.'J
"·
�- г��� · · ···
:
__::?:" �
..,. �t':J.,1t'� я f�!:Y:.."!,t'T;:.� -�".:e�
=
?e���TcNX�'fc.,yr T::a'"::ь К::�:�
. '�
Рисунок 1 5 5
r·T�t�1� и ��n10. ' . ( rv.;,.��
Пс,,•
·•; "" �
•
··
У�J>�ШЯ .... ������� ..·� .� .���'j_������:
.....•.
Pe-.a:::t:�a�:яTv��Y<:.;":'f:T-::i::
f!q:J� .:l..�·..�\T�"\j..'1 . c. ��ry>�·· "·····j)�T.��f� l
.
•
•
••••••• Сr.ь::к3
Рисунок 1 5 6
В качестве второго источника данных, выберем виртуальную таблицу остатки
регистра накопления «Товары на складах ». Для установки даты получения остатков зададим
параметр «период», а также наложим условие на измерения «Организация » и «Склад». Если
бы мы работали с запросом во встроенном языке, то мы бы взяли эти параметры из
документа, но поскольку сейчас мы работаем в консоли запросов, эти параметры придется
устанавливать вручн ую. Конечно же, параметры «Организация » и «Склад» должны быть
установлены такими же, как в документе ( Рисунок 1 5 7).
82 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатный з вонок
;- - ::::...:;«-:·
..... �
:�
:· ...,. �.<:���"'":'>�
.... ::::"'"'"'�1
' �· =!!!�
'··
�?.'r«"S."..«�Ч':
Рисунок 1 5 7
Из второго источника нам необходимо выбрать поле «КоличествоОстатою>. Если м ы
прямо сейчас попробуем выполн ить запрос, предварительно установив параметры, то
увидим довольно странный результат ( Рисунок 1 5 8- 1 5 9).
Ко.!соnь запросов
Рисунок 1 5 8
Время в ывада: -
Копичеств rг
Ре3у11ыат 3аЩюса
5
Рисунок 1 59
Н а самом деле м ы получили не остаток по организации и складу, а остаток по всей
номенклатуре.
83 Верный старт в lC www.work-lc.ru
88002344322 Бесплатный з вонок
Для того чтобы получить остаток именно по нашей пози ци и, н ам необходимо связать
обе таблицы по поmо «Номенклатура». Сделаем м ы это на закладке «Связи » конструктора
запроса, которая появилась после добавления второй таблицы в запрос (Рисунок 1 60).
• • о � .,,. о
: l 1ti::
��r
· т.!<�:;, �
��.!'·X).IO�-:'.:�"zpoeY{n:.:'" T�
1. . . :;;
�
: р,
:,,ю� :
:
4· 1::ыrp.:�_::?�.!nt.•. ....
Рисунок 1 6 1
То есть, м ы как бы сказали, что из таблицы нам нужны не все записи, а только
с
аналогичной номенклатурой. Вот теперь м ы получили верный остаток на установленну
дату по указанной организации и складу ( Рисунок 1 67).
Бргмя
ныполнf; щ.щ :
Результат з.аnрсса
�·
• 1!
j !
-
l
__
_
2
3
::==:::::::::::��:�JJ<��t;�e�� ···
1����ГJ№��,Ni.rЩП�::::::.::�:::::�:=::�::::
:
Ве+1т1tnятор о-.ко-.нмый
2
i······з·······i
!
",,,
"",,.._.,,..
,_."
__""""_.",..",,,
""",
,,,..","_.",..,"..,,,,,",,....""".""..,,,,"""""""......,,"""
. "....."Jколичеспюост&тёiк ."".
•
. ..
...
- - ·· ·-�-- ---,················· -···· ········ ·· · ··· · ·
·
4
·1 101
10
Рисунок 1 6 1
2 . 1 3 Соед и н е н и е табл и ц те о р и я .
Сейчас м ы сделаем небольшое «лирическое» отступление и поговорим немного о
теории. Чтобы понять, что собой представляет соединение таблиц и как оно происходит, нам
необходимо рассмотреть небольшой пример . Ключевое слово здесь СОЕДИ НЕНИЕ, то есть
таблицы как бы «пристыковьmаются» друг к другу. А вот то, как между собой стыкуются
отдельные строки обеих таблиц, м ы и определяем на закладке «С вязи» конструктора запроса.
Представьте, что у нас есть 2 таблицы: табличная часть документа и таблица остатков
(Таблица 1 -2).
Таблица 1
-
Таблица 2
Документ
-
Остатки
Номенклатура
Количество
Н оменклатура
Остаток
В илка
4
Табурет
12
Ложка
6
В илка
10
--
Н ам требуется соединить эти таблицы между собой. Соединять м ы их будем по
номенклатуре, что вполне логично, так как поля, содержащие номенклатуру (они могут
н азываться по-раз ному, главное, чтобы они содержали одинаковый тип данных), есть в обеих
таблицах . И тут возникает вопрос: как быть со строкам и, которые есть в первой таблице
84 Верный старт в 1С www.work-lc.ru
88002344322 Беспл атный з вонок
( имеется ввиду номенклатура), и нет во второй и , наоборот, как быть со строками, которые
есть во второй таблице, но нет в первой? Вот тут могут быть разные варианты:
1.
В результирующую таблицу попадают все строки из первой (левой) таблицы,
независимо от того, есть ли им соответствие во второй таблице. Такой вариант н азьmают
«Левое внешнее соединение» или просто - «левое соединение».
Все просто : когда выво дятся все стро ки из левой табли цы , то сое д инение левое.
В от как соединятся наши таблицы при левом соединении (Таблица 3 ).
Таблица 3 - Левое соединение
Номенклатура
Количество
Остаток
В илка
4
10
Ложка
6
NULL
Как видите, в таблицу вывелись все строки из левой таблицы . Строка из правой
таблицы с номенклатурой «Вилка» присоединилась к левой таблице по условию равенства
поля, содержащего номен клатуру, поэтому для этой строки есть остаток. Для строки с
номенклатурой «Ложка» остатка нет, так как в правой таблице нет н и одной строки,
содержащей номенклатуру «Ложка», поэтому систем а сама заполняет значение этого поля
особым значением «NU L L ». «NU L L » обозначает пустоту, то есть это даже не пустая ссылка,
не ноль, не пустая строка, а именно отсутствие какого-либо значения . Это тоже надо
запомнить. Левое соединение в конструкторе настраивается следующим образом ( Рисунок
1 62 ) .
"
; .f"Pfi!�: · (��! .; ( ������r���
:::
�����'�1"��к�:, �:.ГZifi� · ; i.1���.-: :�����·::� · Г���-��-�.:·:;..� -:::
Рисунок 1 62
2.
В результирующую таблицу попадают все строки из второй ( правой) таблицы,
независимо от того, есть ли им соответствие в первой (левой) таблице. Такой вариант
называют «Правое внешнее соединение» или просто - «правое соединение».
Опят ь .же : когда выво дятся все стро ки из правой таблиц ы , то сое д инение правое.
Запомним и это. Вот так соединятся наши таблицы при правом соединении (Таблица 4).
85 Верный старт в lC www.work-lc.ru
88002344322 Бесплатн ый з вонок
Таблица 4 - Правое соединение
Номенклатура
Количество
Остаток
Табурет
NULL
12
В илка
4
10
Здесь все аналогично: вывелись все строки из правой таблицы. Из левой таблицы
присоединилась строка, содержащая номенклатуру « В илка», поэтому заполнено поле
«Количество ». Для строки, содержащей номенклатуру «Табурет», нет соответствия в левой
таблице, поэтому в поле количество здесь «N U L L ». В конструкторе это настраивается
следующим образом ( Рисунок 1 63 ) .
�������:': j ·t.�-��Y. ·�. f' Гр-"�-�
�:
(� ;;����.т� ��'<е:�'� . �:: �$;::,:::�:.�·\ �·;:::т:::. �·,��тrоо��,������
�
),c,zJ�t•
"j.: · �;��wщ
. .
Ьй���
:
; ��щж
:.1
m::.·" . : · ��-�
. .
r.'"- ��
"
Рисунок 1 63
3.
В результирующую табли цу попадают только те строки, для которых есть
соответствие и в левой, и в правой таблицах. Другими словами, выводятся строки, которые
удовлетворяют условию соединения. То есть, в нашем случае, в результат попадут только те
строки, которые содержат одинаковую номенклатуру в первой (левой) и второй ( правой)
таблице. Такое соединение называется внутренним. Вот как соединятся наши таблицы при
внутреннем соединении (Таблица 5 ) .
Таблица 5
-
Внутреннее соединение
Номенклатура
Количество
Остаток
В илка
4
10
Тут все просто : строки, содержащие номенклаТуР У « Вилка» есть в первой и второй
таблице. Они соедин ились в одну. И з первой таблицы выведены поля «Номенклатура» и
«Количество », из второй - «Остаток ». Н астрой ка в конструкторе выглядит так ( Рисунок
1 64).
Рисунок 1 64
4.
В результирующую табли цу вьmодятся все строки из обеих таблиц. Такое
соединение н азьmается полным. То есть строки, отвечающие условию связи, соединятся
86 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатный з вонок
между собой, остальные строки дополнят результирующую табли цу. В от как это будет
выглядеть (Таблица 6).
Таблица 6 - Полное соединение
Номенклатура
Количество
Остаток
В илка
4
10
Ложка
6
NULL
Табурет
NULL
12
Строки, содержащие номен клатуру «Вилка» соединил ись, строка с номенклатурой
«Ложка» из первой таблицы
И · строка
с номенклатурой «Табурет» из второй, так же попали в
результат. Как это настраивается в конструкторе ( Рисунок 1 6 5 ).
Рисунок 1 6 5
Стоит отметить, что конструктор «правое соединение» всегда преобразует в «левое».
Просто он меняет табли цы местами, то есть левая становится правой, а правая - левой,
соответственно и соединение становится левы м . Таким образом , правое соединение легко
превратить в левое, поменяв таблицы местами и поставив флажок « В се» у нужной таблицы.
Можете проверить в конструкторе запросов, настроив правое соединение, посмотрев н а
текст запроса, или заново открьm конструктор.
2. 1 4 Соед и н е н и е табл и ц . П ри м ер .
Мы, наконец-то, добрались до финала нашего примера с соединением таблиц. В этой
части посмотри м на наш пример на практике и вьmедем остатки для всей номенклатуры из
документа, если таковые имеются. Итак, из документа нам нужны все строки, а из таблицы
остатков - только удовлетворяющие условию соединения. Знач ит, м ы используем левое
соединение ( Рисунок 1 66).
······························.....
; r�� 7
··-,·
-
··· ····--·····--····················
..........,
ё : : i �):� ��
· ·· · · -
-
- - -· ····· ·
· ·· · · · ···· ············· · ·· · · ·
··········· · · · · · · · · · · · · ·· · ·· · ·· · · · · · · ···· ·· ··· ·· ··············· · ···
,
Рисунок 1 66
Для номенклатуры без остатков в поле «КоличествоОстатою> будет выведено
значение «NU L L », что, в нашем случае, обозначает нулевые остатки . Мы помним, что
«NU L L » - это особое значение, которое не равно нулю. Это плохо тем, что «NU L L » очень
87 Верный старт в 1С www.work-lc.ru 88002344322 Бесплатный звонок
неудобно обрабатывать, если м ы, например, захотим сумм ировать значения этого поля.
Значит, нам надо как-то обработать этот случай и вместо «NU L L » подставить «0>>. Такая
возможность у нас есть благодаря функции «ECTЬNULL». Она позволяет проверить равно
л и поле значению «NU L L » и, если равно, меняет на то значение, которое мы укажем вторы
1
параметром . Как это работает, я продемонстрирую на конкретном примере.
В конструкторе запроса выделим поле «КоличествоОстаток » и нажмем кнопк
·
редактирования (Рисунок 1 67 ) .
Об.����-���� . �- Гl:>P.i!lk.>'!. . l...11,;;i._) :.л:><:�а-.u.11� .. . J�<i�.r- �....'
=
j
.
»
·
�t � # o :m. zw,
·1·
· ��-
6 ШitMMШ&i·tt·,г-+- "
���� T9e..:f;_ь:Ha&.r-��Qcтo�
!:��!
=
ш.:
·-· ---·-
. .. .. . .. -·······-···-·-···· ..... .
· ···-···-··.
.
..
•tщ:iъm�pЦ'S,i\%;)$WJ,.!�[-ИШI ...
Pёar41эo:.Ji.-t-ЯТ�зрооУсw
г Тое�
·�
V'.!::n;.�ec:eo
� TorщыHaC'<Лan;!:IO:C"rar<i< к.,,..ц.,.;:воОс,ат""'
С·> - &,е n-.з�1�
,�· CJ fi"'')#.CU."М
,_,.: CJ 'Рун"""' р·
ть; -:о стра<оr,,;,
ПРЕдСТАВЛЕНИЕ
ПРЕдСТАВЛЕНИЕССЫi1К�
Т�1i1ЗНАЧЕ��Я
4
� L.J 0rеР'!ЩОЫ
. ,; 1� f1.рвчее
Рисунок 1 67
Выбираем в правом окне функцию «ECTЬN U L L » и перетаскиваем ее в окно
выражения, как показано стрелочкой №4, в начало строки. Итак, м ы получили заготовку
выражения, которое н ам необходимо заполнить ( Рисунок 1 68 ) .
88 Верный старт в 1С www.work- lc.ru
88002344322 Бесплатный з вонок
J�щ
. 1UfJ�----···-·-·-········----�--�-·------��--��-�--�---�. ....
·· ··· �·· 1i�;;���:;r1��1�-i'�'�tlflШim
' П11ле
"
. ... .... ... .....................................
"
�-�
"
<t\��и Я3�'Кё! �.з�<X:.Gf<
и:� Ф;{Н!<l.U"�
· �� �;/} <;.iy:�t»�И �&�1ы со c:poк�:v:i.1
=:!:� &J •::t>p
%L&.<:!\:J p.a6on�...:t :::� .2:>�"1:J
· :-- CЫ -i><(u-t<'
��> iJ �-�,а:ные Ф-r�u.,о;и
Пf'ЕдСТ.J;.В.Г'ЕНИЕ
!lf' ЕОСТдЕН"JЕНИЕССЬlП'{И
�·
i
Тi<jfПНАЧЕНИЯ
1111
Ecii;ri;ti, ��;,;;;�;6! � �c;;;
�
• . • . ".
\
�
�'
;k,,;;;": ;;;;,=;=;m ·
�;i;;,��
;
А сюда п и ше м О в место <� Вы ражение>
Рисунок 1 68
В итоге у нас должно получиться следующее (если наши планы наступления войск,
вдруг, кого-то запутал и ) ( Рисунок 1 69 ) .
=
D�!lf,}!.!LW!JЩJЫll!
Фy�J<tW. я�1�� ,<;'.�::o:poc.r.e
···
Ped'€W:�дlU1l=f rО'е �:;� УС..'1?--Т т{"'В"·�Р!:<� .�:ши:.;е�·J?Ю
са 'fY=st<"
""·' [J 'f>)''iКJJ'1'1 pafu Td СО <:;p<J>(Sf>-"1
Ece non-;:;
::;_:·
:·�·-
;1 ТQBa.-JЬ.1H��:J.<r�.n;axOc��-.K�r.ицec.recO:-тaщJ<
i2J 4':.:'Нl'диt:1 �або·rы с �"!дJ..r:it:
{;;:]
.:.. БJ
A·�ran1Ь'-:"e Ф!.111>W.�
.,..
Пр"��,� ф'��-�Ю.1>1�1
ПFE.дCTдbllEHV>E
ПРЕilСТАШlЕ НИЕССЫЛКV!
ТМП3.НдЧЕНИЯ
C::J Оnерzтарь;:
-.!:; D ПрQ4*
:f::
Рисунок 1 69
М ы как бы говорим: если у нас поле «КоличествоОстатою> равно «NU L L », тогда
нужно подставить ноль, и наче, пусть остается поле «КоличествоОстатою>. Кроме того, после
такого редактирования, система автом атически присвоит этому полю п севдоним «Поле 1 ».
Нас это не устраивает, и мы присвоим ему псевдоним «Остаток » ( Рисунок 1 70).
89 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатный з вонок
о + .
..
Нt:;:.<�t:•'f'i�
.:.:.. �:11"�=�
.•.•
.....
.
.
.
. .
.
. ..... . ....... ...... .... . ......... .
"'' �
. .
...........
..
• . ........
.
· · · · · · · · · · · · · · ···· · · · · · · · · · ····· · · · · · · ·· ·
. . . ........
, r1.ъ.ts<��TJ:.�1'/w
-n«:T�:i �,!"!"I�
;.;,/./
f·�a.�·�:tt l'»�o>'-:n-,r.T�·�}(.:::::\:"�::�
h-1 вы:()? ll.Qf iiJ.. :(fl1."!:;'Wt-!al..'Y.�;5..".f.)"';,
;I -�� �f'��:-()(':':':':r.x Е::",т:> н=;ц :vrд
Рисунок 1 70
Обрабатывать поле «Количество» на предмет значения «NU L L » нет смысла, так как
там его точно не будет, ведь мы берем все строки из таблиuы документа. Хочу обратить
ваше внимание на тот факт, что при внутреннем соединении проверять на N U L L вообще нет
смысла, так как в результат войдут только строки, отвечающие условию, то есть только
совпадающие строки. А вот в случае полного соединения, mобое из полей может принимать
значение «NU L L ».
Не забываем про параметры нашего запроса (Рисунок 1 7 1 ) .
.. . . .. ... .:. .)..
-.IJЬ�в�Шi"=
·:-·i:
· ·; il
· •=���=-;:.�
ъ
.
jl
i
11
1
.
..
.
.
. .
..
.
.
.
......•......•.•.........
Ко нсоль запросов
;1:1��?.t�r�
:.__,,,,.,...,... ...,.,._
:
() ·Оf,��F.мп� r,;.:: par.1EHj)<-.:
··
--------·
г ,����rrt1Ж&f��1
:1;.;рамет))
.
.
;.
V�Q>ШO<JЦf.!I
Ct.r.Щl
..
.
� "" "
Ш.Э1 .2U14
.
" .;
Скr.ад № :
Рисунок 1 7 1
Вьшолним запрос
г:::: :т.ч: : �:�===�:��.z.
и
посмотрим на результат (Рисунок 1 72 ) .
Врf:: мя аыr;ода. -
Ре.sулы.аr запроса
.....
l
кo:nи�;;cr� c:;
;;; ;;:;; ;
: �;:;;;
JosrAi?�:;;�;;;; :;;; ;;;;;;:;;;;;;;;
г=�: . . ..�.
.
.. . .... .
.
. ..
rt:Jii
::::�:-------------------------�
-�-�--------------�
:!_
.
=:J
.
" " . . . . " . . . . . . . ....
· · · · · · · · ·· · ·
·
;
.
.
.
: Г::=
. ...........
... ...
..
.
_______________ _
Рисунок 1 72
Теперь м ы получили реальный остаток по товару из документа на заданную дату по
организации и складу документа.
Гл а в а 3.
3 . 1 Соед и н е н и е табл и ц . Детал ьн ый т еорет и ческий п ри м е р .
Как понятно из н азвания, в этой части м ы продолжим обсуждение тем ы соединения
табли ц. Только теперь мы рассмотрим этот вопрос более углубленно и детально. В
90 Верн ы й старт в 1С www.work-lc.ru
88002344322 Бесплатный з вонок
домашнем задании перед Вам и стояла задача соединить виртуальные таблицы оборотов
регистров накопления «Заказы покупателей» и «Продажи ». Вот тут и возникает вопрос : как
их связать? На конкретном примере рассмотрим, как будут вести себя соединяемые табли цы
при тех или иных условиях. Для начала, скачайте информационную базу по ссылке
IJHP.$..;//Y..9..Q.\.,?..K!.d/C.c.Z..9..4dY�.J.�.RlYY..
Итак, предположим , у нас есть 2 табли цы следующего вида ( Рисунок 1 73 ) .
Снлад
Скnад № 1
CIU1aд № 2
Прод
Sклка
оменматура
nроданn
Ложка
Зак
С'11лад
4
6
HOflleнкnaтypa
Склад �g l
Табv;:�ет
а<лад N9 1
з..,1ка
склад Nо 2
3:ак.аза.но
12
10
Вилка
5
Рисунок 1 73
Слева располагается таблица продаж, справа - заказов. Давайте соединим таблицы по
номенклатуре внутренним соединением (напомmо, что в результат внутреннего соединения
попадают только те строки обеих таблиц, которые удовлетворяют условию связи). В
конструкторе запросов эта связь выглядела бы так (Рисунок 1 74 ) .
. . . . . . . . . . ... ..... ... .......... . .. .. . ..
· ·········· · ····· · · · · · · · · · ·
: i,�
�
4'.
'S�� ;
... ....:;;;:_� �- -� ��-;.���.�.��-'�-�: . . .
.
.
.... ..
· · · · · · · · · · · · · · · · ·········· ·
. �- ' :: "°<.:.� �J:>hz<
:.:::::-;:;� �?��:.:.����-::'F:�... .
.. . :).;.�;;;:_ � ... ��f!.
. . ..... ......... . .. . . .. .. .. ..
· · · · · · · · · · · · · · · · · ··· · ·
.. . .
Рисунок 1 74
В от что м ы получим, если соединим таблицы только по номенклатуре ( Рисунок 1 7 5 ).
Зак
nрод.С КJ1ад
С к.;ад № 1
CY.r.aд № l
О Внуrреннее соединение по номенклатуре (только совпадающие}
3аt<.Склад
ПDод. nродано 1
1 Jак.НоменНJtJтура 1
1 nрод.НомеН1Ut�тура 1
lв�п><а
1
!Вилка
1
lв�лма
IBi<r.кa
41Смад №:Z
4JCкr.aд No 1
1
1
Зак. заказано
1С
s
Рисунок 1 75
С троки,
номенклатуру,
удовлетворяющие
выделены
условию
одинаковым
связи,
цветом .
то
есть
Именно
содержащие
эти
строки
одинаковую
попадают
в
результирующую таблицу. Как вы можете увидеть, результат состоит из ВСЕХ полей обеих
табшщ, а мы уже выбираем из нее нужные. При таком условии связи строка из первой
табли цы повторяется дважды, она продублирована. Если мы захотим получить итог по
продажам, то он будет искажен. Кроме того, если мы будем брать поле «Склад» из таблицы
заказов, то получится, что продажи есть и по первому складу, и по второму, хотя это не так.
Получившаяся таблица содержит некорректные данные, так как наше услов ие связи является
91 Верный старт в lC www.work-lc.ru
88002344322 Бесплатный з вонок
недостаточ ны м . Становится очевидным, что необходим о соедин ить таблицы н е тол ько по
номенклатуре, но и по складу. Сделаем это.
В конструкторе это будет выглядеть так (Рисунок 1 76).
; �·S1 3.J:�:1rc..:f kt1��:�1�jt'�-rc:
CJ .-�; �с::ь.г���=:::�хq,.;. ..,._<
�--�; .ii :i��*�J-�J'М'l!nМYSц-..("��
:
:IO:·�«.�.;f.v··k.<
:1р.":�.а:.�•\,:
:·t-�':IX�J.�
··
.
t• .
•
..
.
,;
""
. .J
.
=�.
"f,'�t:at";.--м.
; • ��о�i.;б.:.� ;:у ��4Ь'«М""i�
.:&
� ;;:.:.:j�
; :А :""�Q�.W
···:
;
··
�.
__ _
•
�:1�·{\Ж�?.!1Mt=i-Y��-C)� ��«;:�'>:;�
�-· �:..�'\ж.:..:- -�у���1и�.т;
�'���i�J;�:��)�:.·i
·
: ;__ : N.-..���(:yr�'S.�_,�
Рисунок 1 76
В ьшужден сказать, что в случае с нашей базой, необходимо соединить и по
организации, так как продажи и заказы могут быть по разным организациям. В примере с
нашими таблицами организации н ет, так что это не критично ( Рисунок 1 77).
Таб•(;>е.r
СК11ад
Внутреннее соединение ло номенклатуре {только совпадающие )
nрод.Коменкм'УР"
BY-..lB <a
Прод.ll рода�ю
3<1•.Скпад
n
зак. номенкп
ви.� r.а
и
10
.'laJC. ,!акааано
3ак.НОме<1млатура
Вил;.;з
4 Склад № l
Замазано
Виm<а
СК11ад № 2
nрод.скпад
Зек
Hoмf!НJIJlanma
10
ра
5
Рисунок 1 77
Совпадающие
строки
выделены
одинаковым
цветом .
Они
и
попал и
в
результирующую таблицу. Теперь данн ые, содержащиеся в ней, правильные, искажений нет.
строки не дублируются. Условие связи оказалось достаточным. Для упрощения примера мы
рассмотрели внутренне соединение таблиц. Такое соединение не подойдет для решения
поставленной задачи, так как часть данных о продажах и заказах теряется . Н ам нужно
вывести все сведения и о продажах, и о заказах . Как же быть? Нам потребуется полное
соединение, тогда данные из обеих таблиц полностью поriадут в результат.
В конструкторе полное соединение по номенклатуре настраивается так ( Рисунок 1 78).
�-�.ij)�:U,:: : ..
. · · · · · · ····· ··········· · · · ·· · · · · · · · · · · ·
; i�· ·:· ·:·;;.�� ·�
ё: :; �: �;��� ;�;,
··· · ·········· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·· · · · ·
· · · ····
·
·
···
..
. .. . . . . . . . . . . . . . . . . . . . . ..................................
.
Рисунок 1 78
Нужно выставить флаг «Все » у обеих таблиц.
Так будет выглядеть результат при полном соединении по номенклатуре ( Рисунок
1 79 ) .
92 Верный старт в lC www.work-lc.ru
88002344322 Бесплатный з вонок
Прод.складG�
Смад Nо l
Склад NQ 1
Склад Nо 2
N ULL
Прод.Ном.енклатура
Вилка
Полное соединение по номенклатуре
4
В и лн а
4
ЛОЖ!'.З
• NULL
Зак.Склад
Прод.Предано
вилка
Склад NQ 1
Вилна
б NULL
с.-.,1ад №! 1
NULL
Зак . Заказа но
Зак.Номенклатура
Склад NQ 2
NULL
10
5
NULL
Табурет
12
Рисунок 1 79
М ы видим те же строки, что и при внутреннем соединении. Кроме того добавились
несовпадающие по номенклатуре строки каждой из таблиц. Для таблицы продаж это строка
№2, для таблицы заказов - строка No 1 . У этих строк заполнены только те поля, которые
взяты из исходной таблицы, остальные имеют значение N U L L .
Идем дальше.
Рассмотрим
полное
соединение п о номенклатуре
и
складу
в
конструкторе запроса ( Рисунок 1 80 ) .
� .• ),�,..,, � ::�"-(-�<:•::f(/.'�':\.: ;.-� NY.';.;Kws:·i)/:15
·················wr�
�)№�
№.w.•m11№J1�
l .. �Yh�:i�"'�;-o'J�::��)6:-i)(': !t-.• <'..O- ���� i;
Рисунок 1 80
Результирующая табли ца выглядит следующим образом ( Рисунок 1 8 1 ) .
Прор..О<лад
Смад № 1
Смад NQ 2
NULL
NULL
Полное соединение п о номенклатуре и складу
Пrю11. Номенкла"JVра
Вил•..а
Ложка
NUll
NULl
Прод.Продано
Bl<ll Y.З
б NULL
СУ.11ад № 2
NULL
NULL
Зан·.Ззказано
'!ак.Номенкла-тура
за.к.емлзд
4 Склад № 1
NULL
В�-.лка
Склад № l
5
NULL
10
12
Таб•;рет
Рисунок 1 8 1
Как и при внутрен нем соединении, м ы и меем одно совпадение. Далее таблица
дополнена несовпадающими строкам и из обеих таблиц: продажа ложки со склада №!2, заказы
вилки со склада №2 и табурета со склада№ l . Таким образом, табли ца для решения задачи
готова, но нам мешают значения «NUL L », которые усложняют обработку информации, не
позволяют получить итоги и т.д. Мы с легкостью выйдем из этого затруднения, используя
функцию «EcтьN U L L » языка запросов, как м ы это делали в ч асти 1 4 урока 2 . Вот так
выглядят выражения, которые м ы будем использовать ( Рисунок 1 82 ) .
'
t:сr!>NUЩПрод,С�.лад, за к.С��дj КАК Склад
ЭТ :) Д.П!·1
�. .
�
�
.
ЕстьNUЩПрод.Номенк.11 а тура, Зак . Н оменклатур а } КАК номенклатура
ЕстьNUЩПрод.Продано, О} КАК Продано
ЕстьNUlЦПрод.Заказано, О} КАК За!' а
. зано
·
..
. ..
э:
...
ПО.ПЯ
�··
..
! l (�� J("jl ;32}1
. . :
">) дл;; ;с:оли«ест;)<t п;щD.:>:•ного ти:: э р.::
Д�;�
: Uf'l' "' & r:
. r г :� .o d � э.:i<s >< !
< vr ci
Рисунок 1 82
93 Верный старт в lC www.work-lc.ru
}:1л ;:; r�т1я r·юr,н� �1 ::л<:Т'/РЗ
88002344322 Бесплатный з вонок
н"вэ рэ
Немного поясню. Для склада: берем склад из таблицы продаж, если же он принима
значение «NULL», то берем склад из таблицы заказов. Для номенклатуры - аналогично. Для
количества проданного товара: если оно принимает значение «NU L L », то подставляем О.
Точно так же поступаем с количеством заказанной номенклатуры .
Еще один важный юоанс соединения таблиц. Касается он дублирования строк.
П редставьте, что мы возьмем не виртуальную табли цу заказов, а реальную. Данные в ней н
сгрупп ированы и выглядят так (Рисунок 1 83 )
ано
скпа.11
Скла.::. № 1
"
CкnaA № l
З1к
и
Рисунок 1 83
Так, даже соединив по номенклатуре и складу, мы получим дубли строк (строки.
удовлетворяющие условию связи, выделены одинаковым цветом ) (Рисунок 1 84).
Скла
Прод
Н.Оменн.nа
Зак
П.ро ано
:6tbl�-�����P%W.�:W'ffi·�4
(К...ttад № 2
Л�fКма
б
Внутреннее соединение по номенклатуре и складу (только со•nадающие}
Зак.Сtи
ано
13
4 (;и,а.ц № 1
Рисунок 1 84
Для того чтобы избежать такой ситуации, данные необходимо предварительно
группировать. В нашем примере необходимо сгрупп ировать таблицу заказов по складу и
номенклатуре. Сгруппированная таблица тогда бы выглядела так (Рисунок 1 8 5 ).
Oma.o.
Скл ад No 1
С клад No 1
/
НоменмаТ\lра
Та бурет
Вилка
3ака·зано
�
12
15
Рисунок 1 85
Только так при соединении таблиц мы получим верные данные.
3. 2 Объед и н е н и е та бл и ц .
При объединении таблиц одна таблица как-бы продолжает другую. Если при
соединении таблиц мы «пристыковываем » одну таблицу к другой слева или справа от нее
94 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатный з вонок
(увеличивается количество полей), то при объединении м ы «пристыковываем» одну таблицу
под другой. Количество полей и их псевдоним ы совпадают ( Рисунок 1 86).
ОБЪЕДИНЕНИЕ ТАБЛИЦ
Прод
HoмeI0U1aryp�
Склад № l
Продано
4
С•.л•д № 2
Зак
См.лад
Cv.лa..c, № l
12
\
lQ
Объеди н ение
Поо11.Смад
Прод.Номенмэ�ура
Сkлад N2 1
L
Вилка
=�� ---
1-'
"'-l
NL
U
таблиц без указания связей
ПооJLПооаано
Ям.tмэд
4 NUL
l
NUL
NULL
б NUU.
NULL
!Т�(>У/)еТ
NUU.
NUU.
Сктщ № 1
N
UL
N Ll
U_
-+N_
c..c_
_
_
_
+_
u�
_
_
_
+C-"'..cc
r\i!A
"'�3_--------i ���---- -l _
N
Ll
: 8Ид1(,а
U
U
С��"1ад :№· 1
33К.3аttа1ё1НО
12 ,,..
,,.
,·..-.-- - +- -------------�1�
NUU.
·-
А
Рисунок 1 86
В таком виде с таблицей неудобно работать: о на не наглядна и не информативна. В от
если бы м ы могли указать, что склад из первой таблицы - это то же самое, что и склад из
второй, так же, как и номенклатура из первой табли цы - то же самое, что номенклатура из
второй, то тогда результат бы выглядел так ( Рисунок 1 87).
Объединение табл и ц с указанием связей п о одинаковым
реквизитам
Склад
Скпад Nо
1.
атура
Номенкл
В �1пка
ложка
С клад N·;! 2
Сма.ц NO 1
Табурет
Снлад NО 1
Вилка
NUll
Вилка
Склад N0 2
nрод.nродзко
з.ак.Яка :!Зlfо
4 NULl
б
ll
··-·---·--·-··--:-·-·��
NU
12
10
NUll
5
NUll
Рисунок 1 87
Теперь наша таблица очень наглядна и понятна. Если же м ы обработаем значение
«N U L L » так, как делали это в предыдуших уроках, то получи м такую таблицу ( Рисунок 1 88).
Объединение таблиц указанием связей п о одинаковым
реквизитам значений �я несовпада ющих
с
Склад
Склад Nо l
Вi1ЛКа
НоменКJ1атура
Склад № 2
Л о ж.ка
С�<пад №! 2
Вилка
С клад N2
1
С клад Nо 1
П род.Продан
·о
Зак3ака зсан:о
4
IJ
о
12
о
5
б
Таб�·рет
о
Вилка
Рисунок 1 8 8
То есть, для несовпадающих полей, м ы указали, что значение будет О .
9 5 В е р н ы й ста рт в 1С www.work-lc.ru
88002344322 Бесплатны й звонок
о
10
Давайте посмотрим, как это делается в конструкторе запроса. Для запроса выберем те
же таблицы, что и ранее в 1 -й части (Рисунок 1 89).
� Т ФFж.а..1 � :'$';>Л1:
и %
i
�. :.;:���
.
У. ���
�-� ..����.. ....�.?;t?.������.. ..f.:%'f.�. . . ?��. . . .�
���-��----�� -��---··················· ···················- ··· ········· ·
tь � ; х ; ;,_� �
: УФ-"i��.:ёУ
�=
-� ·:�) Pe;t;.-:-�11·kJкc:,��я
:М� T�iH�C...: ::is.в1К<
-��; T,)e,.�:;.;�(;c.:r.1!4�< �:-;:.:>�
·� ��j Т1)�> :-е��.'!�<.С11:т-..!-w.:А
-� ��j :��:��!:::д.:::!!.в�< С�ст�Тl/'"ИС6орс'УЪ-:
-:�J
-�
·<:
-1:.
: ?:
rьс�"_.,,.
�::.-
i ,..
t.� ; x
)k:t.'��l(�Т')�
# �if��
;, С:.-w.мь:J$:�-о т
l . r\()�;.«Jeч>:· ':":.· ,..Юt'"Ь-•.:��:t
l . rf.oA,!,f�·(.i&:�:.-r.A <J.� r:
; • :\:.О�.А"';«)еф-·':":;( н�rе"1")�
а rf<>�:r"«.Jec"';.��: i<-�(f.:. �1 :.:)i)"t�·-=- .
.� �; f1i9E,m.:v.Ton�:.e: C-t':юon:.:
� :-Ф; f1<'1pn.:i.�:�P':;f'5 Q(";":',ъ:-.с;.1.
Рисунок 1 89
Сначала
выбираем
поля
из
одной
таблицы,
затем
переходим
на
закладк�
«Объединения/Псевдонимь1». Ранее на этой вкладке м ы только задавали псевдонимы, тепер
м ы создадим здесь объединение таблиц. Для этого в левой части окна мы выделим стро к�
«Запрос l » (это и есть наш текущий запрос в объединении). Теперь активны кно
«Добавить» и «Скопировать » (Рисунок 1 90).
:,......,.,,. !
t .... i"':w:южv.�1Ы.(Р"�'�я
: ... Г:с-з.сv-..жv.Оборсrы.С:(.r�
t . Г:i;:""� -1'1-<)6opc rы. :-\:+.:e�«Jv.. �1J�
1 f":p.-i,o.sмv.�sы �r;&.:.i·tt ��)6ссс
t ... н��:-:а":'ур�
' it,omf'(e-�..cOOOpc�
Рисунок 1 90
Н ажав кнопку «Добавить» или выполни в аналогичное действие из контекстно
меню, добавляем новый запрос и оказываемся на закладке «Таблицы и поля». На самом дел
мы оказались в новом запросе, который является частью нашего объединения. Здесь
выбираем вторую таблицу и поля для объединения ( Рисунок 1 9 1 - 1 93 ) .
: . 1·��% (1µ'"�
: . �:�u.:�
l . �<.:::::.- �...�.::�
' г��-f'д+с� :-:.C·i'l!Nf";;n:-:.asцx;:
J·i � �>i<�Hv.-:ёH� t·.-1
nr.;af'>Y i�Honкy f:.-1 ЫilJИ
и гыби рге1v1 п ун1<г контf: 1<сг :-юго мгню
Рисунок 1 9 1
96 Верный старт в lC www.work-lc.ru
88002344322 Бесплатный з вонок
�
-
A�i�-- ��
�
_
<!J
.._,.
____
·
_ ,..
�
r
-
�-�>�r.-r.
-:« !�;/'"..-<.--"'�
.о:. . ::���..J-:�з-.:-.-t
.
:-�· .16К»")-.А
: {!
- ···················· · · ·
...... · ·
··�
.. . .. .. . . .
У• : :
,� ,�� ;,�· с��;�· ;-, • с�-�· �- - * ��, ·��:r:�""":7'1.�V.
:�: ":''"J�"tж.":.< .�c"·...�< (\:"a}):o·Y<J6:o..""..:
. ;��: �n.-...1�
.:i:: ;
:... �.�J �i..vtr"- r�.:..!': о-:��"'
Y ;jj :J"9'1':<vf(ltl'1t� .)-;.-!.!'"'Wtl;�'f'::,..: ;d� -��:.ж"'а�: :
�:1: ::..c.".,.�
.:r:.;::�p ·...��-""
=� :....:-ь.f";;.х.� :�;?СФ.::У.:"4)»,.о
;_· :..� �
��»A"::y. �:�r�f.-.;тлrx--�Y..»:X•"'..:
вклгд�:а
�
yкa���·): r.tF.1i=?T.
что ;�н� вс
'· �: ���'(IJC
�
эа:: росt: 1
: r·��
::.�
��
:-·
�
.•
as��--... �
:::0-'»:'��:.:�:.:::'��:w
8�t1
\o?o',Y."�·�":".: (\:17!�...
I::б: ��;:f'��.... :J:.::y"!,X\·�� �
Рисунок 1 92
';�;·";�r:7:<"""!
:" ::-"�,
r»'��;.�;::§_���.:::s.:- �v.��-:-:-::::; ·:-:::�& :-'���·..:������r.'.'-'-%��-:�-;:·������:V.�O'�A«'<. :·:·:X&WXX«XX'-·:·:-:-:::-;.,�:�
\.
. . У•:;.оо:.,-; · '°'''"'""'
:
·
...,,,_, '· -""' �. .. .":'��.. -'�'"'"'�"' . .с��·�,��:С'...
: l�-:"
: J·'1<v:-..: 1
·
r���-�·=�:;�···
·· ············· ·· ····· ·
f
-2
�" r3'(,!�e.J�'1it:S
�.... Гf'()�. �:к,-"'t"";�
:$ Г;а'):'Ь��')(:':"N.?°'..;����'!'
:." ���t'�":'Ji5
·* �")���?.�
.."" .... �
W
�\l�Г
�1'.
...-с :::
:....: У,;<>)(; =
Z . Wi:t�'*-�·.:
:" �!'lllS.:
�::.»'!\�}.-re} ,
.:e-:;::;;V":cw�t'·
�....':'(!"c-mft'-t'>
�м
Рисунок 1 93
заnрс-с:Е'
ne<лF пока
стс:ут.:�тsук
В ыбираем таблицу и поля второго запроса (Рисунок 1 94 ).
'."i '�
� �-� �).:
:
:·ьr.�
: • ��=-Y.«f:"�:et�ci;p.;�.: �('"�ac ;���
: • .?���:.�(.1,}J "'Jt:t'��!':-;-f.A:'o.�;\
� :.:.! ;A::.r."�
;·*1 ::#'S"U-:�.:�,4'���
.
v
. j.J T=:�Haf'JOU:-'"'�
� r��"At:-�:\IS)_ :-�
-if. f-}f"A()t:.-№-°..:.::-.aз;.x '):'!'.1\tY.
·�
�,,..._l!-�:"::y.;,..-�"'!':':�AJ&'tX'� :{.-:.�.,.)�
� �!!���:;;,..)"°*"'!'::�-:-Р'- ;;,. �:t- !':""E'"�'1'M:'Q.<{(>�
� - ��ю: ���
:.. �4'
' ���·1
f :<.:·�=�=°'�
# :(,.. ��"'!"Z�:)..."mZ
Рисунок 1 94
Переходим на закладку «Объединения/Псевдонимьш ( Рисунок 1 95 ).
?..�=- �--­
�о 2
: : 1:�� ::"'1.:.:
:. � (iO:�O�·.?-JI:
;•
(к.-�.с:.
: .. �
-=ь�ь
='.(;'«·.ое.:��-МХ'�
а l'Cf>1
...�-re<J,\»txo.t:
i.. :r:.:.r.«•:.�')/Y.o ;:�n.1 ���-�": �
�
:Ь.�о:•:-.-�..;:тыСУ.;<а;:
t . ����.:.; w �«.:::!-"12
l =V.м�":eof>.;,cvт�.�:·�"-"f"':�-Cof..r."t.;.
�-� :::����: :;:�;::::�::�.
��1
:. [����
Рисунок 1 95
В идим, что поля из запроса 1 сопоставились с полями запроса 2 . Это произошло
благодаря тому, что их наименования совпадают, но они м огли и не сопоставиться, тогда
сопоставление можно было бы выполнить вручную, выбрав нужное поле в соответствующей
колонке. Если бы связи не установились, то поля на закладке «Объединения/Псевдонимы»
выглядели бы так ( Рисунок 1 96).
97 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатный з вонок
.". -··
.
.
.
�-- r.:..,.,.'1.r
"!. �-:.:ь:!.Js;r&c:�'!:")..,,•
:.• �:хм.о:
�-·
l" !i>».�v.1�.:н•r...>;'$
� У
.д.
-����t"
;� fо".0�-твоf�д
!. .
Qp· ;:нfllQdatM1
... С.к.м�'i
':.. Hnмeнlt:"'.a"JYP<'t1
1Ъс--.,:\З-х-ЩО.
-.i.:
>�0с:э-ц
�-" :kxi� .�� н-.:
� :1':.:№
J !"'::;o:iu)ll(�� 11'.c:--*��,1:>'k.(;r.-:-
.
�jJ:;,т.:�·1�""�
.
;0);..!1':.. ��У>
6.:а�;�-:->
.i;1::."i'!"-�{
�'>
�U;r;:-tC P
.>��r,.
<Oн:yr-:.-r::::�·(;>
;
'�t"<:'fr.'P.:f�1'.:'
:;_ :���."-:Hcv.yr·.;:;��;;(.�ю::-T•A К..:-;·м..t-:-:zc'i r:.·x->.:.
lд 3&,..C;>::r.;;;flcд1'1<:: :�;d-:'""74Y:"t---4�"�·:.��:�
·��f:��
: ���:����
;__ ?.is�il:'Se.Й\�,т-A:c,��J �...:. :".))�
·
· J.. .
.
.
Рисунок 1 96
В ыбирая поля в соответствующей колонке, соответствие можно назначить вручную
(Рисунок 1 97).
. .......... .. . . ... . . . ... . ....... .
..!.��
. :O::.�"e:!'..J��=�-���'?. . .°!:-:.;r:�!� . . P.f.1_�!;���� j GUC>t::::.:� �:\.."C:=��=
!.��
--
��-:-�-�- ":?:-f.
:!�.=-� �- --��:�=-�-�- · .
:." CictE..-::.
'
�-.... �,
;.:.t;;o;«.. K: H?�
:-c'..-;:-«-.
.z��
:Ь:--а.��··�(,.t"_ф"; � (-f:".С�'\.ц;..-,:1;
:О:·.•1.п;,..(\'"h:?>-;ъ.; Сх.ц.::,
!.# ;rр...��..;�,щ., ;.;
,.:-��....:;):-(..)-;)
.j %c�·�МXl!W :<..:.- ��:�::<х;>;
� ...n. ruц.
:>
:-reaf)pюe:�
3:::1,х;-:
: .. �· · · �
.
z. . ..2<.эЗ<.:fХ.-:�-�:-еr�'(О.х:-:..-·�; Ст..-.:- :..м.•·�
i..
�11<><,..,,.,,,.r��
:_ �--'Jc-�r:�)��=�r.dt''>X.f-�..; �t.is:-1r�
1 ���J-�>'n'5.,.�l'Mi'YX��- k("*K�;l°tм«·.i.
Рисунок 1 97
Переименуем поля « КоличествоОборот» в «Продано», а «КоличествоПриход»
«Заказано » (Рисунок 1 98).
:*·:u.-:�1{�::-i:""I r�,.,x:--:.)(0�:) . Усt.
.;; .э •;.: •.�
?=:����·:·:: :;.��::. . С�ъ<-.:>;-.. ·Е>l""·�.'f\.""..:��·л.�
� \jit
U
1" {>
U
й *
�. :?-:=�: , ��:-X.:.:' ."��-:P:?'.'.�:�: . .. ��<::.=. �
�
:?<?.
�- -.
..
fЪ.;ч.�:�!"-о'��'\i!о:��
1·��xx'.X.:�·!",__"_J'_�
: " f-Ь-·�f!';,l:,)1'(..J-3
:" ��oc.
�::oJ ��S-:�:4���-d
r�A.'°Jt'Кt
-J �::i"*�
.
..
. . . .. . .
.
... . .
�-· ��.'°).'\Ь.:
. ГЬ.-:�...�f��!W.��'115:.».;
.ПcY.;.·z�P--:1�:·:x·:0< C'.·1.U:
:. • :Wэ3'
..:
:" �:J!..: ::Ь..�1�"Y.:�'\X!;Ь! �.(11- :X :1et'"i:.-.t
Рисунок 1 98
В ьmолним запрос, посмотрим на результат (Рисунок 1 99).
Консоль запросов 0 . 1
Ещ�
Текст .з&r:рха
4
СОС "Торrсеь:й дом�
Склм м 1
10
s
10
Сквад
No 1
Рисунок 1 99
98 Верный старт в lC www.work-lc.ru
88002344322 Бесплатный звонок
в
К сожалению, значения «NU L L » не отображаются. В место них нам необходимо
подставить нули. Для этого мы просто добавляем поле в каждом запросе нашего
объединения и значение этого поля - «0» (Рисунок 200-20 1 ).
9.. ''·-�-- ..
:kr.s:
i:
m�
J.$�
' ��
�.·. ���� ��
.
t . :'.:-�ж
�':� .�::"ц�·�·&
:'Ь�а-..(..�Сf'".,.( У��� &
: Х.".Щ<:J
№
ffi&
<
·�
<::::�...:f!W
;Jti.�..:�*
@.1
:щ.-:-1.,д
, ...� }.:-..E
.... �
:.-;i;?.>
':.;:f
�'�:::: i.w.
%�:;:-J[
;.7
.Х)
�ry,,�,-:.,
..:,r'» <:::--..-..:-
,d •м,"
�:-
х
4 i·
X:,C'l:it..."
'· <.,. ::
(
�
...
1
i
Рисунок 200
�&"''.-·.:•c�c.:.�,. "
.�".·4;;,;
�
/
�
·,i
:i:
�
f&t.
�
tt
�
�:
�
�
::
�
w..,;
.;;:��j;..::.,::�.·
�
:-�
: ..
�- �wжХ,&);'(..:Ч:-..: •«о&
;" �.()(�"'M�Xl'l)'ИS
� �
' ���:s..,._�� � ��·
· � - �-��
:.,
�
��
Рисунок 20 1
Это нужно сделать в обоих запросах н ашего объединения. Затем на вкладке
«Объединения/Псевдонимы» выбираем эти поля там, где они не сопоставились ( Рисунок
202-203 ).
.
.
i�-:-��: ;.t �·... �:?? �
�
.?.·,,,.., 1
....
....
....
...
....
....
I
H
"""
"
"'
--·� . ;; �.
� �
' 3altИ>1JfC'.
lf) l'Ъnet
""=·.:
:-::x·.:i� K.�--�-:-�>...,.: <•�.c��-��..w::i .
: " :=:.x·�X.C:::;;J."')�:.Ol. :э"
L"
=���r:���"'�s:мY.)6..""(:<=� :�-������
t . 3��...r.:::•:i11,)т,;J:<.�J.>:i=.e;;.v C�"z;J
с
! [. �,
�
�
Рисунок 202
. . .. . .. . ... . . . . ....... . ..... .. .. . . .. .. ...
!��.�. :��� ...!:Р.�.���. . У.�=-� ..f;:t�
. �-:.�� . C<i�'-;.::tr:':>.:f;ti� �.��- .����.!�...�������. .���·.���::
:'Ж'J'V". �
���::L·
Wf:· �;�
:\ t3·� �···
.
l'• ,.,
ч.,,."'««�11з:wз
,...., .
.
.а
�1 3-.�
�""" " '
;" =� ��,��'X"'"'W \.x..�:.:
�<t
� " :'-.x,, �
o(i..y
.x· �'-" �'<'К:tr-У.:Н"":-'С:;
'" �
,..;>.""
� с,
".,
,
,
"
,
, '"�--..к:""'"'
Рисунок 203
99 Верный старт в 1С www.work-lc. ru
..... ..." .. "."�'l'X":
.... ��··:i��;���;;���:;;�·
�/
·····i :�··::�:;��
;;;.;;
�
�; L);;;��;�;�···
�
.
;Jf
88002344322 Бесплатный з вонок
���;;;;�·
l ... :*«,<t 1,.,,f!;�;n.<o:�r��r� �:XЛ<t(,
·
·
� �
�.�
�
)'( :�"Y::.'l"���'{ �:;� n.i . �bv.��r.,•н·r�
�:
�+"�•·):�"r:-��:t.:':1'jf.:-:x>":"�..i i<.;"-i.�-lf'>:Т'}�f�·x·:·Щ : �
�· с
�1
i
�,��::�=/
:;,.. ���;-;;1 : ,;!
.
1
�•• �:tЬ:О-�
�
�
=------------==_..,.......
:::Ь:1Ьс:w
�"�·С�··: '''
. ...
. ....
....
....
...,........
. ........,..,.""!
.r.��-;.[���� .1 ����%"�'""' :.��?." - �-�-':'... .�?."��-�-�- . ��:':?. ��
�---
•
·�::х.з..:м
: :"1-ж,.-;}з:>::f�
.№:-;;.:••.....� ;.J:,:•..щ.-x:"1"'i�<4
···!..'.)
·'1 '''""'�''""·'...'"'"''''Sc<�"" '"�·.,.""''••r<
В ьmолним запрос. Отметим, что «0», так же, как и «NU L L », не отображается
в
результате, но если м ы дважды щелкнем по пустой ячейке, то увидим о кно, в которо J
отображается «0» ( Рисунок 204).
!
. ....................... ···· · -� · "
.......:.�- ·-··--�·····-·-·-�
-:- _
---:'
: .:..· · ·
:��_:-•• )" ...... ,,__{ _
· ' "'' '""'' r s """
:
ТЗРе.:ультаrз
=
--···--:-��- ·--·· ··· ····-···· -··········-
ООО ''Торго:вы� дом"
ООО '"1орrсаый дом'"
Ск.�ад
ООО loprQaый дом"'
Смад N"� 1
ООО "f(;рговы;1 дом"
Сv.лзд
№ 1
N� 1
Рисунок 204
До того, как мы добавили поля с выражением «0» и сопоставили их, было так
( Рисунок 205).
Null
Ещ�
T"nesИЗD� "JVC"
Тел еензор �'SНАRРк
10
Рисунок 205
Объединение таблиц, в отличие от соединения, позволяет избежать дублей строк, как
это было в предыдущем уроке.
3.3 Вложе н н ы е з а п росы.
Если мы внимательнее посмотрим на наш запрос, то увидим, что у нас есть строки по
одной и той же номенклатуре, одному и том у же складу, и одной и той же организации, но в
одной строке заказано, в другой - продано ( Рисунок 206) .
100 Верный старт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
' .,, ООО 'lорrовый д
' / ООО 'Toproвыti дoti"
�ООО
'
j
HJ
Скn�д No ·1
·
ом ·
С.тад
"Toprc.выii дом"
N�
Те11ев1�зор "J\/C"
1
30
Склад N� 1
ООО 'Toproвыii дом•
Рисунок 206
Это происходит по причине того, что наша таблица не сгруппирована. Давайте
попробуем
это
сделать.
Нам
придется
в
каждом
запросе
объединения
выполнить
группировку ( Рисунок 207).
··;··�
'> ) .
t!�·�:'A" X"�
•
�1 r�3.'!'V�i:��
Г:tx-"'.XК.�tw�*°М$>11i,;ti\
�--
: . rvм�Y.X-r...-V.i:ц
Рисунок 207
Однако, если
выполнить такой запрос, то результат не изменится, ведь мы
сгруппировали результаты каждого запроса н ашего объединения по-отдельности, а нам
необходимо сгруппировать все объединение. Как же быть? Здесь нам поможет вложенный
запрос. Вложенный запрос - это запрос внутри запроса, то есть запрос верхнего уровня
получает результат вложенного запроса и его можно дальше обрабатывать. Для того чтобы
создать вложенный запрос достаточ но на закладке «Таблицы и поля » нажать кнопку
«Создать вложенны й запрос» ( Рисунок 208).
' �·�r
;�
. ... ...".. .
t"'�J'
':Х' [�;·;.� �
.
".
X��-�: ���- .l.!z���������'!.....���
��E:.�
�- E��--��
��--l�:���-:::-....::;��O'�-- -······. i �...........................
i<
; �Жу)-<е--r.'='
� Fe-·W-'1����t:��t.
� -� �
•
:
�)' • •
' � :
� �- �-
..
........................................................"... ..
••
· .
... ...
. ..
.
.
.
..
". . .
. . -· ·· -
,.,,� сь-ц."
:.� �t;<:Я)tЖ)б.:·:.:>С'Ъ.0...".:.::.
]
I
. ........ .. ·· ··························-�-· .
·
"
Рисун о к 208
После этого откроется окно конструктора запроса, в котором можно создать
вложенный запрос. Сам процесс создания вложенного запроса практически ничем не
отличается от создания обычного запроса, за исключением того, что в нем нет итогов.
101 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ы й звонок
Если м ы сейчас попытаемся создать вложенный запрос, то существующий запрос
будет запросом верхнего уровня, а н ам необходимо, чтобы он стал вложенным, то есть наше
объединение таблиц должно стать вложенным запросом . Как это сделать? Хитрость
заключается в том , чтобы скопировать текст существующего запроса и в нем создать
вложенный запрос, а текст скопированного запроса станет текстом вложенного запроса. На
практике это буде выглядеть так (Рисунок 209).
'�
�:�.... ���!�E
. .. ... . .. ... . ... ... .... �···
�.. -f���!. ��
.� � ......................... ....
,, �
ВЬGРА.'IЬ
П"Р<'=.L��е:ро'З't:: . СJ:r:�и�ащ��
�--·· ---·-·· -····
·
·
H��;::,�Oбc;:: o':'tz . fl��� �!<:.Л �':"J:>�,
�.r1.0'..A. { :lpr.щaAU-1(
'-б-.:.;p�'I"Ы • .K::t:<J�-чe: c<rt:�Cx�Q-pc :r) КАК np..::.дol":·t> ,
и�.
.::"'1'!:1.А (:..� )
: :�
1·�·�1
l·:АК З�KZ:..!:�t!C:
�F>11i�PC��Tb !10
i!р::..;:::а;:t:;.!Об·:.:;.готы. �;.� ra.�;.-;�1$.UИr-",
п.r.:�.=.�rиоб"";;:-:1.><;;ы . сх.�.� г: .а f
��р:�.ц.е:�1:яСбG:�·�·'1't� . Bc���н.,-:n�'l'Y!;�
°3..З.!{�Zii�o�:r.:�т�'!r.�й.O�:;pc't'N . Орr:�и.�'!'ZU;.:д_-кя ,
З�����ху��':'е��йО�о��УЫ1С�..л��,
:3t1 \C'. :'S.з
ы!; ,·Jx.yr: .--s..w� ..м. t·��:
�Ot">r
:
)p:.. -: :t-ъ.: . Н.t"JK�.Н�tJ.a r
: yp � ,
c��J\. t� ; ,
коnируы.�
Н ажи м аем на
текст
зэ nроса
Верный старт в
:<НОП!<'/
1С www.work-1 c.ru
''С оздать вложенныi1 запрос"
;." ���.���.....,
�" iV,:n���'t"«.�i-:'rл�
� ... :i�)�)l,.,()!');(\y� �м---.�"'(,.�.
#
f�<>:»11�Y.r..<».:>I* t(.,.j)<>'OC'::::..x:ll"k�:I
�t·} �
нажи м ае м !<Нспку
З ап рос
и
вставляем текст запроса
Рисунок 209
После этого сформировался вложенный запрос ( Рисунок 2 1 О).
102 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
!
:, �.
; : r.'\!м�<
·
:·
т�"����:���2�� ·
· :� с,;� ··
= r:::� r;,�"��:-m.A
·
: .... :"t.=.:vJЖY.01S:·x� 0:..��;;.
"."
··· ·
.
·
··· · · · · . " ... "
� • :'\.v.;3"�:-"..:C :':7. ;v�«�")'t�
1 ��� х.�����,
:� �erж::µ-."J���11
Рисунок 2 1 0
Он содержит те же поля, что и наш первоначальный запрос с объединением таблиц.
По сути, исходный запрос нам уже не нужен и н ам необходимо удалить запрос2 нашего
объединения и таблицу «ПродажиОборотьш ( Ри сунок 2 1 1 ) .
·-······························· . · ···························--···············
� Имя поля
!..... .. .Орга�1заu�1я
....... .
t
..•
t...
выдел я е м з апрос2
и
.. ..........................,
.. .. ........ .... .. .. ... . . . . . .. .................... .... .. ... . . . . . . . . . . . . . . . . . . . . .... . . ......... . . . . . . ....... . . . . .. . . . . ..,
Склад
•··�
.. . .
"...,..
Н:.меr..кл атура
.
.. "
� Продано
удал я е rv1 ёго на вкл адr:е
Объединени я /П с евдони м ы
. .. .....
00..2<1 .::i!•�
<.: rш ��'*
-�
·'i
Гl
Го/!J
iliжj-м>:>�
���·m-��':'WЗJ.f��
t>!
t�г�'1д.
r�r1110JP!';!HI0t>.111��wi �
f·k1M�a1}p;i
также удаляем та.бл и цу
ПродажиОбороты
'
• • чщ
.,. Гр::�да;<!
3<it"���
811Е81\
·
Рисунок 2 1 1
Теперь весь запрос, который м ы ранее создали, находится во вложенном запросе.
Можем это проверить, нажав на кнопку «Изменить» и выделив таблицу вложенного запроса
на вкладке «Таблицы и поля» ( Рисунок 2 1 2).
103 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
f}:1 ��
�
Ь;;эа J:alti!z!Y,
элемент (F2} '
·
��� ··· · · ······· ······· ". .
-· � ,�
,• . tt.r Cnpa!IO.'!t<и�•
,-, �
�::
Ш,:�J��:��н11�� т��и11
. ;·' ' х: ' R� �·
il•Жr'М<':,iThl
�:41 Fe�·иc1�Haкo:1(:zrJ.1.я
CJE:naA
.;,;w
�"
H�-tetit..F:a:)·pa
�
: t-
.-'
Opr-a,fl<Эa�я
П�.t.ti�HO
Зi!!<i!wnv
,
:"r;;;i�;·;:,;:; �·;:;;;;;;--i r��-n�
. .
" "
"
,
-:�L;
"
" """"""""
·�
1
1
У::т"''"
rш �[.;.;:�� Г�ж� w
�
i!_;
��.::' Х � ·�>
р,,...,.," �Ч.""
..; """'"
. .. ..
-�-! i
1 I� ! ,'
<>
{} 7 х
!Ь�;;з:;жrе-� oi;_..�"Th...-4",....,. (�
""""'
. o-;.;w
�'
"'
"''-"'
-
"".- --- --------- --- ------ -----
---
�'!!:! -з..:�.л."'�
..1<"'
-
·
�-· �'Ъi<�'ll��·oll'J!:qo:ш�..1
;.. �JS.�
. :1:-r�t.:M��'».: �-Ж�
> п,м
.,.
,-;..м...,,>.� "' М!>СtХ;рс> т. . ' i4zм�
.
� 11
; .•
l:�; ·1 �'
.
1i
}""
:
•�
�
ы
!\!;
"
��
ii
!1
J '
Рисунок 2 1 2
�l
Также мы можем переименовать наш вложенный запрос ( Рисунок 2 1 3 ) .
. ь�i)� �-:н:;q-�
. . .. .
.
{�, lill �аВQЧ11Рtщ
jj
. : :�� �.:.:.:J
:
. .. . . .
:
;"'")
..
.
.
..
. . . . . .... . ...
.
.
.
.
. .
.... . .
. "! ":-.�) !
; !.:>.>..1 i
. :·;�·:\ 1
"
T�....�t�
.r:
·
о
� fв�%i;Шia§ .
+
·::,
�
·t; щ .?'
4
Х
Цо5гви1ъ
И" ме� щ;,
�" :
)'
.
".. "�.} :
У.дзщпъ
Рисунок 2 1 3
Теперь выбираем из вложен ного запроса все поля и группируем таблицу ( Рисунок
2 1 4) .
104 Верный старт в lC www.work-lcru
88002344322 Бесплатный звонок
__; : : � ��
·
: ;А�·�
..-�
=-
: - ::..��)=>...,.
.?::.:
-
�-."
=Uc���:t-,.;;.,.._�
:r,('�X1(:":.iжfir1t>, �-�&:�
���....... �3:,.-:1
..,.. :f-.:.;ж.;...��"'>:: .)...,,, o'UI-�
�
i:::<>.v..�.....,
- ...w.::� .>
1;:�
,·:.: ·���"!"@йШ'fg��О:::.:-:-:·:;{ё·w�� ·Im;·'t-*.;:.::;:...�
:::;:
;.::zw.
:::
m
_,m-,....:;.
':::::;.ж�::>
::: ш::w.?W
и
�
�
4W
#'
.w.:@'
�
�
>
w
м:.::
.w
ь
h%
::���w���-::�:�-:: ��
....................... .
··':c::":":ё::""':: . :'_:--:��
: �JJ t�<=��::... r.��':��-':'O...г.����!!:r:::�r.��- --r.��r:��---�-!?.'.�....:.� �.��-?. . ..�-!::.��- - -··········· ·····
�'
1
.
.
- '��� ��"W
.... ь�
·= :��.')..'n;ioC l."Jlta.�
..:.r.тr�"'-•i�
' "' '
. -·· -· �·
!.
!;
!
!� �
i
1
!
1,
'
: i..:c:.:
:
Рисунок 2 1 4
Теперь еще раз о том, что м ы сделали : прежний запрос-объединение м ы поместили во
вложенный запрос. В результате, вложенный запрос получил несгруппированную таблицу­
объединение и уже теперь един ственное, что мы делаем с вложенным запросом, это просто
группируем его. В от как теперь выглядит результат ( Рисунок 2 1 5 ).
ТЗРезуnыаrа
о
j
См�д
t-i\J.!-,1�Ht'flf)':"'"PЭ
000 Toproo\<(u дnм"
с�nад № 1
Бrnпиnяrор O;tOtяfЫ�
ООО TopiiJ sь•i!
Cv.n;д N9 �
Теnези�с;; -�J\tC�
r'dНt.'!.З.ЗЦНН
ООО "Тoprcsыi<
"
дом
"
дам
С""зд t.P
�
Теле зи2ор
·
"SНАя.р·
За:о:.азш�::::
�
30
5
10
Рисунок 2 1 5
«Вентилятор оконный» теперь сгруппировался в одну строку, а цифры заказов и
продаж расположились рядом. Результат очень похож на соединение таблиц, которое м ы
выполняли в предыдущем уроке, н е так ли?
Необходимо отметить, что в терминах языка запросов, вложенный запрос - это
таблица, точно такая же, как и mобая другая реальная таблица. То есть вложенные запросы
можно соединять или объединять с другим и табли цами базы данных, накладьmать условия и
выполнять все действия, которые м ы выполняем с другим и таблицам и . Из вложенного
запроса мы не видим данных, присутствующих во внешнем запросе (запросе верхнего
уровня ), зато в запросе верхнего уровня мы видим все выходные поля вложенного запроса.
105 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ы й звонок
3.4 Фун кци и я з ы ка. Строковые.
До сих пор в конструкторе запроса мы брали поля из табли ц базы данных . Однако, в
языке
запросов
существует
возможность
добавлять
свои
поля
с
произвольными
выражениями ( Рисунок 2 1 6) .
1·ii.� ��: ·· ··· · ·· ········ · ····
�r -=i
":
A\
�
>
·· ··· . ......... .......... ..
..... . ...... ,
· ·· ·
...
...... . ..
.
. ..... . . ..... . ..... . ... .. .. . .... . .. .. . .
.
\ ?..!
� L·�--�-l
- ":- :;1: 0�.м
; �� �.;ь !���
� �-�; i:f1",�r.')Ь.�JO>-Jr.r�1;;
�p
Рисунок 2 1 6
В данном случае мы просто создали поле со строкой . В языке запросов строка
обрамляется кавычками .
В ьmолним запрос и посмотрим, что получилось ( Рисунок 2 1 7).
ТЗРазул::.тата
·
··
··
·
·
·---·-----········----·····---····-·----···------····----·····-------···-----------------··------··------·--···-·-·-····---·····----- · ··----···--·····-- ··-----···-········· ·----········ ··· ·--··· ·······--·······--···--·· ··---·-········--········ ········-······ ························
Полt>1
З.на.комсmо r;. функц1�:ямм .запросов
Рисунок 2 1 7
М ы получили единственное поле со строкой.
Поmо можно присвоить более
информативный псевдоним (Рисунок 2 1 8 ).
.
.
.
..... . ....... ....... ...... &
�
.;·
�-- -··:
)�1Я t:�r.:;
Рисунок 2 1 8
106 Верн ый старт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
В се эти действия м ы делаем для знакомства с функциям и языка запросов. Сразу
скажу, что справку о функциях языка запросов можно найти в справке конфигуратора
(Рисунок 2 1 9).
:;;� �mе
;·� · !; �:г:�=
;;,)
т
�
'1'°,
•
f',
� +;� ф ' ui\, tJ
Гlonr;� (Ц)i!ВКИ
� !. �. 'i���aнi� ;i
g и nараме�
'•· lf-, Поддер:в;а 11 сервw:
!f1J Кон<!>W)�ание
'"· !i>Щ
llli..'1: КонФиrураuия
зз�у:
.
... . . . ..
\!,;щеке ! П№ск
•,
":.
fr-1
\if:J
LJ
1
Omaд-
!
Нас�а параметров
Замер Г4)0ИЗВОДИ1'е11ЬНОС"М
� Общие о6ъекlЬl
·";•
Вt.!!10лнен�1е и работа с заnросам11 во ВС1р0еt-НОМ языке
f!, ureмa запроса
't" lffl] ТабlИ.IЫ запросов
� ?1HТ3KCl<IC 1еКС'!а запро<Х>З
�;· �
С�-t1111ксическа.я дИаграмма коw.: !Р}��А язь11<а
ir., �t'til'�Ф!
("· � Оnераторы
+
Иw�!l'JИЯ в \.>\iтерне·rе
О ripcrpaммe ".
·-""
.
1!
1
'
U �тарии в языке запросов
";., � Испопь305ание �ею«I! в языке запросов
LJ !J:,уязычное представление КЛIОче.вьос CJJ()IЗ
·"'' !['� Тексr запроса
-:-� fll Ключевые сnова и Ф)Ч1tШ1И
....'"...__ · . ·ti � Кnючеsые слов!!
�
Поиск в СИнrаю:: -Г!<�<'о>>ож
о:; ке
11 , :
Формы
;:•;
\ �')
·
,.
Макеты
(.!· f.I�
·
С1� такс;1<:!МООJЖК
j ��гур�я
r.�;:; глобаПЫ1ЬIЙ поиск и з�а
CJ Реа.ак11>1РОвание текстов интерфейса
f_); 8с'!рОеННЬ!Й .Я::ЗЬIК
"f> r11 Общее огt1СаН1'1е встроенного ЯЗЫКа
:;.
!
!!
!' .,·.' ·: "'*
/'�.:
.1 •:.
"!'· � Реда1ш1рование ·объектов КDНФИгура�w,и
.•: Wi Расш.1!)е!iИя к.он��
U Внешние оNеты и обрабоtки
U;J Мощп11
[;:,;:)
r �:11 ;\
запросов!
'1
!
!
!
· !А �тi1Ческv.е ооераторы
с;,, l1:i Погмческие oneparoi:ы
�#.1 &E•!ll
;�,;! в
Рисунок 220
Итак, первая фун кция, с которой м ы познакомимся, н азывается «Подстрока», Она
работает со строками и выделяет из строки подстроку. В качестве параметров она приним ает
исходную строку, начальную позицию и количество символов в виде чисел. То есть мы
указываем, с какой позиции (отсчет начинается с единицы) и сколько символов нужно
получить. На выходе мы получаем также строку, но как-бы обрезанную этой функцией.
107 Верный ста рт в lC www.work- lc.ru
88002344322 Бесплатн ый з вонок
Давайте воспользуемся рассматриваемой фун кцией для обработки строки. В ыделим
поле, нажмем на кнопку «Изменить», в правой части окна найдем функцию «Подстрока»,
перетащим ее в поле редактирования выражения, нашу строку, при этом, переместим на
место первого параметра, начальную позицию зададим числом 14, а длину - ч ислом 9
( Рисунок 22 1 ) .
.·f�J.if�i
__,_
· ····-······ -···· ·····-
----··--·-· · ........ .. ........ ··········· -····
··
"
·
..
.... ............ ........... " ........ ".... ..
· · ·· ·
:: .')y�r-.w"t ::::нv. =-�:::;ро::.::;
, ·:::··� · ···· ········ · ················· ·
. . .. ··· ···� »· ,·· ···: �·····
.
;30.r...cr r�::·к;.. �"'5н-s:r:oнc��-::
Рисунок 22 1
Выполним запрос и посмотрим, что получилось ( Рисунок 222).
ТЗРе-зуnыаrа
�--,---- ------ --
Пщ� сrрнка
Рисунок 222
Функция «Подстрока» взяла нашу исходную строку и, начиная с 1 4-го символа,
вернула
нам
9
последующих
символов.
Получилась
строка
«функциями».
Это
не
единственное действие, которое мы можем вьmолнить со строкам и . Также можем их
«склеивать»,
что,
по-научному,
называется
конкатенация
или
сложение
строк.
Для
склеивания мы используем оператор «+», который также является частью языка запросов.
Далее добавим к нашей строке символ косой черты ( Рисунок 223-224) .
J
. . . . . . ..... . . . · ·· ········--······· ··-· · ··· ·" ··· ·············· ····· · · · ······· . ·············- .. ... --···-···-·-·---·-··-.-··
---·· ······-·····-·-···
····· ·-·····
· ·--··············· . . ·····-·· - ·-· · ·
-···
·
· ··
· �;· �·· · · ··1·�··· �······ ·9 )" ·+·····��·····;··· �········ ·······А·
·�· � ·;р ;·сс·5.
· ·· ·
· · · с ·-�ф;�н·;_;;�я��
�с·мс·�3·· ;�
�--······iiОДСТiЗОК�··· с·�5·а�·
Рисунок 223
108 Верн ы й ста рт в lC www.wo rk-lc.ru
88002344322 Бесплатн ый звонок
Текст эа.11роr:а ·.
Ы5:!?АТЬ
.�
... . ,
�)
+ '"'/
'"
КАК Псдстро�а
Рисунок 224
Вьmолним запрос и посмотрим ·на результат (Рисунок 225).
Т3Ре.зультата
Рисунок 225
Получилась такая итоговая строка.
Теперь выберем справочник номенклатура, из него возьмем поле «Код» и сложим с
полем «Наименован ие», разделив
их
все той же косой чертой ( Рисунок 226 ) .
' """"
'
Fи
iiRJN;JW�B�i.ЖK-a��
��tдif
j;J[@fГ
1
1 j;щl�� . . .. .
l l�>M�
. . .... ... ...
��
=
•
•
�
НR'М
ооt
№№
М
'**
М*m%
m@
�
&
:
й
=
·
м
�
W&
�
�
*
�
�
м..'
*
:'
...,
J
. . .
.... .
·-OQ:T;:)..:J :(;�(' ��t-rec с Ф1�-�!>!tN- ���<t:<1-
, , ..:::::�:щ;:==
:;::::�щ
==;Ф:::.:=::i:*;;:w_;;;:.;;gм;�x;й�1�t�мwwt;mшщw1:.�1<;·1=tmzrш:шm<
ti��&t::::�
-W
.
1d <$� -. " }/"'
1.
1:1 " �1
1, �:�;��''' ; ;;::�;t�;, :;;�;"�;· i
-
!
1
- f.Yx· rn:�:l:M
<« Э1сс·"".".
�
F�::;.1��sь
• 1t • • • о!!
• 111
,,,
,,,,,,,,, '
'
'
'
''
' ' '''''''''' ' '
Рисунок 226
'�
I
Вот что у нас получилось ( Рисунок 22 7 ) .
109 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
'''''''''''''' '
'''''''''''''''
!loi1e1
000000021 ! Kcr.-.fiai1н �ухон"ыV. BINATONF. FP Ы
000000022 i К<:феварка ВRAUN KF?2R
Рисунок 227
Этот результат уже может иметь практическое применение
для
формирования строк в
каком-либо отчете или документе.
3 . 5 Фун кции я з ыка. Работа с д ата м и.
В языке запросов поддерживается целый ряд функций для работы с датами ( Рисунок
228).
! ":о, СЕ
•.;>-,�кw�1 я:зьli<а sar.pccoв
��� \iJ �'hKC\V<l1
:+;·
·'f>унк1wм рабе> rы со С'JР<:!Ка\УИ
", ::.З Фунi'..Ц<1'1 рабо'!Ы с· дзт.:114И
ron.
КВд?Т.АЛ
М ЕСЯU
Ш:НЬГОдА
ДЕНЬ
НЕдЕТlЯ
"
"' ""'''" " ""''"••'"''"
!1ЕНЬl-1ЕдЕЛИ
ч:::.""
� "."." """""""""" " .. .".""."."" """..""""..
.". ..
"
"
""
"
"
..
...
·v
. """".".""""""
. """"""""""""" """"" .. """""""""""".""..""".� �
.
.
"
Рисунок 228
Для начала рассмотрим функци и : «Год», «Месяц», «День года». В качестве параметра
мы передадим в функции параметр запроса. В ыглядеть это будет так ( Рисунок 229-23 1 ) .
:;' CJ ���< i=·�»"bl �с cr"'°"���
• • :...
•.. $ ��� уабо-.ы с 2�w..�
ГОД'
КЭ№ ТА.:1
t.:EC;<U
.QEHb.:"I::!JA
Рисунок 229
1 10 Верн ый старт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
.
;�T�iiШtlf&•mtitI�Jffijt;Mlii@f#jjj}$iiФi1i�iЩ�t�;;.;ы;дi:@Шfйii.tkfi!;@i.jUдili12!t.iШi.t1ii8&illiйi%ill:ll@�iwit&8���
:; t��c�:1��
. . . . ... . .. . . . . . . . .
�i
.
:ъ::.е
..
..
... .... . ...
ft<J lOЩ&,C.:s'ra}
w. Ь ���w
.
.
·=:� =-�� �� q��" ��:-с�
:) <li'f::t'
��
� 1:�-� <i"'t
�«.W� �ь· ci::
mд
Kfit-.:" 1'.'-f:
м:.сЯц
1 .<•· �
� ·;�;���;�·(.:r�?:.:��-- -��=-=��. !?:�h<l'�'!ro J���::-�:�� �?�. ��f
1
.
r*'•-*
: r$.-....
� ;;:,:-_;
.
" � ��� . .
W.,t��.<.t:.o·�:
•· t11rж
'*t
·:��
__
. .
'!'���у._:-1
Рисунок 230
.-.
�.�. ..�>"t...r���*-· �
����....
� lt н � - ;J "
..•
.;,
Рисунок 23 1
Для функции «День года» порядок действий аналогичный. Зададим параметр «Дата»
датой 3 1 . О 1 .20 1 4 и выполним запрос.
Результат запроса выглядит следующим образом ( Рисунок 232).
:t
год
nсл;з1
·········
ф
месяц
··········
2 1И4
········································
···
�
Рисунок 232
Дум аю, результат такого запроса, и работа функций не требуют каких-либо особых
пояснений, кроме того, что получаемые значения являются числам и . Функци и : «Минута»,
«Секунда», «Квартал, «День», «Неделя », « М инута», «Секунда» не должны вызвать вопросов,
так
как
работают
аналогично.
В
качестве
самостоятельной
работы
можете
поэкспериментировать с ними, посмотрев, что именно они возвращают.
Функции «Начало периода» и «Конец периода>) более и нтересны, так как приводят
дату к началу или концу указанного периода. Указанным периодом может выступать день,
месяц, неделя,
год. . . . Для указания периода, к началу или к концу которого требуется
привести, используются зарезервированные слова языка запросов: день, неделя, месяц, год и
Т.Д.
Мы добавим еще одно поле в наш запрос. Выберем функцию «Начало периода>),
передадим ей для преобразования параметр запроса &Дата и периодом укажем день
(Рисунок 233).
111 Верный старт в lC www.work-lc.ru
88002344322 Бесплатн ы й звонок
fk:::�
1;;
� �T;f:ЛR
rощ!.д.то}
rw..��н�дF.;· ;;;,
'-':
,
(,
fц ?4KЯL·:;�r-!}
Гн д.=::Н::..;;)Д..ц.<.�1i!}
"'"" iЗ>..':':· r�щ�·
Н-A'WIOПEi'l10,Q{<
КL1!'!S.U
ЛfН
·Юд.::..
доЬАЕИ�1Е
Af
.3.�
"'(;'П::[}
Fft
т
Рисунок 233
Добавим еще одно поле и поступим с ним так же, как и с предыдущим, только в
качестве периода укажем месяц ( Рисунок 234).
Рисунок 234
В следующем поле выберем функцию «Конец периода» и в качестве периода укажем
ден ь (Рисунок 2 3 5 ) .
Рисунок 2 3 5
Зададим и нформативные псевдонимы для наших полей (Рисунок 236).
fi..; :::.:щ�:�:
!i� 1'-1::.С���!..W :э�
f н �C11U
,"fн �
t�,.,д,..
�SR"3 .
fi..; D�
i>:'j,з,..�._:н1·1 : ё:)�
rw I1fd.tido ruAit
�).Ч�..fr;Пf.Г\+;.Г;J. ��.Г.�'J =is. DБJГ��
•Н ;
f\:� ��ч:"Лt}�Еr-"к: nл.��LJ.:.!:':'.�. v.s: �ц;
:w
'" у..,...цfiн>,
il:Cl·IEU::ZF';.<..O��ь. ":J.f:>::.::
Рисунок 236
Установим в качестве параметра дату 0 5 . 02 . 20 1 4 для большей наглядности. Далее
выполним запрос ( Рисунок 237).
Еще
Рисунок 2 3 7
1 1 2 Верн ый ста рт в lC www.work-lc.ru
88002344322 Бесплатный звонок
В полях «НачалоДня» и «НачалоМесяца» не отображаются часы, минуты и секунды,
так как они равны 00 :00:00, но фактически они там присутствуют. Вообще, дата в l C всегда
содержит часы, м инуты и секунды, только отображаются они не всегда.
Рассмотрим функцию «Добавить к дате». Она принимает три параметра: саму дату,
тип и количество. Тип - это тип даты, который будет добавлен . Он может принимать
значения: день, месяц, год, м инута, секунда, неделя . То есть мы указываем, что будем
добавлять: месяцы или дни, секунды или м инуты и т.д.
М ы добавим к дате 20 дней, а в новом поле - 3 месяца ( Рисунок 23 8-239) .
. . . ..... . ........ ....... ...." ..
. . . . .. .. . . . . .... . . ... . . .....................
................ ..........•
ДОSАВИТЬУ..Д-4.Т Е ( &Датв., Де;;.ь , 2 0 }
.. ...... . ...... ... ..
.... .
...
.. . ...
... . .. . ..............."............" .....•�...•.
.
· · · · · · · ··············· ··· · · · · ·-· ·· · ·
·
·· · · · ·
·
Рисунок 2 3 8
Д.0-Е�'И!'Ьf\ДАП: ( �Д�"tn, ���С;с.!�
з,
Так аь•r.r:ядят есе поля нашего запроса на екпадке
Таблицы и пел;;
\'
f!·j ·ш•�
""''
MK;<t1(�fu,")
1", шньrо.11Цци�1
f!J НAЧAIIOf! E?OOfik�.!l;пa. ПЕН!>)
iМ НАЧАЛСПSРЮ��т". Мв::r. Ц!
Fн
!'DHEUПEP>IOПAl&f!.!1.,-z. . ДЕНЬ)
<i. ; дОМ!М iЫШАТ'Ц&д,.�" , дtН,, Jt)
fH 1ЮЫ\ВV<ТЬ."1дАТЕ(1fuта. МЕСЯU, 1;
Зададим
� и..� ,..�-"�
1
·
.'
��� �=щ
псеадонимы
�>;;!: ·
fu ЮЩ!Дщ}
�1 МS:Я!.Дд,,!�)
f(>i Дf.Нf,П:ЩД(i\Д,� 1�}
rы д,,,.ь г".
fн f<.A '{ AfJOПE!'itJ iJМ
,IJ1н � Д[!-;::,i
h>J l�n<ii};•
fH l'RnoМecl!l."1
·
·
-
��4 J �AЧftJ'f
JЛ ЭЧ;1
1
' .QA��fuз.. f4&.;f.Щ
fЧ �t�НЩП:СРИОЩ&'11°� дЕНЬj
fy; 1<о\юцl1ня
rн n�1*>1.fllid
···· ·�� �
��!t· · ·
Рисунок 239
�� _OO�BИ1'��.[lft.rч(����:��� j;��-���-- ?.Щ .
fи fl'J!iABV.-TЫ<il� r·t:(t&\°:}. мкю з�
.
В ыполним запрос и посмотрим на результат (Рисунок 240).
Еще
36
05 . 01 201'1
01 02.2'114
05.01 1�>14 23-59 59
05.05 .2014 iHIO:OO
Рисунок 240
Н ичего неожиданного .
Рассмотрим функцию «Дата время ». Она хоть и располагается в разделе прочее, тем
не менее, имеет отношение к нашей теме. Эта функция позволяет задать произвольную дату.
1 13 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
Для этого ей необходимо передать в качестве параметров числовые значения года, месяца,
дня, часа, минуты, секунды. Мы сделаем это с помощью литералов (о том, что такое
литералы, посмотреть можно в первом уроке) ( Рисунок 24 1 ) .
ДАТ.АВРЕИЯ ( :2 ;J :.. � , 6 ,. З , 2 , :. , 4 S )
Рисунок 24 1
Ч асы, минуты и секунды можно не указывать, тогда они примут значение 00.
Зададим псевдоним для поля «ДатаВремя_20 1 4_6_3_2_ 1 _4 5 ». В ыполним запрос (Рисунок
242 ).
: 05 (1-;;-.2<114
01 е.... 2-0 14
Рисунок 242
Результат предсказуем - мы получили дату 03 . 06.20 1 4 02: 0 1 : 4 5 .
Теперь изучим, как работает функция «Разность дат». О н а принимает в качестве
аргументов две даты, м ежду которыми надо вычислить разность, а также третий аргумент
«ТИП>), который, как в случае с началом и кон цо м периода, указывает, в каких единицах
будет вычислена разность. Будут л и это дни или недели, или м и нуты.
Мы передадим в
качестве первого аргумента параметр запроса, в качестве второго выберем поле, где
устанавливали дату и время при помощи функции «Дата времю) и тип выберем «Дею,))
( Рисунок 243 ).
: �-:
:н
Г::il1{$�•�)
м::ся :.ЦЬfu ;;о]
;("1 дEн:t:::oдz:�>);:;,,.�r}l:
:(..1 н�ц:mnЕР�..д:{ЧЬ :�. n,:: t-:��
?t-: н;;��пЕ.?�1.)Д��Ц!з- ::j_
�;э.::яц;
�(.-i КV:-i.EUf1f:?�IOJ.1Y.�ll�·!:;. !.�f:}it:)
li
Рисунок 243
Смотрите, какой финт мы проделали с вами . Мы в качестве аргумента функции
передали
функцию. И в этом нет ничего удивительного. Ведь функция
«Дата времю)
отработав, подставит вместо себя дату и все будет вьmолнено далее. Зададим псевдоним для
этого поля «РазностьДаТ)) и выполним запрос ( Рисунок 244).
1 14 Верн ый старт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
0 1 .02. 2014
05 02.2014 2З. 59; 69
Zc>. OZ.2014 O;f}(}:QO
os.05 2014 о.оо · оо
ОЗ.Об.2t/ 14 2:\J1;45.
Рисунок 244
П олучили положительное число, то есть, меньшая дата должна передаваться первой,
большая - второй. Мы поilучили разни цу в 1 1 8 дней, так как задавали разность в днях . Если
же м ы в аргумент «Тип » напишем месяц, то получи м разность в 4 месяца. Предлагаю это
проверить самостоятельно.
3 .6 Фу н к ц и и я з ы ка. А грега т н ы е ф у н к ц и и .
С агрегатными функциям и мы сталкивал ись, когда изучали группировки и итоги, в
частях 3 и 4 2-й главы. Сейчас м ы рассмотрим подробнее. Напомmо, что агрегатные функции
- это такие функции, которые принимают на вход м ного различных значений и выдают одно
результирующее
значение,
например,
сумму всех
элементов,
количество
элементов,
мини мум, максимум и т.д.
В озьмем реальную таблицу «Товары на складах ». Выбере м из нее поля «Склад» и
«Количество ». Количество выберем шесть раз. Зачем, поймете чуть позже (Рисунок 245 ) .
____..,., "". ,_,
'
....'f" "-" "
r : > .Y > Y •
' .... ... , ..,..,..,_ , � ,..., , ,....
' •'W• """ '
-"':::�
: ·-- --·---
П;:, � r,
:.. To:1apыHэC.ru;aд,:i�.Ckna�
i
Т<:>ваrА>J-!вСкr;ад;ах.Кi:.n;�чес;в;:,
' �i�f�I-l�И
j Товарь;НвСкщэдал.!>f.:�11t1%с111 ;:,
ы Н.зСкмдах. К
оtrf1�ес<5-:>
1 Т:>еар
1
Тов;:р-_,J-!аСкг,адах.Ксnи�;"fУ.:
4 Тоэарь,f-iэ�ладг.1:�. Ксnt1�е<:: mQ
Рисунок 245
А вот на закладке «Группировк ю> группируем по складу, а
устанавливаем все возможные агрегатные функци и (Рисунок 246).
1 15 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
для
полей количество
. . . .. . . . . . .... . "
I:��-�.�:.::-'!?�-:.J
=:-:-�·-�� l.Y.·: �� .i:��
. ::��· !:-:� ..r:������;;:
���
.Г.�.f.��
. ��.� . . .r.
�:.1����· ..Г.�!::.�
. .. "............... """"" ... ""..........
f ,-�
�
�·���
��� ��;
;.,"
.....................
" ... . . .... .. . ..... .... ...... " ... . .
:'\>r.�
··
- !юe ncr4J
·.�.: .
:.� ..
:i
i
:ш
�:;о.1;
T:;y..iIO>.> �...a� �.t:�"S��
!�..:-" �......м:-т..�;.,���
...._,..
�·�� ��:.
t ...r�\�X.i\C:')�::r!,;.
':'.��-t:.·:1�::'KNt�
.JC lf:);�v�.:1�
),'°�:-..<f-�)1-t
с��
(�:i.<;.r.&.�47.. �.W"".tt.� �
1·
·":
i�
-: :i
.!&.r�_ f.('���
Рисунок 246
Дадим нашим полям соответствующие псевдонимы ( Рисунок 24 7).
.
��::::::·��W..i:.Willt�ш:=iI''llif��W�.L.Щ:&'.$�.;;;$�J;;:;>;•;Д:i��;����+%�>%� .. ....'j
. ··
-т--&
ш:�
t$Wj$%
�
M
"'
W
':li
Ш
'F
Ш
:1Z
' !:S!
§IU
l!m'I
W;!
@m
�
�
w
··��
· -W
������i Объеди�t�МQ/ПсеаДDtм:-� tJ��f?.��!'..-. �
.
�---�!P.?�1Т:�.n��--·-!�����-���
!. �:����.::.:·��!:1Я
# R.i\
Миl· --tr
1 това'-\�НаО<.т�дах.КQJ�ес.1�
J КDJJМчеспю
1 iовзоыНаО<ладах: Коr��-=1В�
Ton�p::.;HaWaдax.Cк:r.�.c
:.� C.«:.11;1.l;.
j ТоеарыНаСкr:ада.А �г:�чес1"5С
J
J МаксиМ)'М
#
1
· �
ТоварыНзG<r..:.Gdд. ;с'.ог"'Чбе'r&�
ТоварыНзG<r..:да."<
Кi,)f�-т&�
J Тма;з;,;Наwадах.Коm�'!!Ю
J Ктмчес rеоr>�-
Рисунок 247
В ыполним запрос и посмотрим на результат ( Рисунок 248).
ТЗР�·зуль-rэта
Ещ«
--t����Jfu*··· ·
СЮ<ад
Скnа д N·1 2
Сквад № 3
1 044
301
4l 4Ъ4545
15
100
5
50,1&6'567
5
Рисунок 248
По складу N2 l м ы видим некие цифры, которые м ы можем проверить. Через главное
меню выберем пункт « В се функци и » и выберем регистр «Товары на складах» ( Рисунок 249).
1 16 Верный старт в lC www.wo rk-lc.ru
88002344322 Бесплатн ый звонок
�
______
r·,..,"••
" ..... _._..._ .._i.._. ____.......
...
........................ .
c��--�lШ�Ш�fflf.it�f&WbJ��JЩ����Ы
ЯfiJitf№Ж.�EГ�tlDI
· ··· ···�-- ·--· ··�--- ......-..........,..... ..... .�--�·--···-- ........ ..........._______
"
�-
{1;
Товары на
. .___��---· ·· ···--··--·······- ---�-· ·········· ····· · ·· · ·--·.�----·
Все фу�У.>�111
4iei:.wt·i№Шt.
·i'·
·t·�
Ф
-+-
·�
з: n :.20·; 4 1 ?.5.5..40
З: r): 2;:)14 1 1 &.5.щ"j
З� Q :.zo1-t. Н.Ь.5.40
з: o:.2it1.t 1 : 5;_4:э
з: о: 2!)14 1 r.5:).4�
з: о: 2:D'14 1 r 55 .t.a
•m�IIf@t�jlfШ�tt�ffi�
.;.
05 1)2 2014
12 GG �
�}np>\�.
1i
.
;
)npn'11'.:.
Vnim-.:.�
:.
·�:
;�
��Р"�-:.•�
Ot�ptt".-.Щ;
41
:;::mpa�.
....:
,1,
/
./
!tflЩL���
:::.-:->.,:=:й:*З<
�t-»:': �� €---�-�r:��m
��'1.;>.i>1: rm.·:щ=�
:3:.:.::� ::�;sif.:'. :"M
�4
[1 ;;�·:.< R<et:
·
-�����е
······ ' ""'
'.'"""''"'
· �
�
"""'
''''"·Х·,·Х««""""""'
"""''
''"'"«"'"'""'"""'"'"""'"""''"'
"""'''"""'"'°
''�'mх>.хшх->х''''''''"'"''*'"'"'
""'" 'М"
Рисунок 249
У становим отбор строк по складу №! 1 (Рисунок 250).
i;Jti�J Прсда;t;и & 23!rff11(1$
J
/�
1.-Т Товары на складах
+
22.01 2GЦ (1: 00 O<J
+
22. Q1. Z\J1A 11,00:00
+
З().(11 2014 12. 00.00
"
3 1 (J f 2014 t ? 56-40
·
+
"
"
"
выдаля(!м яч�йlfу се �на1.1еннем '-'т�д No ! н в меню �Ещ<�"
1:н:�iб11рэ€'м nун�:; "Нэити : Скnад - С�-:лм N!! i"
ЗU.01 ZG14
"<1
!".
00:00
3 1 . 0 1 2014 1 7 56.40
Реаr:tс.зэщ.1)<"
ro&ap . ..
:н о f. 2014 !/ 56.40
з1
0·1
2014 i? 5ь �о
2
2
з
ООО 'Тщ;,-п�"" до . .
ООО 'Тога�ыi1 до ..
ООО 'Тщ1�аs;.;;< де ..
Рисунок 2 5 0
Просматриваем все строки, которых, к счастью, не так уж и много. Можно визуально
увидеть и минимум, и м аксимум, которые равны 5 и 1 50 соответственно. Также мы можем
посчитать количество строк и убедиться, что их и менно 22, а различных строк, то есть строк
с различным количеством, 1 3 . Можем посчитать сумму и убедиться, что она равна 1 044.
Вот так просто и наглядно мы посмотрели, как работают агрегатные функции.
1 17 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
3.7 Ф ун к ц и и языка. Ссыл ки и т и п ы .
Рассмотрим ряд функций относящихся к ссылкам и типам. Запросы в этой части
будут достаточно простыми, поэтому на н их детально останавливаться не будем. При
необходимости можете посмотреть их в базе
для
выполнения домашнего задания. Первой
рассмотрим функцию «EcтьN U L L ». П ередадим ей в первом случае «NU L L », а втором число l О (Рисунок 2 5 1 ) .
tli · · · · · · · · · · · · · · ·
!
�
fi
1
1
1
11
��
1
1
§
f[�; 1
! Г.'О м
!.-�.!
�
ft J
·
E.C TbNUЩ1 G. "Ту1·нет"}
Рисунок 2 5 1
В первом случае «NU L L » передается при помощи одноименного литерала, поэтому
функция должна вывести значение «Тут есть», во втором случае должно быть выведено
число 1 О, так как он не является «NU L L » ( Рисунок 252).
:
.
· · · · · ··· · · · · · · · · · · · · · · · · · · · · · · ·
Т3Ре::уnь:�з�з
'
'
........
tr
Ту: есть
Рисунок 252
Теперь рассмотрим функции «Представление» и «Представление ссылки ». Функция
« Представление» выводит стандартное представление объекта в виде строки, а функция
«Представление ссылки» делает это только для ссылочных типов дан ных, то есть только
ссылок.
Давайте рассмотрим на примере, в чем разница ( Рисунок 2 5 3 ) .
fjj)i;�
f(.)
ПРЕдС.ТАВГ1ЕнИЕ(Тов"Р"1НаСю>аАа>t Но.-.е'1КЛаl)'ра)
f1><J ПРЕL1..'!АВ ПЕН�1ЕССЫЛКИ(ТGВарь.;-..,ю
,С '<!�.��n<: !)1:'а}
::I8f:�1f�йpmt!I
f1 ; ПРЕдСТАВJ1Ес;ИЕ(11'}
ft.,
Рисунок 2 5 3
1 18 В е р н ы й ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
для
В
первых двух случаях (для номенклатуры) результат будет одинаковый.
И
представление, и представление ссылки выведут представление номенклатуры в виде
наименования, а это, в свою очередь, задается в конфигураторе. А вот в случае с числом 1 О,
будет разница: первом случае будет выведено представление числа 1 0 в виде строки, то есть
строка « 1 0», во втором - будет выведено число 1 О, то есть для нессылочного типа данных эта
функция не работает.
Следующие функции чаще используются в паре («Тип значения » и «Ти п »). Их
используют, как правило, для сравнения в условиях, чтобы проверить тип значения (Рисунок
2 54).
Рисунок 254
В данном случае в запросе из регистра «Товары на складах » м ы выбрали поле
регистратор и поставили условие, что типом значения регистратора должен быть документ
«Оприходование
товаров ».
Если
мы
выполним
такой
запрос,
то
получи м
список
регистраторов только типа документ «Оприходование товаров» ( Рисунок 2 5 5 ) .
ТЗРезуn� rara
Оnрцходовэн1-�е тоsгрое.
Опр<i1.одаван"е 1оf.з;юЕ
�
ODiJOOOCQ2 or 15 Q: 2014
QOOOOOC,02 01 1 5 .Q·;.2()1
12 СО 00
1?. 00
00
Рисунок 2 5 5
Хотя регистратором может быть и реализация товаров.
Следующая функция - «Значение». Эта функция позволяет получать в запросе
предопределенные значения или пустые ссылки . Это могут предопределенн ые значения
справочников или значения перечислений. Так, например, в нашей конфигурации есть
предопределенная единица измерен ия - штука. В этом мы можем убедиться, открыв
конфигуратор и посмотрев свойства справоч ника (Рисунок 256).
1 19 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый з вонок
...... .................... !i
ii
:�
п
�
Шт
�
=�
�
}
it
"
1!
:
:.!.( .
·� .
:'
.
Рисунок 2 5 6
К этому значен ию м ы можем обратиться прямо из запроса ( Рисунок 2 5 7 ) .
�J�(}J1 . .
...
...
·····-··
. . ... ······ ·-·-·-
. . ... . ....
.
" ... - ·
. . . ... ..
. .. ...
····- --······---
-------- - - --·-········
-.------·--·-·····-······ ··-····-········ ··············-······ · ···· · · · ·-······· · · ··· .- - · · ····-· ···-··· ······· ··-···-· "·-·· - ·· · · ··--·-··"· ···-··· - ·-·····-· ·
·
.-
f1c; ЗНд�НЕ�•а•'""" -��и.,.-,;;; Шт)
fr.J ЗНАЧЕНИr::t'Сt���с�к�� Ei:ы.
"t
c-'.UZ:I: И�м!!.�:er-a-:� f1::'-�Z!$;�Ь!W..�}
······-.-.-.-...... ----------- ---------------- ------·-·------·------------------------� ----------------�-------····---""
__
__ ___,,.._____________________
. ... ... .......... ..... .......................... ...................................................................................................... .
· · · · · ···· · · · · · · - ·· ······ · ·
...
..:
... .
,,.
Рисунок 2 5 7
Во
встроенном
языке
мы
обращаемся
к
справочнику
при
помощи
слова
«Справочники», далее точка и имя справочника. В языке запросов это происходит иначе. И в
функции «Тиш>, и в функции «Значение» м ы пишем «Справочник» или «Документ» (в
единственном числе) . Вторым полем в запросе мы получим пустую ссылку ( Рисунок 258) .
.
f�.� зн:.\чer.v.ь��-�w�A.W"f�
f�}
;��ЧЕН��::: Я.':. ; :хх�
.
.
1
.
·
,
. � : �'i · i.;;.,...4 <Pfнr�.u ю���"\)С�
-�
.r
fit-':)o.:.-t:...ix;���i-4* {:·:"t":"!:�яC�..t-.t...::·t�
i:
·
.
��.:АЧ:i i-Шi � ёпр:; �;�;..;.�: � ����::::ш::1з����; : иуё
················· · · ········
·
·
r ��;�� ��;
t.
!�
r,
. i;
��
.
.. . . . . . .. . . . ..... .. . .. ................ ............. .... .. . . ... ........
·
· ·· ·
:
·
·
�=
.....: �
··· ·· ·· · · · · · · · · · · · · · · · · · · · · · · · ·
· · ·······
. . . . . .. ...... . ...........
...............................
...
.. ... ... . . . .. ... ....... ......
.
Рисунок 2 5 8
'1
::::::: :::: :::::::::::::::::::: :::::::::::::....
:.·
.·
:
: �'
Также пустую ссылку можно получить и для любого типа документа. Зачем нужна
пустая ссьшка и какая от нее польза? В первую очередь, для задания условий. Так, например,
м ы можем обратиться к справочнику номенклатура и отбросить все элементы, где единицы
измерения не заданы, то есть равны пустой ссылке.
В ьшолним запрос и посмотрим, что получилось ( Рисунок 259).
120 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
Консоль запросов О . 1 *
?
Шт (Единицы измерения)
��\i!i�-�hJ
Нрем;а ны:�<Н:ВЕ:�Н�
ТJ-Ре:.�уль:а1а
.
:'i::мечс·sзм•� ,,;, �·-·-·· · · · -·-",,,·---- . .
�,.:'�(!!::�
:-�
Еще
.. ..........
, 1,""". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
,,,_,. .��-:�р��д: .::З:':"�
К� Bs:�.:i1.:�pe.дe..iз.�!-:�.� ltill'l'yr:e ,
·""'"'"'�"""" · п�·=�;,С="'-'
f
··
.
.
i.:;..;:
><;.• -: :;:: а я.Е .аv..>!У- 11а;;.""�
·· ·················· ·
· · · · · · · · · ··· ·
. . . ......,,...... ." .., .. " .. ".,_" . ...
....·---·-----,,.,.,""
..
___
: .::
,__-:.
:r
:z
�
w
н
......
�
�-
"�
J<ш\tЗ>Ъ
xc.::�%��
..J
.
Еще
Рисунок 259
М ы видим, что есть предопределенная единица измерения «Штука», она даже
открылась при двойном клике по ячейке, а во второй ячейке находится пустая ссылка, но
посмотреть на нее мы не сможем .
Функция «Выразить » нужна для того, чтобы значения, имеющие составной тип, были
преобразованы к определенному типу, который входит в этот составной тип. Например,
регистратор регистра накопления «Товары на складах » имеет составной тип, то есть м ожет
быть оприходованием, может быть реализацией и может быть поступлением. Если м ы
выразим регистратор только как поступление товаров, то остальные типы документов не
будут отображены в выборке, хотя строки будут присутствовать, но поле регистратор
заполнено в них не будет, так как друтие типы документов не могут быть выражены как
документ оприходования товаров ( Ри сунок 260).
Рисунок 260
121 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
Также мы можем выразить число с тремя знаками после запятой как число с одним
знаком после запятой ( Рисунок 26 1 ).
[�lj :г:<;:"'�
1 if�!Тli;!!:
li
li
.
,
'
:
. ft;
ВЫР�Т'о{Т"оsщ::ыН.С...�оrwс�ро� !('>1< йж!"е;,1.�-�ТО!5�5}
fr.; 8ЫFАЗV.1Ъ1123� 251i i<АК 4'1СГС-<15 1))
н
н
11
!f; БЫPAЗY:1Ъ(r�a1!i:ы..-��� Ci<.:1C�.tiaw№"O�&-ii'tS tf.AKC1'POt.:{1;:
"
"" в." ""'·'"
Рисунок 26 1
Кроме того, мы можем преобразовывать строк и в строки заданной д1шны. Например,
наименование в справочнике «Склады» является строкой, но мы его можем выразить
строкой с длиной 3 . Знач ит, все, что в наименовании идет после третьего символа, будет
обрезано (Рисунок 262-263 ) .
.....
"..............................................................
... ·
···················-·········· ... .......... ....................... ····· ················· ·········· ·· ··
x,,.
ш�,-�тwшн�Щ;�(Pf�МiiJ&t�itiй№�йtff
JEtiJt#
li
ke%
/.@
"·)�ы
...щ
· �iii;@@iliiiililii!iМuf!i!mf!i!mШw;;;:�-�:.es���
1
� :��{���lJJ
j '"��' еыРд:аиrw-ц.с...'""""·""'�""' ·км до.,.,.,.,_�"
,.
""""' r�,..?
;!
��
li
11
��
i:
!
'
�, �,
i! '�
fв Hblr".:!l.'<Ьf17.!� J.55КAKЧ >t::f;;)(1!; 1�
ИblfA.3И!iт.lce�
4 �!1.a.U)i.k�Н»��� ttAJ< C 1'?0КA;:;.;;
fв
..:. 6:е х::�
1;
1: -
_
:.·.... -.·��i:;:;��i;·;+���-�-;;;;,�:· ;-:;:��;��-:�;
;;;::�������-��-�-�-�;;.·· �;\· ��-��)il"n· ; :;__ _] �-----· .-:с:::.-:77::-.7.7::·:.-·· ··-·······:· 7:::.::·:.::.:.·::. ·.с.·:::::·········-·· :· . ·.·.... ·:::::··:··:·.:· ·. ·· .-...·:. .
;
f� �:
-::с
Рисунок 262
ТЗР<Эзулы:пз
Ещ»
__..
Oвpi.txнj�osш-ctH! пн�аров ОООНСШЮ1 'ir C'i- .
Оn�•,tх�;дива��3 rсваров 000000001
cr
01.
1 235,З
с�,
1 ?.35,3
Сю�
1 235,З
Сю�
235.J
СЮ1
1
,; 1
•..
Рисунок 263
В идим, как преобразовалось число. Это своего рода округление средствами языка
запросов. Наименование склада обрезано до 3х символов.
122 Верный старт в lC www.work-lc.ru
88002344322 Бесплатный звонок
Преобразование
строк
неограниченной длины.
бывает
Зачастую
полезно,
строками
когда
нужно
обработать
строки
неограниченной длины бывает реквизит
комментари й в документах .
В то же время, функция « В ыразить» обладает и ограничением . Н ельзя превратить
один тип данных в другой . Например, нельзя превратить строку в число. Если попытаемся
это сделать, то получи м ошибку ( Рисунок 264).
{!1. �}}
Ннt{W.:М�.:нtмы�� ·н�н�{ «8biP/�1t1ТG.....
ц?> >8ЫРА'3И1Ъ( � GО- !\АК Ч•l��vO&_O;}
. . ,•.-.
-..
<:>к
.. ".�
�
�� �; .�--�
. -.·.·.·.·.·-
-.
-. .
Рисунок 264
3. 8 Фу н к ц и и языка. Усл овия. Ссыл ка.
Среди условных операторов есть о ператор «Ссылка». Он действует также, как
проверка на тип значения, то есть тем же самым, что мы рассмотрели в предыдущей ч асти
про функции «Тип значения» и «Тип ». Тот же принцип действия.
В ыберем регистратор из регистра «Товары на складах» ( Рисунок 265 ).
! тюr"с.4'(\• �.О!'� \.г.���:<f���... !�r:�� �����
-
-
���:���� ���:�
---·
..
::н�
: j t< 1!; C�_".
: � . �.) r��
:=
;
i:
;�;
�t
1;
,,
!!
J�?. ?. ���
-- ··
б t.�
��:.�::i
....
� ;,i
Р х
r::-:. !F��-��� - ---J�:�:. .��f::s.�
·
ffk,r;A
; :
:r) �
.>?. .
rer":ti"ttt�v:-t�it
· · · · · · · · · · · · · · · · · · · · · · ··· · · ··· · · ··· · · ·
-
:�·- �
..�:::. ;
;r
�m�iii
···
Рисунок 265
И зададим такое условие (Рисунок 266).
f1<>i!�
·
•
·
!.:\<! TtelfPl>!Н..Cкnaдl!X
� Но��
··�··
П. Yc1'"Юf]i{�
..·-·.
-····
.
···-···· ·------······
Рисунок 266
То есть условие говорит, что тип значения регистратора должен быть документ
«Поступление товаров и услуг».
В ыполним запрос и убедим ся, что остались только поступления товаров и услуг в
выборке (Рисунок 267) .
1 2 3 В е р н ы й ста рт в l C www.work-lc.ru
880023"44322 Бесплатн ый звонок
ТЗР�зультата
Еще
.
'
Рисунок 267
3 . 9 Фун кц и и я з ы ка. Усл о в и я . В, В и е р а рх и и .
Оператор «В » проверяет вхождение в некий список, т о есть мы м ожем указать список
значений. Если элемент входит в этот список, то условие выполняется . Например, выбираем
ссьшки из справочника номенклатура и задаем условие - ссылка должна быть в списке
номенкл атуры ( Рисунок 268).
Рисунок 268
«СпНоменклатурьш - это параметр запроса. П режде чем вьmолнить запрос установим
параметр, при этом указав, что это список (Рисунок 269).
124 Верный ста рт в lC www.work-lc.ru
88002344322 Беспл атн ый звонок
j
,j!_
�
�
�
1
Консоль звnросов
�.? ?.�������. :�����:.�.ры
..
r:�j.'\3:��
Cf('iuмeнSФ�fYV�.s
Рисунок 269
Теперь задаем список значений и выполняем запрос (Рисунок 270).
Т3Рсзуr.ьнr.а :
................................ ...... .. ........................................... . . . .. " ... ....
. . ... .................................... " ...... .... . . . . ........... ..................... .
....,
Рисунок 2 70
Оператор «В иерархии» вьшодит все содержимое некой группы или иерархического
элемента. Ведь в 1 С иерархия может быть не только групп, но и элементов, а также групп и
элементов. Допустим, мы хотим вывести все содержимое какой-либо папки (группы)
справочника «Номенклатура». В от тут нам и поможет оператор « В иерархии», в котором мы
укажем группу в качестве параметра. Будут вьmедены все элементы этой группы, включая
вложенные группы и их содержимое. Запрос и спользуем из предыдущей части, меняем
только условие ( Рисунок 27 1 ).
125 Верный ста рт в 1С www.work- lc. ru
88002344322 Бесплатн ый звонок
Рисунок 27 1
Указываем в параметрах группу ( Рисунок 272).
8'!1�a�i��· '·'· 6�� <йiMk�i&"
Консоль запросов
Гf\"t-Пn.');4а1.юнквfflуры
........... . . .. . . . . . . . . . . .. . . . .
. . . . . . . . . . . ..
Рисунок 272
В ыполняем запрос
и
видим,
что
выведено только то, что
входит в папку
«Холодильник, морозильные камеры» ( Рисунок 273 ).
ТJРезуг,ыа1<1
1:
.
но�1�:�+:�<"J:э·1урз
11
11
1;��1�1§SBт��-11.1111©11.11.11�1•rtfi'JШ;�iimtI&•�11r•11�11w•
••1•t�i1Y1•1r
ir
ъ«
ff12fi i1111111mt11t?tillftimr1r&11t:ir� "
X�BOДl-i!JbШ·:Kt�,
ROSCH
tJ�;IOЗHПbl'i�·� ЮЗМt::.>.ъ:i
..
МИНС:К.АТЛАНТ 125
.
!
С"ТИНОJJ 101
Рисунок 273
Следует обратить внимание, что если в параметрах передать пустую ссылку, то есть
не заполнить параметр, то м ы получим весь справочник в результате. Это происходит по
причине того, что все папки и элементы верхнего уровня имеют незаполненный реквизит
«Родитель ». Н езаполненный реквизит - пустая ссылка. Таким образом, все содержи мое
папок верхнего уровня попадает в выборку, как и элементы,. находящиеся на верхнем уровне.
П опробуйте очистить параметр запроса и выполнить запрос, и вы убедитесь в том, что будет
выведен весь справочник.
3 . 1 0 Фун к ц и и я зы к а . Условия. Е с ть NULL.
Оператор «Есть NULL» (не путать с функцией
ECTЬNULL) проверяет, равно ли
выражение (значение поля) NULL. Дело в том, что в языке запросов NULL - это особый тип
.:�анных,
который нельзя проверить на равенство о ператором «=». Такая операция сравнения
г.:�а будет во · звращать значение «Ложь», поэтому существует специальный логический
:.._ - Верн ый ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
оператор «Есть N U L L ». Для проверки на N U L L мы передадим значение N U L L с помощью
литерала, как мы это делали ранее. Наш пример н осит чисто учебные цели и в обычной
жизни такое выражение бессмысленно. Но, в нашем случае, оно демонстрирует, что
оператор «Есть N U L L » отлично справляется с проверкой на NULL.
: шн�1;.1!
Гю�
; ....
fи
Итак, создадим запрос с одним полем в виде произвольного выражения (Рисунок 274).
· · ·························-·····
ВЬIЮР' ЮГдА NLILL ЕСТЬ NULL ТОrдА •да t11Jtl!' ИНАЧЕ ''Это НЕ. NUU.•· ЩНЕU
.::� !,Л
... ··-··· ..·-··· --··············-····
..
'Р",_.»< "'"''"" 3aripc>o:>e
.
. - - ··
- -··
ксr�� а:
.:r�t.!�:Ть,"�:::;
... дА
:? ... ·о .... ,...... ....
вы::vР
И..�А.Ч� <''Э 7r.> ?!1; l'lt'f.1'"l'. ��
коn.z:ц
Рисунок 274
Оператор «Есть N U L L » проверяет, является ли выражение слева от него значением
NULL, если является, то возвращает истину, то есть условие выполнено. В ыполним запрос
( Рисунок 2 7 5 ).
·-
Ещ е
т :
E<:ть_NU'cL
·-- r1r•1•••1ij"�111л-1•111�11&t11r1.1a1•r1111111J111J1t!!iJ.lf.�t1111�iit1.1a1t�t•�;r111111·�;;' ;;1;·
·
·
Рисуно к 2 7 5
Что и требовалось доказать.
3 . 1 1 Функц и и языка . У сло ви я. Вы бо р.
Оператор «Выбор» позволяет нам осуществлять ветвление при выполнении запроса.
Это аналог о ператора «Если» в языке програм м ирования l C . То есть, в зависимости от
условий, может быть выбрано ( ил и рассчитано) то или иное значение. Обратимся к
виртуальной таблице
«ТоварыНаС кладахОборотьш,
выберем
поля
«Номенклатура»
и
«КоличествоОборот». Третье поле будет условием, то есть м ы как раз применим наш
127 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
оператор «Выбор». Если перетащить оператор из окна функций, то мы увидим шаблон
заполнения этого о ператора (Рисунок 276).
L. •
$
fr4
;
Т="•рыl'..С..Мда>,<.:(ро
;� 1Ы.Намен!<?.dГfl)а
.:-·
,,_.:"
�..:"
Тс:ез�= Н�
�'".аr�(Х3'1роtь�.Кс:1�чеС':'&
�а�'!
ЕЫЮР КDГдА Тсе"РС>lt-;,,.Сма.ЦЗ>:Обсроrы.!<с""'""'-.с
...,,., бо;;с;1 < 5G ТС'ДА ··��� �С
• •:,: s:;:il> Все :Ю«�
G>yr:el"..W$1 s:.-�ыю: �ёnр.Х;(:е
�?; �1НУШ'М
CiJ 0:6.}ё�
.:" D Afм44'�fto<чeo<.,;� cneparc�:
;;:" � fЬr)"!Ч:9Q(.t-1d о.,ераrзрь:
.:�, [j ilpo""" ООерё"'!JЫ
ВЫБDР
5ЫР:.З�1Т<>
-�i·;.; !:J
flpo-..:ee:
BH5CI'
К:С·ГДА T � Dapыt:.acr_.sa.д.axoб.;,p.o<r"ы . t-�с;1
иче:ст 5 .)..<) б с р � -.:.-
<
5С
<
;. {;·�.
КСГ.ЦА 7 c s apыRa��i:ax-Q.5op:o>rы. К..>.nи:.�:ес-:- в�Uбс;рс;-:::: <
1�{.J
10.ГдА. "!-':е�ь.�:Z: 5С:"'
'КСГдА Тсверыt!аС'к...'1ада.иОбсроТ'Ы . Калич.�с-::: sсОбсрс'!:
то.rм. к�!�:н:;-�� .! {:!:·�
'!\УГ Д..Zi tcr,l t:ньшE
2i... Ч.1 �
.иr.�Ч[ *<)т /. ;';{; }� �1:m:� »
EW..>O?
КОНЕЦ
I
шаблон заполнения
ИЛАЧЕ <Зыра�.ен;.�е>
.!Ю.i:ПЩ
Рисунок 276
Начинается о ператор с зарезервированного слова «Выбор». Далее идет условие
«Когда < Выражение> Тогда <Выражение> И наче < Выражение»>. В место <«В ыражение»>
после
слова
«Когда»
необходимо
вставить
логическое
выражение.
Секций
«Когда
<В ыражение> Тогда <Выражение»> может быть м ного: условие можно задавать сколь
угодно сложным. Заканчивается оператор зарезервированным словом «Конец».
Мы же зададим следующие условия (Ри сунок 277).
ВЫБОР
КОГД.
I;. Тов арыЕ аС к.ладахОбараты . КсличестЕсОбарот.
ТОГДА "Ме f"' ЬШ.е
5 0 '�
ТОГД.;\
1 0 (' "
КОГД.� Тов арыЕ аС:кладахОбарсты . J'�слич.ествсОборот
"�
е rо: ьш.е
КОГД.I;. Т ав арЫН аСк.ладахОбораты . :Ксличе ствсОборот
тоrд.� "'21еnъ:ш€ 2 Q Q. f1
<
5 1)
< .:. ОО
< 200
f-':ОНЕЦ
Рисунок 2 7 7
Это значит, что когда количество будет меньше 5 0, будет выведена строка «Меньше
5 0 », когда количество будет меньше ста, будет выведена строка «Меньше 1 00 », когда
количество будет меньше 200, то будет вьmедена строка «Меньше 200». Если же н и одно из
условий не будет выполнено, то будет выведена строка «От 200 и выше». Н еобходимо
обратить внимание н а важный нюанс. Допустим, количество будет равно 3. Тогда о но
128 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
удовлетворяет и первому условию, и второму, и третьему! Какое же из них будет
вьmолнено? Будет выполнено первое из этих условий, остальные не будут проверяться .
П оэтому, чтобы такое условие работало правильно, я разместил их в порядке возрастания
Если
значений.
бы
первым
располагалось
условие
«Когда
ТоварыНаС кладахОбороты. КоличествоОборот < 1 00 », то в рассматриваемом нами случае, со
значением количества 3, это условие было бы проверено первым, и была бы выведена строка
«Меньше
1 00».
Чтобы не получать таких неприятных сюрпризов помните об этой
особенности и задавайте условия корректно . Присвоим этому полю псевдоним «Описание».
Выполним запрос и посмотрим, правильно л и отработал оператор «В ыбор» (Рисунок 278).
(}� ;-t� зние
стинол 101
Бенте,л ятС!р
22
SINдT ONE дL PINE ; 60в'.. t1 an
6енrимrор J!POti!C �Та�в ),
M(IHЬIL•E 50
206.
Or 200
2(12"
От 20ti \t выше
2���·
1 or.
О! 20G
и
выше
\i выше
�1111енъше 200
Рисунок 278
Как видно, ошибок нет: 22 меньше 5 0, хотя оно и меньше 1 00 и 200, но вьmолнилось
первое условие.
Помимо обработки
значений поле,
о ператор «Выбор» можно
использовать в
условиях . Рассмотрим такой пример . Обратимся к той же таблице и выберем организацию,
номенклатуру, склад, количество (Рисунок 279).
1
; · ··
' ;1
i г;;·�
. : ·<· 1
Ta(;n•;JЬ;
"\;
!� ТоеарыН11СкмдахОборо1Ь1
' :.;:iJ
Рисунок 279
Теперь нам необходимо задать условие и задать его нужно в виде произвольного
выражения, тогда мы сможем использовать операторы и функции языка запросов при
редактировании условия. Условие будет таким : если склад равен складу N!!2, то выводить
только те строки, у которых количество больше 3 0, для всех остальных складов выводить
строки без ограничений. Попробуем это реализовать (Рисунок 280).
129 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
······· · · ·
�
. .. :�· :�.:я��.С-(.·��!:.:' ��·��-;мс;i!
.
. . . ...
.........
���).:�:il �""f..,�:v::c-
:_ :---�.:tJ"8��
tB6"::.u:
�-:')y�
;." :�B�·=l'>M:"m:"�<:�... ;�"��
:S :�Bt:�xм7";>f.l.l"...-.;c
; � f.(.)',,C.�:�-(Щ+>f
5. r:;;.ретаскиз�нщ orieparop Бtо<') ср11
в f'()J'!f! pe;,.��T�f)OE<iH\1!! выра?оtоН�I�
.. . " ...i-Ufi
.i::::-�r�.
"'
/..f.�
..:O. �
;:'(.:?�l�:i.
!<:�-*:.':»!�<:���
:-...
� x�"A:·i-<f""«" :хz.ц
iC<.:�кx.J
•
s.t�z.�.;:. :�:;� ·� \:;�o
Jм::*:�.:is.i.Ji:
"x<°'
�t.t": �:":�--:·�:':A:: � <��
')
'::�
Рисунок 280
Рассмотрим подробнее то, что изображено на рисунке 280.
Мы
добавили
условие,
отметили,
что
о но
произвольное.
Огкрыли
окно
редактирования выражения. Перетащили о ператор «Выбор» в нижнюю часть окна, где
выполняется редактирование выражения . И з шаблона удалили <«Выражение»>, заполнили
условия и выражения .
Как
работает
условие:
в
условии
задается
логическое
выражение,
результат
выполнения которого равен либо «Истина» (условие истинно, выполнено), либо «Ложь»
(условие не выполнено). В нашем выражении проверяется условие, другими словами, м ы
задаем логическое выражение, результатом которого будет либо «Истина», либо «Ложь».
Если количество больше 30, значение выражения - «Истина», то есть условие выполнено,
строка попадет в выборку, в противном случае, условие не выполнится, и строка в выборку
не попадет. Для всех остальных складов, которые не равны параметру «С клад», выражение
всегда истинно, то есть попадут все строки без ограничений. Это мы указали в секции
« Иначе И стина», то есть если склад не равен складу, указанному в параметре «С клад», то
условие всегда будет выполняться (будет истинно).
ЗададИм параметр и выполним запрос (Рисунок 28 1 -282).
130 Верн ы й ста рт в lC www.wo rk-lc.ru
88002344322 Бесплатн ый звонок
"'
·············
:) Консоль запросов
i1i . . . . . . . . . . . . . . . .
iJ
Д<.1бiЭВt(П.:
а
�...;
Е.цо
А
,_
•
!
?
i."J
Рисунок 2 8 1
ТЗРnзуш,1аr�
"'
. .... -· ···· ···� ·· ··· ···· " ······- ···· ·-- ·· ·· ·· ·······-· ··· ·· - ·· ·· · · · · · · · · ·· · · ..
t,
СЮО "foprr.>11ы<1 ,рм·
Сv,лад
ООО '1"е>рrовы\1 ;pi.(
№2
ск�iэд �� 2
ООО '1"1:>рrовыi1 мм·
t ..
...
" " . """""""""".". ." ..." ..
94
32
Ве��т�мтор ·м�кт<:>1ш�ыi1
Скщщ № 3
ООО "Тоr,rовый д (11>\°'
Бещш�н>р 81NдTONE N.PIN.
6е�ТИl'Jпор JIPON!C Па�в ),
Рисунок 2 82
Можете проверить и убедиться, что ни одна строка с количеством меньше 3 0 для
склада No2 не попала в таблицу, а для других складов попали все строки.
3. 1 2 Фу н к ц и и я з ыка . Усл овия . П одобно .
Рассмотрим оператор « Подобно ».
«Подобно» позволяет сравнивать строковые значения с шаблонами . Для задаюi.Я
шаблонов используются специал ьн ые символы.
Следующие символы в строке шаблона являются служебными и имеют смысл,
отличный от символа строки:
%
(процент):
последовательность,
содержащая
любое
количество
произвольных символов.
_ ( подчеркивание): один произвольный символ.
[ " . ] ( в квадратных скобках один или несколько символов) - любой одиночный
символ из перечисленных внугри квадратных скобок. В перечислении могут встречаться
диапазоны, например
a-z,
означающие произвольный символ, входящий в диапазон, включая
концы диапазона.
[л . . . ] (в квадратных скобках значок отрицания, за которым следует один или
несколько символов) - любой оди ночный символ, кроме тех, которые перечислены следом за
значком отрицания .
Любой другой символ означает сам себя и не несет н икакой дополнительной
нагрузки.
131 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
Рассмотрим на примере .
В ыберем ссылки из справочника номенклатура, а в качестве условия зададим
( Рисунок 283).
�.� ..� У�!ЮЗИН !..��-�:-��!��� ..QO�������(.[����?��!
@
, ...
;�
!;6
�g?,�P.::?� ... �!.?.� . . �?�T���-f�.
...
.
.0��::-�f:-��
• 1.! !?JI88.B�r�11�
a\f�IМiik188!
�Ж•J11%1%fiШIШfШi#if.мlillff.:i\%1Ji�jtJij{{fiffg§t�w?&?J&&lf&-��1ff2l.�i(i(3};1'ti�Jt�t�
... ..
i
Рисунок 283
Это значит, что в таблицу должна попасть номенклатура, содержащая в своем
наименовании подстроку «Вент». При этом сам шаблон мы обрамили кавычками, то есть
шаблон задается в виде строки. Символ процента значит любое количество любых символов.
Получается, что шабло н значит буквально следующее: любое коJШчество любых символов
до, последовательность символов «Вент», затем любое количество символов после.
В ьmолним запрос (Рисунок 284 ).
ТЗРsзультата
·------ -----·
-
Номенклатура
Вен тилятор н а-стоnьны�
Бен rитнор оконный
Вентилятор
OP&ИTA STERLIHGЯП.
Рисунок 2 84
Теперь для задания шаблона используем специальный символ «_». Он означает один
любой произвольный символ. Изменим наше условие на такое (Рисунок 2 8 5 ).
Hor.�ep j П . . j УсЛ«!Ме
···························· ··�························ ·······
1
.......................................•
: [�J j :�rJ!i!Щtы@@YфiЩi!MЩ#)JM!!tlif•).11fii:i.iiiв
.
�
'
··
· · · · ·················· ··· ·
Рисунок 2 8 5
М ы получим всю номенклатуру, в наименовании которой присутствует подстрока
«ухою>, но при этом перед ней стоит какой-либо один символ. Так как справа от подстроки
может быть любое
количество любых
символов,
в результат попала только одна
номенклатура, отвечающая данному условию (Рисунок 286).
132 Верн ый старт в 1С www.work-lc.ru 88002344322 Бесплатн ы й звонок
ТЗРезультата
Рисунок 286
Давайте изменим условие, поставив два символа «_>> в начале шаблона, и вьmолним
запрос. В идим, что н и одна номенклатура н е попала в результат. Но мы изменим
наименование номенклатуры «Кухонные электроприборы », дописав в начале цифру 1
( Рисунок 287).
j!
11
jl�:�
!1
i�
"н
!1
-11il
1 Кухонные
электроприборы {Ном
Код
(J{J(JQl}fJ020
Записать
Рисунок 2 8 7
С нова выполним запрос.
В идим, что номенклатура с измененным н азванием попала в таблицу. Все правиль но,
подстроке «ухою> предшествуют 2 символа.
И спользуем
специальные
сим волы
« [] »,
которые
используются
для
задания
одиночных символов, списка символов или диапазона символов. Зададим такое условие
(Рисунок 288).
! Номер
�1tвлa•1••1
�·····························:·····" " ·····························-····-·· - ···-····-------·�- ·-······················-··············-····· · · · · · ·
fi " : Ycr<OBl-l'Z
· ·-· · · · · ···········································
, ••••••••••• . 1 . :•r.�1•ri���l�Drd�:.fl���-o;5
Рисунок 2 8 8
Это значит, что в переди может быть один любой символ из перечисленных в
квадратных скобках . То есть либо «К», либо «К». Н о обязательно один.
В ыполнив запрос с таким условием, получим ( Рисунок 2 89).
133 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
ТЗРезультаrа
Номенклатура
Рисунок 2 89
Теперь зададим в квадратных скобках диапазон. Это значит, что должен быть один
символ, но уже из диапазона. Диапазон задается начал ьным символом дефисом и конечным
символом диапазона. Концы диапазона включены в него.
М ы зададим диапазон символов от «а>> до «Я », то есть все буквы алфавита (Рисунок
290).
. Нсме::р П. Условие
Рисунок 290
В ы полним запрос и убедимся, что номенклатура «Кухонные приборы» о пять попадает
в результат. Если же м ы зададим диапазон от «а>> до «б», то уже н и одна номенклатура не
попадет в результат. Если же мы изменим наименование этой номенклатуры таким образом,
то она попадет в результат, что подтверждает, что концы диапазона также вкmочены в него
(Рисунок 29 1 ) .
.J1 Кухонные электроприборы (Номенклатура)
з�П\•1С
..
<l
1
)1=1�
JЗj
,· · · · ·
fЬ
Код
000000020
J
Ещ�
. ,.1•
Рисун о к 29 1
3. 1 3 Фун к ц и и я зы ка. У словия. И , ИЛ И , Н е.
Последними в этой главе рассмотрим логические о ператоры « И », « ИЛ И » и « Н Е ».
Выберем номенклатуру и количество из регистра накопления «Товары на складах ». Зададим
условие на количество : оно должно быть равно 1 50 или 27 ( Рисунок 292 ).
134 Верный ста рт в lC www.work-lc�ru
88002344322 Бесплатн ый звонок
Рисунок 292
То есть, если выполняется хотя бы одно из этих условий, то строка попадает в
результат (Рисунок 293 ).
nРезульнта
;
�
.................................... . ... " ...... .
IJJl:;i��f:&illi1i�l'1P8118ifill(8
.
1БО
27
1&0
.
(:tкондиционер ELE,o<TA.
8�н,...11я1ор
OPБИТ"l>.. STERLING . ЯП
Рисунок 293
В ьmолнив запрос, мы в этом убеждаемся.
Оператор не инвертирует (делает противоположным) условие. То есть если условие
выполнилось (истина), то оно станет ложью ( не выполнится ).
Сделаем это с нашим последним условием. То есть в выборку должны попасть все
строки с количеством не равны м 1 50 или с количеством не равным 27.
При этом прежнее условие м ы возьмем в скобки, которые определяют приоритет
выполнения операций , как в обычной математике. С начала выполнится проверка на
равенство 1 50 или 27, а затем о ператор « Н Е » или инверсия (отрицание) ( Рисунок 294).
Рисунок 294
В ыполним запрос и убедимся, что среди строк нет ни одной с количеством 1 50 или 27
(Рисунок 295 ).
135 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатн ый з вонок
; ТЗРеr;r.1.>fзта
'··· ·············································· ······················································· · ··········
2�
�"�
·· ·· ·
·
• . . . . . . . . .. . . . . .. . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . .... . . . . . . . . . . . . . . . . . . .. . . .
Кочд"w<""•Г.
ELE�t'f
8�нt·;.m н;ср 8Шft:ГONE ALP.NE 150ш. н.:юи11t..µый ,
Рисун о к 295
.
Л о гический оператор « И » о значает, что должны быть выполнены о ба усло вия. В
дальнейшем все это м ы будем отрабатывать в практической части и домашних заданиях.
Кроме того, описание всех функций можно посмотреть в теоретической части к курсу.
Гла ва 4.
4. 1 П а р а м ет р ы в и ртуал ь н ы х та бл и ц на п ри м ере усл овия зап роса . В р е м е н н ы е
т абл и ц ы .
Рассм отрим исп о льзо вание параметров виртуальных таблиц на примере условий
запро са. Предп ол ожим, сто ит задача п олучить данные о прих одах и расх одах п о всем
товарам, на к оторые оформлялись заказы п окупателей. Прежде всего, требуется з а йти в
режим «Предприятие,8» учебной информационной базы 0.J.rtp$.;//y_g_Q.\.,�k/d./f.b.b_Vf.:нт8..\,!.R.CNg)
и открыть консоль запросов ( Рисунок 296):
�-
+
Консоль запросов 0 . 1
::=.�:.
·_.".
;. Урок № �
.... " ......
-"
Z
..
:;:::-·t=�;�x.�..:
.;:;::::· '
;-; :..••.�
.....
..... . . . ". ..
•�
f.:1;•
················································ ··············································· ······················································· · ····················· ················································· ·······················································································
Рисунок 296
Задачу выпо лним в 2 этапа. В
перво м - со здадим вспо могательный запро с.
И сточ н ик о м данных для вспомогательного запро са п ослужит виртуальная таблица оборотов
регистра накопления «Заказы покупателей», из к оторо й мы получ и м все данные по п олю
«Номенклатура» ( Рисунок 297):
136 Верн ы й старт в lC www.wo rk-lc.ru 88002344322 Бесплатн ый з вонок
.(."
'
-----------� --�--··-·
··
··
······
@!
r;,,", �"'
..
:�
Па�"::Ш·>: :re�.0c::: lr.Y.�!�J6Y.IO:Ы
&;;,;;;,;;;;;
;;; ;;;,;
;,;; �
;;; .........
·
.
. . . ..
. .". ". .. ·;· . � ,"'
;
. ···---·-··
; ., �JИlf�IВ!'=
;�
� .
�
Ji1
,�: ,;�as". j J�
;j
Е�; I : . ;;;.�
.
· ��
· ...,...,
· "· · ,,.
. =.�.:ш�=�
.
'"'
-�k
-"'
"'-""
"'
""- ""
��"
- '====.,.,.
· ·· .,,
·.···,.,
··...
·· ·..,
·".,,
,, =
, �
"
;,ffl%д.,$ш::ш
·· "
. . . . .. " . . . . ..
· ········ · ......... ....... " . ..· ·
· ··
· · · · ·· · · · · · .
....,.,
,
..,.,,
,..
...,
_
.,,.,
...,
_,
,
.,,,,,, =
-m:::;�:mJ:"x�щ:rл:x:-:�-,�.-..-#-�<-"�"
:
i ГЬ ;:-и
.�
. х,5. ..
Рисунок 1 97
.
"
.
п�'"'" , ••·
·
.
' �:
Текст вспомогательного запроса:
ВЫБРА ТЬ
ЗаказыПокупате.1еi1Обороты.Но,ненк.1атура
Рег истрНакоплеиия. ЗаказыПокупателей. Обороты
ИЗ
КАК ЗаказыПокупателейОбороты
Результат выполнения вспомогательного запроса (Рисунок 298):
.
.
..
У
.
>:
-о
�
.:1 ':r(�-0�
._у № .4.
���
ТЗР�ауr.ьrаrа
6ентиляте>р оконный
Рисунок 298
Следующим этапом получим данные о приходах и расходах по складу по всем
товарам, на которые оформлялись заказы покупателей. Для этого обратимся к источникам
данных (Рисунок 299):
Таблица остатков регистра «Заказы покупателей »;
Таблица оборотов регистра « Продажи»;
Таблица оборотов регистра «Товары на складах».
137 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
�
��
7][
�
;
.
·
�
if
2f=
�
�
j.)
.
�
: Д.·.с��)�.:
:.:�, 1 P�t�;�- ����
·,:':
�
(>·
'4
;� -
:.:
i
11 -�'"·;;-··
��
- ...f'Ь-1 �' :;;
•
-� :._ ��>:�.!"!У',�
f .9x:.Yc1:-..жr�"<Ы.мir:w:l:.>�')i.: t<cn···�ь;��ti.ГICМt.:)i;
' ���tr.- Ксп" _,.��r
J '!"ot,b:)to.P �n.��c�,cн.._ �rм""«':r&.')Jt"<-"X:>A
)j M:w.>��'l"A:'бo-:.r/.'J ;
� �>-�"�::�)�-�«<�
' �.�;-,�<.ч!-:;�Р•::х,;.А
;�� ���Т:)С
,, ; - Q;x-�_.x.
i . �М!k'."·.t'r)i:>.3
1' �1�"сУ-�...
.
;1 (""���f"��A
. ..J . �r.�.-...�..:: 11r1 .":-::t . .
Рисунок 299
Здесь нас и нтересуют данные, отображенные в таблице 7 .
Таблица 7 - Источник данных, поля выборки, комментарий
П ол я выборки
И сто ч н и к д а н н ы х
Заказы
Обороты.
покупателей. Номенклатура,
Количество,
Приход.
Продажи. Обороты .
Товары на складах .
Обороты.
На
закладке
Для получения данных
заказам покупателей.
о
Количество.
Оборот.
получения
Для
номенклатуре
Количество
приход.
Количество
расход.
получения
данных
Для
номенклатуры на складах
·
-
-- ·----
Ко м м е н та р и й
«Связи»
таблицы
о
данных
-
связьmаем
номенклатуре
-
-
-
проданной
----- -
соединением
левым
по
--
остатках
об
по
полю
«Номенклатура» ( Рисунок 300):
.
- � �t:
. = · -·····
t
< 4 ��������1���-;�·-··· ····-�� i�.;�: ra�.з
!:� ��tk��
���
..... .-..·"t�Гt=J 1� �r.���������;�;;
··· · L i"Р��,:��ъ ����r;�
2.�.$..�:�����7�:=1������ :::::::::а -�- ���?���-· --- "}Q::O.)� �r.���:����:!�-����:;r�::::······ · · ····· ···r:�-т���1����r:s �����:�_
j r�.� ;
.
.
.
· ••••••••••••••••••••• •••••••••••••••••••v••• ·�·
·
·
'''''''''''''''''''''''''''''''''''''''''''''
."
···
·
.
' ---·
Рисунок 3 00
·:
( �'�
·
---
Для обработки отсутствующего значения в результате соединения таблиц ( не найдено
значения в одной из таблиц при связи по полям соединения), реком ендуется использовать
138 Верн ы й ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
проверку н а N U L L . Для этого применяется функция языка запросов «ECTЬN U L L » ( Рисунок
3 0 1 ).
:i mi:u(t1n... ..
1 1Ъn�
, ·· · · ···
_
. ........ . . . .... . .
.
. . .. . .
..
_
... . ..
. ....... .
.
. . .. . . .
..
.
с
ffxi E!§!.-ШJ
В.:fЬ:N U i..Ц-..sм
s zыГk:К)Т1г: -:-ene-�тэr..i:и. 1<ort.fJ�c
tдw1щшtмmщl(j!�t!ffiШШ �if-i.::�roo<. О}
.
ft,.;
f(. ;
ECТЫ..J: ; Л. f.�Пp0:д."tжи06·,DQ1�1.?Wrм��1f:'l:::{)(юpn.,-, О}
....
. . . .. . . .
.. .
ЕСrьN :..Н"ЦТ0��1 � ($�:кr.�мх<.Jборо � ! �Сtч�еС1t";�Г�":��"С.Ц . t-:)
! , 11
;
f�.; КТЬN!_ILЦТо:шрь.1НliСкt:-а:.ах06сн::ютьt.Хоr:•�-m:-Р�Сt">з.:., �J')
.. . . . . . . . . .... . . .. . ... . .
..
·
... -····· ··�· · ·-� j
. б'Qi�;.�;:_· к����-;; ;�ё Р:а<;х;.�·
г · ·--- �-E-Ibi:U�I..�(·i�;-�p�в_c;:;; a�4X5
1
..;,... .-.. .0-......................... ...... ... .
!
1
,
:�::��
1�="""'"""'"""'""'
1
. !
. . .. .... ........
.. . .
x,
:
w.
"w.
;=x'""""'"'='"
!!•
""'
<=
ss
"""'
"'
"'
. .. .... .
' •}
о;
. . . . . . .. . . . .. ..
. .. ...... ... . . ............ .. ........... .................
.
·-···· ··-·-··········· ·····
------��--· ·-· · ··----· ···-····-··· ...--··············
.
----------�---·--·--·�-·-·······-····
-·-·--·-··· ············
= .-:��
;· .
r.
�x�:ш*>:ж,
·· ·· ·· ·· · ···· · · · · ······ ·· ·· · ·· · ·
'. :
: ��� �:�� :
· ·· · ·
·
i: :· · { ::�
: � ;: :. : 1
,,.
.,,
; :�
""
(
""
=
..,,.
.""".,,,,,,,,,, ,"..,",",,,_
·""'"""'"""""''",".,.,,,.",,".,,,".,
:
�;,",=
�,,
=
,
�
"".,,,,."' ,,, ",=i!
·'=
· .,,
""
Рисунок 3 0 1
Для удобства работы с результатом запроса, рекомендуется задать п севдо ни м ы полей
на вкладке «Объединения/Псевдон им ы » ( Рисунок 302 ) :
«Заказано» - количество номенклатуры по заказам покупателей;
«Продано »- количество проданной номенклатуры;
« Пришло на склад» - количество поступившей на склад номенклатуры ;
«Ушло с о склада» - количество реализованной номенклатуры с о склада.
·'-:?
Jw.w
w
;;;�
�::::««i}:Y.::�;?,Z.
i������-�@!&�@&%%.·:;.:щ·x·;�m·�т::)=�
��: CФ.i:�!f,��9...' " а&"'�"'"'�"'тю,-еос,Ф"'"
.
'
·· · ·
I :: � =
�1.5.
�
. ;, · .. ... .. ..............
r�� r(,::!:�_
·
.
.: �� , . }�1
.
.
.
. • fkq>J;ir�
: ���!����
l.. 1>.�"Г!('!(;>.tl'���:fo<e, Howm:nщм
.. �J. _ �T ��
- �:������-�t�-�:-�� .�����r� D}_
f)\ �
f�! EC i bN�1Ц���:ю.1€J&:�J:c::.i<'1irv.-tfr�
•
.
c{�!. i;]
Рисунок 3 02
Текст запроса будет выглядеть следующим образом :
ВЫБРА ТЬ
ЗаказыПокупателеi1Обороты.Но.менк·1атура,
« ЕСТЬNИLL »(ЗаказыПокупателейОбороты. КоличествоПриход, О) КАК Зт:азано,
« ЕСТЬNИLL »(Продаж·иОбороты.КоличествоОборот, О) КАК Продано,
« ЕСТЬNИLL »(ТоварыНаСI01адахОбороты. КоличествоПриход, О) КАК ПриииюНаСклад,
из
« ЕС ТЬNИLL »(ТоварыНаСююдахОбороты. КоличествоРасход, О) КАК УитоСоСклада
РегистрНакоюения3а1'азыПокупателей. Обороты(. , , ) КАК 3а1'азыПо1'уnателеi10бороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Прода.Ж'и. Обороты КАК ПродажиОбороты
ПО ЗаказыПокупате11еi1Обороты.Но_,1-1е11юютура
=
Прода.ж-иОбороты. Но.11е11к1атура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопле11ия. ТоварыНаСкладах. ОГюроты
139 Верный старт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
КАК ТоварыНаСклада-rОбороты
ПО ЗаказыПокупателейОбороты. Номенклатура
=
ТоварыНаСкладахОбороты.Номенклатура
П роанализируем текст с точки зрения оптим изации. Как видим, данная конструкция
'
не очень о птимальна, так как при исполнении запроса сначала формируются данные из
таблиц-источников по всей номенклатуре, без задания параметров, и только потом из этого
массива отбираются нужные, на основе связывания таблиц.
Рекомендуется вьmолн ить настройки запроса таким образом, чтобы изначально
лишние записи в выборку не попадали . Для этого вьmолнить следующие действия:
1.
Задать параметры виртуальных табли ц;
2.
И спользовать конструкцию вложенных запросов.
Зададим параметры виртуальных таблиц. Для этого требуется выделить источник
данных в конструкторе запроса и вызвать контекстное меню правой кнопкой м ыши (Рисунок
3 03 ).
.:.�"":'<У'"
-�---�·--·----·
--
_,"н;,_,,,.,_п,.·,.·,,,,.,...,""...,
' � ' ···
..,,..,......
.,,, �..,,,.",,
...,,",..,.,..,,",_
_
,,,.,.
):,_
·· ·•Щ••
дА,:vп.
)
•.•••••,... . . .. .... .
; � . . . ..
Рисунок 3 03
:�
J
.....•.
;
�
. {..'--:.: �"';.��_:;
•
.....
В форме параметров таблиц « ПродажиОборотьш и «ТоварыНаСкладахОборотьш
необходимо
заполнить
данные
по
условию.
В
качестве
условия
вспомогательный запрос, созданный н а первом этапе ( Рисунок 304-3 0 5 ) :
ВЫБРА ТЬ
ЗаказыПоку11ате.·1 ейОбороты. НоА1енклатура
из
РегuстрНакоплени.я. ЗаказыПокупателей. Обороты КАК ЗаказыПт.у.пателейОИороты
140 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
используется
l�
if�•Шi•��kйrйli1#.NJJ.t�f.?iP�i�·=·;м::?k
: fййe-Jдыja�-.)Ji:;:;:iiik,:й:s;.:idЙJlli�д;цщt.tШ№�ili.iйffiffi#m
:>-::м
=·:••••�
i� �I��]
!:1 �; · :·. � - ,� -- ·
nor.e:
··· ·
·
:.. . Ц>-н�:ll:.V.J\
," : . Ct.:r..a:.
............ шшшшшш ш
• ••••••• ••••••
<�
i.
:1.
•
1-, .
!
····· ··· u;?::;�;;�т��:; ··s···(эiiвFА.ть
иs
1 •'
... ..
·---····---- · ····· ...................................................... .
···· · ····· ······················
··
З.a.ti'.(::;;.Ь:"Sl� ��J":!'J�(:;;.�i�Ot::.� ;�t,:r.ьt. li.::x.��!::t.:r:� '!'у;;.а
.re :;..r::'r;?;��-=:i..,�s-:;; . 5��е:.�1-: :r<"j!?: �!"!!F:�;: . {;��_р:.:� КА.К 3ах��tи
"7сr..у;:�::-ез:�б:-;:�
�
��-== � ::
::::
�
Рисунок 3 04
:�t;�-�����-Ё $���?А1Ъ
] ::'Qiк.!
i ��::"/ct.:?!'i�-:-м�t-t:�i:·�J >�xn.,•�"P-'
�
'
1
Ёjf�c;,�; ;,�;r ll
...
:��3
�е:")Сс�t�с��(;.3�к:��1rь.��:�"� Qe��� i(ДJ{ 3aк��::��':(6i��G6�-'!Ы}
.
:::J �
�
Рисунок 3 0 5
В результате задания параметров, в процессе исполнения запроса, дан ные п о
регистрам «Продажи » и «ТоварыНаС кладах » запрашиваются только по той номенклатуре,
которая есть в заказах, что сокращает время исполнения запроса. Однако и такой вариант
запроса не является оптимальным решением задачи, так как условие:
Но.11енклатура В
(ВЫБРА ТЬ
из
будет
ЗаказыПокупателеitОбороты. Нш1енклатура
РегuстрНакопления. ЗаказыПокупателеii. Обороты КАК ЗаказыП01\уnателеi1Обороты)
выполняться
в
каждой
таблице,
в
которой
оно
задано.
Иными
словами,
вспомогательный запрос выполн ится трижды: в таблице «ЗаказыПокупателейОборотьш,
таблице «ПродажиОборотьш и таблице «ТоварыНаС кладахОборотьш. Не логичнее ли
вынести исполнение данного кода в отдельный блок? П осмотрим, как решается задача с
использованием вложенного запроса. Для этого нужно создать новую табли цу и скопировать
текст условия (Рисунок 306).
141 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
�
< О � .��·· ··
ч����ть
: i
: . :,·:·
!
:J ���=�
Jbl p�'{.1C"f:;-t-$l�J.:.f':.;"':flS:-$;.f1)
"
.
.
..
· ·· М··· · ··························
·
аrю:«ен�ый з.аn�
'!• �� �да���
·.- А_' 1��:-::-2IOVJ1�k:'..-:.p;: 1ы
:
j
:
�::::.:, [
< ·i
t . bli
i4$!-tЩ-�
h-J g:}bNULЦJ&.��:r.ж)Y'"--''!'e�
'f:..°Y
z..Y.>
. :� i<z:��"i!�.i""�;. ';..'f; �
;._J ЕП•.�ULЦГ�.:: il5;.;;;:С�:>;х:: ь.:
� )(;; :-.r-oec1e�,;,�;":'. \',;�
ft-1 S:TbNUl:..<'Т:>�: � i�кn.�
н
:...:,)')6--vPC 'ft!I t:',.:),11.f"(�.:�Jl.;t<'!Ф.::. t
г�.::···ri�· w�::i;,·�"�+�1� -i ·:;:
j��j
� �- f::>�
�$1'� �
Pe:""Y.ctpt": �:ii:sн;.,i;:
· · ·············. · ·"·····:
.
.:·--�:·,{)"..:
Рисунок 3 06
��l��:��btj������f.1jjjj;t%ii(ltfgi ifiti%��-·J
В поле текста запроса вставляем фрагмент условия ( Рисунок 307).
г·�r.iFi;�;·
е
.
з��..а�::-r.:;;5а�.::��С:-6�р��- Е: :;не�
....
14::-'!Р'..
};:i;.i{ ?.�н��....1«-:"Л>�
..
�
····�···�
···
····�····�··w
�
····�
�···�����
�
�·····
·�
· ·�
··
.
.
....
....
..
�
.
...,.
....
,.
.
....
·1
�
.
.,...
,...
с ·,,_
..,, ·�
,�
·
� ..
�
�
�
Рисунок 307
-
·
�
1f!
i�
�
F�:-и::"Ip:'{��r:r:��v.a:, �=Jt�::t:��X";aal'ez:::� .<.:top�'::':-3 :.;ж �а�:а:.�Пса:у:::!.т�л:tй:'"Jб�;::::-:-::
� �
4. 2 М е н еджерВр е м ен н ы х Табл и ц.
Сложность практического применения вложенного запроса в том, что нельзя его
использовать в дальнейшем, как условие, и потребуется прописывать еще одно соединение
таблиц. В связи с этим , предлагается использовать такой объект встроенного языка, как
«МенеджерВременныхТаблиц», который позволяет передавать временные таблицы из
одного запроса в другой. Рассмотрим на примере.
Для этого потребуется открыть режим «Конфигуратор », создать новый отчет (назовем
его «Временные таблицы») и перейти в м одуль формы отчета ( Рисунок 3 0 8 ) :
1 4 2 Верный старт в 1 С www.work-lc.ru
88002344322 Бесплатн ый звонок
�
��tl]II��lilliflililliflililliflililliflilili!�
!;.:;�� ."6
·�
�
х �
1·····························-·····················
?х
-..•.·.•.·.•,•и''·'·'-'""·''N·"'·''''"'·"J""'..-.WUJ.•N-'·' J.•J• •·.•.·.·.·:;.·.•.·.�
t,..
!
;
j�
�
:.:
.:,; �
�9.
�
: ;> :
t(.:-tф!!')'O&"�
if
..,��·
с:�
nep-.�лet-•нt
:� �lte
. : п..
"'1()�
��
w �t
x�e� �'!'Q8
с�
�
"�;�i���
..
"
.;�·
�
ГюНс'-�'J':li)е
· lD
.
--;-�-t._
$;,� Ос':'�ткиTcы:��Jt!!l:
:ii [16:i.afo1Y..,
$' �,,.�
��� -.·
'1'.'·)'t�JЬ1-��-�
�,;,�;,;,:,,�,;
:::: п� а'ШВ хюм-те:)tt�
:r Г:."":!11--.о! c�roe
,.
,
,.,
;-,о,;.;.;,,;
.
,;,,;.,,;.;,,__,,_
:,
- �-;1' -···· ······················
� �! (:, �!�
i �! "t�";:p�:
: <:k(.м� ���·�тэ·
о #
)<
-i .::�- т
· · · · ... ..
- ·····
�
��:::1· � - � · . ..
-
.
. . ..
· ·--·
·
····· .· ··· ··. ······ · · ·. ··. ..... .
·· ·
.... .. .. . ............ ........ ..... ......... .
.
Рисунок 308
В форме отчета нужно создать реквизит с типом данных «ТабличныйДокумент» и
команду «Сформировать», в параметрах которой укажем ссылку на реквизит ( Рисунок 3 093 1 0) :
lli=��=���!li�ir:::::Jlllw]llfl
l�!l
Х i � ·#- 5 :!;;] - ! ! �{':, JЩ ; # �
....................................................... ···········� :....... ....... .... ........... ... .............
:Эr:е!�:-t:ь.1 .
.....�
.. -.... .............. ........."
.
,
. ..... х.=. о .. ........ .. . .
.. . . . . .. .. ...... . ....
. .
..
;
х;·
·..............................; ....................................... ................................�....
Г."f,-�;r-д.,...
.м ..,
!Та5 д�:r-,
: Т"61Ь<.
)
································.···· ···················· ·
f"io;JQ.Ж.�t<3a� o;�2� a"ro
lr."·"·-�·" ································ ·······················
:�)
По;�500:31'€1'ьо->:с;: е �
ГW\.':Т'tП��
L�J
8al).Q.t..1�1Ь
i
1
1
1'
;�7u:wышwю:ш;ww;щшшммлю:й<�I
- .:
Пр:-пу�а1ЪП;:н'!О3r.а1 j,!-ern
i
[,
1'
f:.x�'iF»<�1r.�:e.;тьf1vY С!
• И«.":Vtt)J\t����. . .
...
..
." ..t��r-lt.,.-.��'---�-�,m.:.�� . .
· i.,,.... a объ,екте
� •. N;yne
Ttl1 �'1;JЬ
'В ·'l'о�""'3
...... ..... .
� ........................
--
,"" d
1
х ' '*
:_ .·.-�
.. ::_�-r·-·�······-
�.
�·:
г.�·16 ;;.!Ж
!l
1
· -'
·в
Рисунок 3 09
�
а
. ...
..
;/;< . ;:-;:;, ::
• у,�"�- :.· .
v..<
;11111111
�t�-z.�����:?it���;t��w.(
��!l!!l'illll!ll'il � :����;=�,,,,,,.......-......,....·.·.-.""..."..."".............
.. ""... ......... ..."..�.�-.
i, !,
·
� r :-);J=�����-- : : ._: - �»1:��
:. � :s�·�
;C�rta-n.
.Z.•'".-.-.,•.·.·.·�.·�-·.·.·.·.v�.·-·.v,.,..._
_
_
w,
='- �"·-n.
�----..·-� - �-���-.......
:и.""r;ь
1..:--J fА
Рисунок 3 1 0
В процедуре «СформироватьНаСервере(ТабДок)» вставим следующий код:
143 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
&НаКлиенте
Процедура Сфор.�·tировать (Кшюнда)
СформuроватьНаСервере(ГабДо1');
КонецПроцедуры
&НаСервере
Проl{едура СформuроватьНаСервере(ГабДок)
Запрос = Новый Запрос;
Запрос.Менедж:ерВре.менныхТаблиц = Новый Менедж·ерВре.�1енньп: Таблu1f;
Запрос. Текст
"" ·
Конеl{Проl{едуры
Далее воспользуемся конструктором запроса, в текстовое поле которого скопируем
код вложенного запроса ( Рисунок 3 1 1 ):
!k=".,;;.: ,;;;;,;;,.;t.
.
06""ь.ffl;;,_.;:;;fn=.,.
'fft: � &' X i � �
; l
�к_j
. Krcwи
$.} .? Х
Рисунок 3 1 1
Перейдем на закладку «Дополнительно» конструктора запросов и укажем тип запроса
- «Создание временной таблицы» (Рисунок 3 1 2):
�
-·
������� ::·� ./��: .: У�� i де:»iНt
!!l.tOOr= � ·
r.... �,,
C;I�
·-
��-:-�...
. .���::;.;
•��r
•,; tъ�+><• ;ЭЖс«
(�� Cc:зl:.Q:f.:ie syr.;t.'.f!�� rcбr��
(·:-YФ:>;rcжet-;i� �иe..-:�::.fl :��2.#
� C.jбi1'...��
� 'f:>�fIO!МЬ><e Аа.� .t.;1R �;)C'�1'.<:.:l*°�����
·m .. .
:т�
1
Y't�'1 �·:-t"cl rdбr��:·
:.!•ё.1'2-' Мо �.,.,..."'
f·······
...: = .
···
............................
i
·········· ································�
· ·····�· ··
·
. . ..
,
;
Рисунок 3 1 2
Код запроса выглядит следующим образом :
&НаСервере
Процедура Сфор.11ироватьНаСервере(ГабДок)
Запрос = Новый Запрос;
Запрос.МенеджерВре.иенныхТабли1f = Новыit Менедж·ерВременны.х Таблиl{;
Запрос. Текст = "ВЫБРА ТЬ
ЗаказыПокупателейОбороты.Номенклатура КАК Но.мен1V1атура
144 Верн ы й ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
!ПОМЕСТИТЬ УЗ
�из
1
РеmстрНакопления. ЗаказыПокупателей. Обороты КАК
ЗаказыПокупателейОбороты ";
Запрос. ВыполнuтьО:
КонецПроцедуры
После выполнения метода «В ьmолнить() » в «МенеджерВременныхТаблиц» будет
помещена временная таблица «ТЗ », с которой и будем работать. Для примера допишем и
проанализируем код ( Рисунок 3 1 3 ) :
1.
Создадим текст запроса, в который скопируем ранее созданный запрос п о
продажам и остаткам, и перейдем к описанию временной таблицы :
Текст запроса :
ВЫБРА ТЬ
ЗаказыПокупателейОбороты. Но.не11клатура,
ЗаказыПокупателеi1Обороты. Ко.1uчествоПриход КАК Заказано,
« ЕСТЬNИLL »(ПродажuОбороты. КоличествоОборот, О) КАК Продано,
из
« ЕС ТЬNИLL »(ТоварыНаСкладахОбороты.КолuчествоПриход, О) КАК При�илоНаСклад,
« ЕСТЬNИLL »(ТоварыНаСкладахОбороты. КолuчествоРасход, О) КАК Уu.1J10С0Склада
РегuстрНакопления. ЗаказыПокупателеli.Обороты(. , , ) КАК ]аказыПокупателеitОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегuстрНакопления.Прода.ж:u. Обороты(
Но.�1енклатура В
(ВЫБРА ТЬ
из
ЗаказыПокупателеitОбороты. НоJ11е11ю1атура
РегuстрНакопления. ЗаказыПокупателеli. Обороты КАК
ЗаказыПокупателейОбороты)) КАК Прода.ж-uОбороты
ПО ЗаказыПт.у.пателейОбороты.Нол·1енклатура
=
Прода.ж·иОбороты. Но;11енклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегuстрНакопленuя. ТоварыНаСкладах. Обороты(
НоА·tенклатура В
(ВЫБРА ТЬ
из
ЗаказыПокупателеi1Обороты. Нол1енклатура
РегuстрНакопленuя. ЗаказыПокупателеit. Обороты КАК
ЗаказыПокупателеi1Обороты)) КАК ТоварыНаСкладахОбороты
ПО ЗаказыПокупателеitОбороты. Номенклатура
145 Верный ста рт в lC www.work-lc.ru
=
ТоварыНаСкладахОбороты. Номенюютура
88002344322 Бесплатн ый звонок
!l:i
�
tt�.*!
t.."3'
j
.�
�
-%.lj._!!i.j
��Jt� f:�·A-М.
:--::�
с:1 �K}'M�·HW
}�; Рег�Накс:оn.�•
. :t�N: p.��.
·
т' &н.:дв
.": д,ж.��
Fer..1.:-ТJ:;1ЫHaкor..n&1И•
�:
:
..
(,:.�
�' [.;;..�--�:=:·::= · ·---·· · ·=i
:nt ;�
: r���:"..\·'it �-:t
,"
){
� �'*
� ·-�� � tr!!!М·!i!11Z·B
�- ;,�1 з-.�rь�:>-r.'15�06cpo"no1
· .�· :_,«: Тае�·Чit"'"'��ты
�
:
� .? )'(
'-- Sд!ЬkИШi--·!!Н.·2Н&Ш�:шn
:Ъnм
f: 1 ECТЬtiULL�.-..�rlC!'Кy.'1aтe.-� n.t �ni.Nec��
fft В:Тbli:.Jl.L{Пp.o�
...pc.n:;r.!<ont(-46C"�t'. (;;
ft-t ЕСТЫ'i;Jl.. L{Тсеарь1Нl!Uс,·��'Ь1 r�lm'tee � � :
Рисунок 3 1 3
2.
Огредактируем условие в пар аметрах таблиц (Рисунок 3 1 4).
Нол-1енклатура В
(ВЫБРА ТЬ
ЗаказыПо,..упателейОбороты. Но."енклатура
из
Ре,�истрНакопленuя.ЗаказыПокупателей. Обороты
КАК
ЗаказыПокупателеitОбороты)
Заменить на:
Но.ненклатура В
(ВЫБРА ТЬ
ТЗ. Номенклатура
из
ТЗ КА К ТЗ)
:.. j) ·�;�
: е«��·{/�·�;
!©f�.k'f?.fflt
·�, ::;�
�:; rхм•�·:<-(-�
··�
Рисунок 3 1 4
3.
Поставим точку о станов а н а м етоде «З апрос. Выполнить(). Выгрузить( )» и
проанализируем «Т абл ицуЗначений» (Рисунок 3 1 5 ).
146 Верный старт в 1С www.wo rk-lc.ru
88002344322 Бесплатн ый звонок
с��.::�
.. ... . .. ...
.. ..
..
1
� ){.)}'>W�;"tw ),-.W,.(�'J(�· :
.....
·� f{'<) t°�
· ··········· ····························•
. ..... ....... . . ..... .. ......... . . ...
.......
..... .
. . .
��
.
.
�:
. . .
l'"��.cnne-;��
ir'..o:t.-:f!IU.:МAК::i � Т�n�....·Зма�
.
....�
r'.ox-«.a Таб1М1..Ы-3�-r�е-""'·�
�:O:x:-.Q Т•б�.;...-(..,.-й
�Дtж.еь1�nnек�
�!!!Ntl'�я�ncJ.tOl"::Ta6�:·З,Ц"!�
�",.:�":" .,,.;;; !.
34��
:.:::�:.д."U:О�
:
'
. .: ��
i
1(.(-.!'!Онк&Т�rа..�'>t•"�'
�г':"�Ао....-.: Зно--е.w..�
� ��:-:; t� t ·"·.·. ��:� .��·.:.:.·.;;.;·:
�
·
· · ··�•iii��:.:, �{��ii��-��2��=��,;�����§f;
····
·
�"��
�
�
2
�:
f�k
i
etii
�
fi;�
:
iij ···· · ·;;;.��" ill
�
F��A�����:�i:
i.:.:;.:.:.�:;;;.:;,,..,,,,=w•,.:•:�..:.:.: шщшши.ш•••. ••...шишш,,що,,щ,.:,и .•.шшшшш.·иш.·•щш.шшшшщ,.�·ш.•·Ш·Ш�-·щщ.·ищиш=ншл• щш,.·,.·,.:щ.".ншлw.·.ш.·.ш.·и.·ищ.·и.·•ш.ш.·,•,,•,,•,•щшш.·i
••.••• " "
..
:
.. . ...
•
•.
Рисунок 3 1 5
Таким образом, в процедуре «СформироватьНаСервере(ТабДок)» выполнился сначала
текст запроса, переданный во временную таблицу, а при исполнении второго запроса в
условии используется уже результат отработки временной табл ицы. Н иже приведен код:
&НаСервере
Процедура Сфор.мироватьНаСервере(ГабДок)
Запрос Новыi1 Запрос;
Запрос.Менед.жерВре.ме11ных Таблш1 Новы i1 МенеджерВре.лrенныхТаблиц;
"ВЫБРА ТЬ
Запрос. Текст
=
=
=
1
ЗаказыПокупателе�iОбороты. Но.мен/\латура КАК Нол1енклатура
! ПОМЕСТИТЬ ТЗ
1 из
1
РегистрНакопления. ЗаказыПокупателей. Обороты КА К ЗаказыПокупателеilОбороты ";
Запрос.ВыполнитьО;
Запрос. Текст
"ВЫБРА ТЬ
ЗаказыПокупате11еi1Обороты.Но.менклатура,
« ЕСТЬNИLL »(ЗаказыПокупате11еi1Обороты.КоличествоПри.ход, О) КАК За/\азано,
«ЕСТЬNИLL »(Прода.жиОбороты.КоличествоОборот, О) КАК Продано,
« ЕС1ЪNИLL »(ГоварыНаСкладах0бороты. КоличествоПриход, О) КАК ПриииюНаСююд,
« ЕСТЬNИLL »(ГоварыНаСкладахОбороты. КоличествоРасход, О) КАК Уи1110С0Сююда,
ТЗ. НоАtенклатура КАК Но.11енклатура !
=
из
РегистрНакопления.ЗаказыПокупателеii. Обороты(. , , ) КАК ЗаказыПокупате11еi1Оборо111ы
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Прода.JК'и. Обороты(
Номенклатура В
(ВЫБРА ТЬ
ТЗ. Нол·tенклатура
из
ТЗ КАК ТЗ)) КА К Прода.ж:иОбороты
ПО ЗаказыПокупателейОбороты. Но,ненклатура Прода.жиОбороты. Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНа/\оnления. ТоварыНаСкладах. Обороты (
=
Нол1енклатура В
(ВЫБРА ТЬ
из
147 Верный ста рт в lC www.work-lc.ru
ТЗ. Но.менклатура
ТЗ КАК 7J)) КАК ТоварыНаСкладахОбороты
88002344322 Бесплатн ый звонок
ПО ЗаказыПоkуnателейОбороты.Номенклатура
ТоварыНаСк11адахОбороты. Нол·1енклатура,
ТЗ КАК ТЗ ";
Запрос.Вы11011нuтьО.ВыгрузuтьО;
КонецПроцедуры
Усложним
данный
пример,
для
этого
переименуем
второй
запрос
( из меним
наименование переменной с «Запрос» на "Запрос 2") для пониман ия принципа работы
«МенеджераВременныхТаблиц» ( Рисунок 3 1 6):
� ->-«$ : < : ::
�
о:з
)
°:0<!'. Х :: » -л
":":HJ
H�.l.'1. .·:--.·
.90.toe.<'IJ11)�·:'1�;, :'1"":"<'.:-:r.>'1r;'!i �Г.�·�W.. ((r...,:111»Ж:'t;J1."'}TO.
·
�1'.У
blr.«f'IJJ.1".-««Ж-').�O.
P.11:11>.:1.:.:'1'J.)H4'л.;."�::it)»>I'-' · :Z:iar...o.:.;c.:!!�J".yGC1-r'l::h <Jc. OG.;."'u-.:� �
';.':a::\)'�(
: . �J1•;..l'(KJ'.:".l • { i .
З•..:ц,..t:::.2
���:..-�.;;.,;,
-
�:::.nt..:0:(
. .0.-:л-с;.:
�
��)>�<:(;,
З.u..o.ac;...
"!.;..,r..y,;a:c>�Jt•IC�.;.i;.<..
.
�W" •
1
"Ul;U;f'A l'b
:""" "' " :-�':0Y r (te1 2 �.., c-..;...-"noo>•:. ro: . :'J>)J «"� :< � • :oypn ,
x:::1�1�fG.:. t. : � ,.. . �W'!::-,y;.·�.as:�.r.; e-».:.·l'!"�.:-'l'к - Y.';.J'O(Чf'lf':�t':l"�.:i ::.
r.�·:x,::. )ol w.. s.. , ; : r :: n��...�<: �..,.� - :·::-:.7�><�:::r• .:.:."('x')p. .:. .,. ,
s
iv�"
С)
к ��
':\;AX1'�4JIU": .
�' ' u1. f�::�:-1..,.,
.tc���.-•;.::.t.
. :-r:->�•r-.&.�'::...-i<!tn�xOC"t':oo--:tot . :'.�w..c.4'C"::t•o:.::"..r:tc x-u;.. :·!; Xi.t. :1i;. к::t:: :')�"c..: � :.;i ,
w.:: t.bl!Ju�s.. , т.:. a«:;:w.,;.К,;.;. ic.;:•.:;....x':.Y.";. � p;:-7w • .к..,."ttc:""� .,.•<:: J' •.:;:J(<:: a , :;::� :;;:..,.,: ��'1�V;; )(..'1•..;;.•.
т s . ��•1111.tt.�•.,.�""F•
•::..х ��->s•�•'l')-i;oa ;.
<=•:-k�'l'pИa..-.�:..r.•к..::11 . З а к.а �,...;;.:- ку:'а ':"...
7.t.!v...E �.;. !:
,Ш
-:к�:.f:•::=:
-:•)t-. �ер��(, , , } К..-..К 9,.,,......,�.,;:;:�r.y-n•-z•т.•:iц,�-:.p�-::e.:
::-..i:ca•cc .i;: �"5-�.-� �
i •:'w��H•r.. �:-.r.• кw� .
н�� 1н..:.�� .:!. -:: :,.-;:-а
в
\�·L-A:-�
I'� . �!!).:-:е21��2'УР•
r� t.:Jt.f\ : � , ; x;;.r. �rрtод«'&'И'<.;с.:.рс7�
:tc �·���•.::��о.'!'е�'!:и�.::��ы . �-:):U'И&!:�"t' YP'• ... ::.;-c::rмrv.:::.�:;.
� �'!'Ъ:. :!�h�И�&or-1;r.•
11.r�:a: {:;;·t.�Y.�tt-<_..i� �-e:�)'J��ptt<!tr��.n«�$11 . 1'����""·.:..,...... .....,.�:1t -�.:-r�'2"t:.<f
�Jo(.lt1""�� · -:: =.--;-....
1t!Ы::=:i=A:'�
�
i1C Эar.•�..::':�J":)."'\":'i.�'!2.�tlic()0��-:.-::1111: . d�c4wкnti.'l';:p.a
�
TS x;-..r.. -:- � " :
�•""S:f;.G.:'; • ni_:.-: ,?."U �• 1: • �t::t'VY�I> (} ;
-
7.?a���
'!:;t��·r-�•&.41.X·�i;,P,?VW. 'М:,?»"tИr..т.��··
Рисунок 3 1 6
При исполнении будет выведена ошибка, смысл которой в отсугствии
«МенеджераВременныхТаблиц» для «Запроса 2» (Рисунок 3 1 7):
ф �::Снз;:-{Vещ.;. .:>;.u��:('.(
�: ,,....,. . �i:з�r�
...
·
�n-�в�;.ю��ы;:у . .
n,;����eif ё:О�3i-'. �й:·;)�:Ы6�� ri·vН Б�;с�е маr�а· к�&
�: Ф;pмa::;
. ···· · ·tбf·�·I}:. e�W�H��"Ta&r.tЦ
:.!зri�·-:2 8t..r:>:·nн>1r....:J Вt..i�p-1�m"i),
:'10 :'1)'>:+--:к�t
{(JQ. ::Н}. fr.W.щ.;.<1 М� H1i�E'�� ·тз�
( c '>'>-;i3 У.'АК ТЗ
...... . .
у
1
:..... �����·��-�!X. ..J
Рисунок 3 1 7
Для устранения ошибки потребуется изменить код процедуры в части работы с
«Менеджером ВременныхТаблиц», и выполнить это можно несколькими вариантами.
Рассмотрим их .
В а р и а н т 1 . Присвоить «МенеджеруВременныхТаблиц» значение ранее созданной
переменной.
Зададим «МенеджерВременньrхТаблиц» в какой-либо переменной и укажем его в
Запросе 2 (Рисунок 3 1 8) :
148 В е р н ы й ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
пr,, �����=�����!�5л�;!
S�про:: .У.�не�;::�J.!е�ных'!'а �.u� ."";". ::iUIY:�!-5.e�pЗ! ;
за �
-с!: . r�r.::-: .., •ош:FА!!>
'33.ха3�G!':'/Па.!е..::�й0"-4��. R::�::r...�a::n;p6
Рисунок 3 1 8
Таким образом, в первом запросе создаем объект «МенеджерВременных:Таблиц», а во
втором запросе присваиваем это значение. Запрос выполняется корректно.
2. П ередать «МенеджеруВременных:Таблиц» «ТаблицуЗначений ».
В а р и а нт
2. 1 . Для этого используем уже нап исанную ранее временную таблицу «ТЗ», но
отредактируем ее следующим образом :
1.
И спользуем временную табли цу «ТЗ » как параметр, добавив символ «& » и
определив значение параметра методом «У становитьП араметр( )» ( Рисунок 3 1 9).
За�о� . � � ж��
w
��Ы5FАТЬ
Зa:rc:a�'1·:)JCY"D.a:r�
��й:i...�opo-::ы . HGМ!'!tt�neтypa
За�ос.2
-- B ::-�U::1
�!":.t::-:=: � �
5ar.p�.:::.Z . t���е .пж�р В: реи�"!'� u.оrТ аб$"
.v
..ц
,:
9ач;:: о �2 - ����7 - ��CIS ?�b
TS. зс-ме:Р.1<nа.r��
: :!О!·�С7ИТЬ "!S
�!!
�. КАК
·ш:-�
� ),
ТЗ" :
".�·
H�1ett� ;::.жepST ;
;:· :; . ; :· ;; J�
Y -:: -:- � � o ai.:-:: ь :J: &f� i :�":";-' 1 " Т а � " . �а � ) ;
=,,,.'
:::�::: ,,,. ·
:-: .-:-:·
�... '<-'% '
;;:. ...
•,
7
;.:
m
�
.«
W.
:(
�'1и:::, /'д
"i'°
#"'"
..:w�
� �-...,,.::::::."....-*ф,Wff«'
f м.%"«*.J'f�':tf�:.:-x*
i�_r,1•_�r,����,,����,��7.��:1
:
_ :t:
:�11 Рег�'t='ТРЬ'�IУ':�'?
�
�
�-\�<.: ..
Е,.:. .:. . .:. . ..
..... .•
-�::: .....................................................................................................
Рисунок 3 1 9
Передавать параметр будем из запроса «Таб», для этого отредактируем его, удалив
«МенеджерВременных:Таблиц» и поменяв тип запроса «Выборка данных » (Рисунок 320):
149 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
1
11i) �;д�..t:y�: i�
Сt�рr.-:..ирс. з а -= ь ЕаСер!tер-:=.В.арЗ
.Не.ш.Меме:���р'S7
3а::ре:с :..... }l�;-зшl
3а::ре:с. . !�?<СТ "
� !аб.Це:х}
" l�::: :· в�:У. Мем�.джер.!3р�ие:t:�ых1' �б.п:v.:ц ;
Зе::ре: с;
"ЗЫЕf��_rъ
З.а:ка 3ыП.с-:�::уn а телейОборот-ы " Я.сн.��:r..л а�ура
! ИЗ
P. e r.иc:rpF..a!C:C:JJH!: Hl-'!Я . Зак.а.:эt::Пс �у:� ателеИ . Оборсты. КА..;.:: Зt!:1С.а:3ыПD�'ЛSТелейОбар�тыtt :
�
Те.С ::..: запрос . В1-k'1 С..."!�У.Т"Ь
1
•1
. i'��.:, их��.:: . .
· · � :Yif! � · ·
..
·
.
.У.:
��'Я. ·'
��
Быrру3�':'Ь
�;;
·
гъ;;.:;.;;.:;; ·-·1 � ��i:i< · c�;i�:;;.; · · ( �т��; � (�:;с .
.
n..:e r :> ..
. ,"
:· �)Еыбоскз иа�1ы1.
; �·
=·:.;ес3�� �ею-:о��:aбriu-..:
� "."� Y:#1:.:rc.жew.1-�e ept:Mff.1:-«J� �6J1�
.
:_ ·.·..· -.:_.
=
.. ·.·.··<!У.!
.:_ .
�..
,.
· ···· ._ ·····
·
•.
•
"'" """'�"
:
i1 · ·· ·.·-.·. · ...
{}
....--- -- ----
Д;щоо
> ·
..........
.- ,..." .. "..."." .."".,;"·...,,....
.........................•
. .........
.• -.
....".......".--"...�.... ...
.........
..
"
.",..-="
"
�." .•"••..."''"""
""'''"""
.,
, ., ,
, ",....,,.,,,....,".. "
•...,"...,.,..
. ....
".... . .,".
.
. "".,..".
.....
=
" """'"'""""'""""".""=
�.,.,....,.. ,"..."••.
�'-11�
..
.
.
Рисунок 320
В результате выполнения запроса получим «Табли цуЗначений », которую и будем
передавать в параметр. Но для этого нужно изменить запрос 2, создав в нем временную
табли цу «ТЗ» ( Рисунок 3 2 1 ) :
·
� Sar;pC-c.2 --.- - · ;:�.::.�ы.:.s заг..·� с с �
·
5-а..� рсс2 . Меsед..-.:.:е-рВ:;::: е:.:::е: н�ых1' аб..."":'.иц
Scн-;·pocl . "I�1':CT
=
""8НВР1t.Т�
!"9 . 3cit-teM:!l'....m1-ryt:a
J ПОNЕСТИТЬ ТЗ
! ИS
1
-� Таб К.">К TS" :
Ьli��
��WxMW
&
if&Uj@115'
$1
�
4m*�::::ж�lflih�
·
····•tmlr;:.J·::_·;f
:t�iO.�:]
f������::.<::_:_:_:__ � ..!.P.����- .,J _l:. Y?.����1�.. : .Г''n:Ji-.;;���1·1�:·�.v�-i.,�-���·:;:..-.:;._1·. :���9: .I .i::._:��.?.!��!.::: :-· . (."��� �:- ��
&dИJ:t ж:� ;�.(*..IЖ'";t� · ··
·
д
1,
l..J�ыe
CJ Ы;� n�rm1pP.IOU.tY".XC>:
С:: Р�д�.а���
._
.
Tftt·1 :sc·11"�-1 ······· ······· ············ ······ ··········
·
·
(__'· В,,Ю.,1><а ""'*'"'-"
�м.R Ц".:�1:�� mf$.rn.."-..ь.c ·
��;'-дZiдi:'JN:.·tt; э.,..,.�1�У.: ._·1ой тat:.n.�.'!.t.X
&.·.-.
(h�
'.
( . �---��-----�----··лrуi :
,
Тз
r
.f � ; Yн..1-rn·t».·� а;-...
� тat.i:"4•Kf)!
!
......J
� CJ Sшжt-�а1ь rк� t1)'"'«1 �re дpr.:th�
i ГТ�];��
.
_
·
··
.
·
·
1· 1-�{��� �;�·�;�����
_:__J
·
·
w.: u n:.x-::���-��:R;.*:V·a "3W.f.'::�r(f.1X
tРШ iй· ••1.J....
·
··
:-..
·: ·· :
··· · · · ··
·- · !
__ · ·-·· ··
--· - -· -·
·
· --·
·· ·
·
Рисунок 32 1
Текст запроса:
Наи1Ме11ед:жерВ Т Новый Мепед.жерВре..иепныхТаблиц :
Запрос = Новый Запрос:
Запрос. Текст = "ВЫБРА ТЬ
ЗаказыПокупателейОбороты. Но.менклатура
!
=
!ИЗ
/
РегистрНакопления. ЗаказыПо"упателей. Обороты
Таб = Запрос.ВыполнuтьQ. ВыгрузитьО:
КАК
ЗаказыПт,упателеi1Обороты ";
Запрос2 = Новый Запрос;
Запрос2.Менед.жерВременныхТаблиц = НаtиМепед.жерВТ:
Запрос2. Текст = "ВЫБРА ТЬ
ТЗ. Нол·tепклатура
,ПОМЕСТИТЬ ТЗ
/ИЗ
& Таб КАК ТЗ";
Запрос2. УстановитьПара.метр("Таб ", Таб);
Запрос2.ВыполпитьО :
Запрос2. 1'екст = "ВЫБРА ТЬ
150 Верн ы й ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ы й звонок
1
1
1
1
1
� из
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
ЗаказыПокупателеilОбороты. Но.менклатура,
ЗаказыПокупателе1iОбороты. КолuчествоПрuход КАК Заказано,
« ЕСТЬNИLL »(Прода.ж:uОбороты.КолuчествоОборот, О) КАК Продано,
11 ЕСТЬNULIJ»(ТоварыНаСкладахОбороты. КолuчествоПрuход, О) КАК ПрuшлоНаСклад,
« ЕСТЬNИLL »(ТоварыНаСкладахОбороты. КолuчествоРасход, О) КАК УшлоСоСклада
РегuстрНакопления. ЗаказыПокупателей. Обороты(. , , ) КАК ЗаказыПm"упателейОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегuстрНакопления. Продажu. Обороты(
Но.менклатура В
(ВЫБРА ТЬ
ТЗ. Но.�1е11клш11ура
из
ТЗ КАК ТЗ)) КАК Прода.ж:uОбороты
ПО ЗаказыПm,упателеi1Обороты. Нол1енклатура Прода.ж:uОбороты. Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегuстрНакопления. ТоварыНаСкладах. Обороты(
=
Но.ненклатура В
(ВЫБРА ТЬ
из
ТЗ. Но.менклатура
ТЗ КАК ТЗ)) КАК ТоварыНаСкладахОбороты
ПО ЗаказыПокупателейОбороты. Но.менклатура
ТоварыНаСкладахОбороты. Номенклатура,
ТЗ КАК ТЗ":
Запрос2. ВыполнuтьQ. ВыгрузuтьQ:
=
2.2. Теперь создадим таблицу значени й не путем редактирования временной таблицы,
а
самостоятельно,
с
самого
начала.
Для
этого
в
процедуре
«СформироватьНаСервере(ТабДок)» выполним действия :
1.
Создадим новый объект «ТаблицаЗначений» с колонкой «Номенклатура» и
добавим в нее строку, которую получали ранее из запроса:
Таб Новый Таблu11аЗначенui1;
Таб. Колонки.Добавить("Но.менклатура "):
НовСтр Таб.ДобавuтьО:
=
НовСтр. Но.ненклатура
=
Справочники.Но,11енклатура.Наi1тuП0Коду("ООООООО49 "):
Постави м точку останова на строке «3апрос2. Выполнить( ) » и запустим приложение
под отладкой ( Рисунок 322).
15 1 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
:::! S:П.P·.::O C .l .- ·..r �kC:'Z'
-
" }:ibl::5Pl;.";.::Ь
94�а �ЫЛо �уnат елейОборо ты . Ео ме�!t.Р.�т �--ра ,
;JorAX :З а � а .э з: и о ,
Q) JCAr: �род��Оr
У.:о.J""...ИЧе С" 'r'�оПs:ихо.д r
�J У.А.:< Пр.иш.nоН:аСх..'"lо...д ,
Ко.nиче ст�сРа :=: ход ,
�)· JCA.."( У:s:.поСоС�ада
.За.�а�ыn окупателей:,:>бор от� . Количе:=:тооПs;::и хо.::�
ЕСТЬNU!..L ( Прсд�С5ор о т ы . Ко...�че:=:т8о0борот,
ECТЬNVI..Z.. ( Тс зар-ы:НаС �'": � .Z4хQ.борот� .
'ЕСТЬ�{) � ( Т с й а ръ...'"Че:Скп�.zаха.бороты
.
.
! ИЗ
�
�
,
Sаl'С.а:sьtПо:купа:-;:е.пей . О�·СРОТЫ ( ,
r
) r
�:
Л:ЕВ<:>Е СО!:ДИНЕНIА.Z: Perv.:C'тpHa.кot"'..ne н.и.si . ::1ро д..sжх . Обороты (
Е'ег:.-::=:трНакс :v...r.е.ниSi .
Р.vмем:клат:.·рs
( ВЬlВ�АТЬ
9 а l( а 3.ыПС !'\.у�·н�:z е "7еV.Сб ор: :::: т-ы
Б
иs
П С .9а:кs�ыП.с·�п-.ат�.леК-:Sас.р ооrы . �онем.�..r:а't'�{ра - Продажи::>бо�оты. Н:с:r-::�и.У�атура
ЛЕ&::>Е. -::О!:Д:ИНЕИИЕ Ре':"v.стрНаJС::::: n_•н�.н.иR . Т � � a;:ыfia�..s:zsдax . Обсро..-ы (
Rоме1:t:к·ла�ура В
t В-ЫS РАТЬ.
из
Рисунок 322
При исполнении запроса система выдаст о шибку: «Тип не может быть выбран в
запросе. <<?>>ТЗ.Номенклатура » ( Рисунок 323):
.
.
. . " ...•.. . ... ..... . ... ... .. ..... .._
.. . ,
. ._"...
i�HfdiWif�i�kmJ#r· ш&f'#li&::&:
���
���<· ·)(�k� ;
. . .... ..... ............
г· ·
·
. . ..... . . . . . . . . ......... . .. .. .. ." ......
{Отчеr 8r.ём«11ныг1'�бГ;;ii\�;;·ф·ё,рi:; ;; ·Фоi)�1а6ТЧеrа• Форf,iii\225}j:·· оШ�бка. �i�:t . 8ЫЗёёе· м �тёДа к аН7ёкс1'а (Выnоnннт1,/
Зanpe.i:: 2 . Выr;опн�гь(j.
no np1Nн1<e ·
{(2, 2ij·. Т:щ ,;е
u::· ::�:;1:1�g;..r;:-:::J
•.•.•• ;����·� 1;�1!1; . f���i.f.·....
· �iW�:�;; Xili"*;·;"*'··"-''·="""'"'-*&;::-..'?;:::).'�m»'�m�
.':--='*'�"'''"""_,_,,,,.,,;,w,,o;;,,.=w•w:;;-x:w,�w�w-=.=w,"""'-"'"-�.,..""";;·�"'·-""'·'"'=="'"""'"
"'"""""'"·"""''"'"'"'··"":m#���
�
�
1;,.....,.""""""'"""z"'=""�
Рисунок 323
м оже r бьrl"ь выбµа>< в запрос;;
<<7>>ТЗ.Нс.м�;;н ·�� этура
Ошибка происходит ввиду того, что при создании «ТаблицыЗначений» вручную (не с
помощью конструктора запроса), необходимо определить тип . Для этого необходимо
использовать «ОписаниеТипов()» ( Рисунок 324):
Оrредактированный код выглядит так:
Таб Новый ТаблицаЗначений;
Массив = Новый Массив;
=
Массиr�.Добавить(Гип("СправочникСсылка. Ншненклатура''));
ОписаниеТипов Новыil Описа11ие Ти11ов(Массuв);
Таб.Колонки.Добавить("Но.менклатура ", Описание Типов);
НовСтр Таб.ДобавитьО;
НовСтр.Но.�-tенклатура Справочники.Номенклатура.НайтиПоКоду("ООООООО-19'');
=
=
=
152 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
,-------------------- --- --.&НаСервере"Е е э l<:О.ti Те:кс т .з.
Rгшrl>!енед;r:ерВТ = Но !'Н·,;.-Й
За.п�:,ос.2
:::: Н:�1н.�rй.
Ме.н ед;t":ер3реиенн.1>'.х?а бли.ц ;
З·а.nрос :
3fu'"'!�,oc2 . М:ене.ажер'Вр�мен...и..нхТаблvд
Заr:рос2 . Текст
=
"ВЫ.БРАТЬ
!
ТЗ . Ноr-<..е н.клатура
! ПОМЕСТИТЬ ТЗ
! И5
1
�'!а.б КАК 1"5 " ;
За:прсс2 . "Усз:sа:�овитьПара1.--1 е тр { ""!аб " ,
З алрос 2 . ЕЫП ()..
'!:RИть ( ) ;
З а прос 2 . Т екс:т
=
Т а б }· ;
" ВЫБРАТЬ
Заr.азыПо:ку·па т е.леЙОбороты . Номен=а '<'УР·а ,
ЗахазыПо-купа телейОбсроты . КоличествоПриход
ECТcNUL.I.. ( ПродажиОбороты . J(с-r.иче ств оОборот,
! И5
КАК За.казано,
О)
1-".AR Прода нс ,
ECТЬNULL (То!!> е<ры.'iаСк.ладе�хОбороты . Rо.лич:е ствоПриход,
ECTbNULL ( То варыНаС: к.ладахОборсты. • КоличествоРа с·ход,
О)
О)
КАК При=аi:iаС.к.>"7е<д,
КАК Уш,<rоСоС:к.лада
Рисунок 324
Запустим приложение под отладчиком и проанализируем результат ( Рисунок 3 2 5 ) :
f!ыpl!X��:
: ���..El>з.'-1":"":�Q:"">"J'P'�'-"�--
. ..,. :
f'e;i;.· ьrnr
Рисунок 325
Запрос выполнился корректно .
Текст процедур ы :
&НаСервереБезКонтекста
Процедура СфорлtироватьНаСервере(ГабДок)
Таб Новыil ТаблицаЗначениil;
Массив Новыil Массив;
МассивДобавить(Ги11 ("С11равочникСсылка. Но.менклатура ")) ;
=
=
О11иса11иеТипов Новыi1 Описа11ие 7'ипов(Массив);
Таб. Колонки.Добавить("Но.не нклатура ", Описание Типов);
НовСтр ТабДобавитьО;
НовСтр.Но.иенюатура = Справочники. Но.ненклатура. НаilтиПоКоду("ООООООО./9'');
=
=
Наи1Менед.жерВ Т = Новыi1 Ме11ед.жерВре,11енных Таблиц;
153 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
Запрос2 = Новый Запрос;
Запрос2.Ме11ед.жерВре.ме1111ыхТаблиц = НаU1Ме11еджерВТ;
Запрос2. Текст = "ВЫБРА ТЬ
ТЗ.Но.1ш1клатура
1
!ПОМЕСТИТЬ ТЗ
IИЗ
& Таб КАК ТЗ ";
Запрос2. УстановитьПарал1етр("Таб ", Таб);
Запрос2.ВыполнитьО;
Запрос2. Текст = "ВЫБРА ТЬ
1 из
ЗаказыПокупателейОбороты.Номенклатура,
ЗаказыП01;.упателейОбороты. КоличествоПриход КАК Заказано,
« ЕСТЬNULL »(ПродажиОбороты. КоличествоОборот, О) КАК Прода110,
« Е( 'ТЬNИLL » (ТоварыНаСкладахОбороты. КоличествоПриход, О) КАК ПриитоНаСклад,
« ЕСТЬNИLL » (ГоварыНаСю1адахОбороты.КоличествоРасход, О) КАК .VитоСоСклада
РегистрНакопления. ЗаказыПокупателеzi. Обороты(. , , ) КАК ЗаказыПокупателейОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления. Продажи.Обороты(
Но,не11клшпура В
(ВЫБРА ТЬ
ТЗ. Но"ненклатура
из
ТЗ КА К ТЗ)) КАК ПродажиОбороты
ПО ЗаказыПокупателейОбороты.Но.·11енклатура = ПродажиОбороты. Но.ненклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления. ТоварыНаСкладах. Обороты(
Но.менклатура В
(ВЫБРА ТЬ
13. Номенклатура
из
1З КАК 13)) КАК ТоварыНаСкладахОбороты
ПО ЗаказыП01;.упателейОбороты.Но.�1енк1атура
Т. арыНаСкладахОбороты. Номенклатура,
=
ТЗ КАК ТЗ ";
Запрос2.ВыполнитьО;
Запрос2. Текст = "ВЫБРА ТЬ
ЗаказыПокупателейОбороты. Номенклатура,
ЗаказыПокупателейОбороты. КоличествоПриход КАК Заказано,
« ЕС ТЬNULL »(Прода.жиОбороты.КоличествоОборот, О) КАК Продано,
« FCTЬNULL »(ТоварыНаСкладахОбороты. КоличествоПриход, О) КАК ПриитоНаСк1ад,
из
« ЕСТЬNИLL » (ТоварыНаСкладахОбороты. КоличествоРасход, О) КАК УщлоСоСклада
РегистрНакопления.ЗаказыП01;.упателей. Обороты(. , , ) КАК За1;.·азыПокупате.1еiiОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи. Обороты(
Но.ненклатура В
(ВЫБРА7Ъ
ТЗ. Нол1еню1атура
из
154 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
ТЗ КА !( ТЗ)) КАК Прода.жиОбороты
ПО ЗаказыПокупателеilОбороты. Номенклатура Продаж·иОбороты. Нол·tенклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления. ТоварыНаСююдах.Обороты(
НоАtенклатура В
(ВЫБРА ТЬ
из
ТЗ. Но.менклатура
ТЗ КАК ТЗ)) КАК ТоварыНаСкладахОбороты
ПО ЗаказыПокупателейОбороты. Но.менклатура
ТоварыНаСкладахОбороты. Номе11клатура,
ТЗ КАК ТЗ";
1
Запрос2. ВыполнитьО:
=
4.3 У н и чт оже н и е вре м е н н ы х т абл и ц.
Рассмотрим ситуацию необходимости уничтожения временных таблиц.
В случае, когда временная таблица используется однократно и занимает большой
объем памяти, её целесообразно уничтожить после использования. Для это го в конструкто ре
запро са на закладке «До п олнительно » есть опция «Уничтожение временной табли цы »
( Рисунок 326).
� T.."J6:-.s'10.�
� 1"$SЕИ*Ф#i"Я:Фi&�4Н,·"Ф·�
� . :��l Г'Ьо�.йбс�ты
! !·. � тз
�
���� ..
. �. :���·�������� :�:'����
."-<'.t)�e��-,.,",ИJoC� ':'#:t�7:�
н:: ±Wii
: ffjj T�;s-�1Н.SG<.n•�.06op0n.,;
:----------....---------....
...
..,....,
� :"·.--..,.��-·-
Рисун о к 326
Н иже представлен текст процедуры:
& НаСервереБезК011текста
Процедура Сфор.мироватьНаСервере(ТабДок)
Таб Новыi1 ТаблицаЗначений;
Массив Новыil Массив:
=
=
Массив.Добавить(Тип("Справоч11икСсылка. Но.ме11клатура")) ;
Описание Типов Новыil ОписаниеТипов(Массив) ;
Таб. Колонки.Добавить("Но.менюютура ",Описание Типов);
НовСтр Таб.ДобавитьО:
=
=
НовСтр. Номенклатура
=
Справоч 11ики. Но.менклатура. НazimuПоКоду("ООООООО./9 ") ;
Наи1Менедж·ерВ Т Новый Ме11ед.жерВре.мен11ыхТаб11иц:
Запрос2 Новый Запрос;
За11рос2.Ме11ед.ж:ерВреА1е1111ыхТаблиц НашМенед.ж:ерВ Т:
=
=
=
155 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ы й звонок
Запрос2. Текст = "ВЫБРА ТЬ
Т'З. Номенклатура
ПОМЕСТИТЬ ТЗ
из
& Таб КАК ТЗ";
Запрос2. УстановuтьПараАtетр("Таб ", Таб);
Запрос2. Выполнuть0;
Запрос2. Текст = "ВЫБРА ТЬ
1
1
1
1
1
IИЗ
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
ЗаказыПокупателейОбороты. Но.ненклатура,
ЗаказыПО1,уnателейОбороты. КолuчествоПриход КАК Заказано,
« ЕСТЬNИLL»(Прода.жuОбороты. КолuчествоОборот, О) КАК Продшю,
« ЕСТЬNИLL »(ТоварыНаСкладахОбороты.КолuчествоПрuход, О) КАК Прuu1.7оНаСк:tад,
« ЕСТЬNИL L » (ТоварыНаСкладахОбороты.КолuчествоРасход, О) КАК Уu1J10С0Склада
РегuстрНш:опления. ЗаказыПокупателей. Обороты(, , , ) КАК ЗаказыПокупателеitОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегuстрНакопленu.я . Продажu. Обороты(
НоА,tенклатура В
(ВЫБРА ТЬ
ТЗ.Но. .,,1еню1атура
из
ТЗ КАК ТЗ)) КАК ПродажиОбороты
ПО ЗаказыПокупателейОбороты. Но,.,,1енклатура = Прода.ж·uОбороты. Но.11енк.11и111ура
ЛЕВОЕ СОЕДИНЕНИЕ РегuстрНакопления. ТоварыНаСкладах. Обороты(
Но.иенклатура В
(ВЫБРА ТЬ
ТЗ. Номенклатура
из
ТЗ КАК ТЗ)) КАК ТоварыНаСкладаr:Обороты
ПО ЗаказыПокупателейОбороты.Но.менклатура =
ТоварыНаСкладахОбороты. Но.ненклатура,
ТЗ КАК ТЗ";
Запрос2.ВыполнuтьО:
Запрос2. Текст - "УНИЧТОЖИТЬ ТЗ";
Запрос2.ВыполнuтьО;
Запрос2. Текст = "ВЫБРА ТЬ
1
1
1
1
1
! ИЗ
1
1
1
1
1
1
1
1
ЗаказыПокупателейОбороты. Но.,ненклатура,
ЗаказыПокупателейОбороты. КолuчествоПрuход КАК Заказано,
« ЕСТЬNИLL» (Прода.жиОбороты. КоличествоОборот, О) КАК Про()а110,
« ЕСТЬNUU, »(ТоварыНаСкладахОбороты.КоличествоПрuход, О) КАК Пр11ut.mНаСкш(),
« ЕСТЬNULL» (ТоварыНаСюtадахОбороты.Количествоl'асход, О) КАК .VшлоС 'иСклааu
Ре?uстрНакопления. ЗаказыПокупателей. Обороты(, , , ) КАК ЗаказыПокупате:1е1-,С)vороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Прода.жu. Обороты(
Нол-1енюютура В
(ВЫБРА ТЬ
ТЗ. Номенклатура
156 Верн ый старт в 1С www.work-lc.ru
из
88002344322 Бесплатн ый звонок
ТЗ КА/{ ТЗ)) f{Af{ Прода.жuОбороты
ПО ЗаказыПокупателеi1Обороты. Но,ие11к•ютура Прода.жuОбороты. Но.11е11клатура
ЛЕВОЕ СОЕДИНЕНИЕ РегuстрНакоmе11uя. ТоварыНаСкладах. Обороты(
=
Но.�·1е11юютура В
(ВЫБРА ТЬ
из
ТЗ. Номенклатура
ТЗ КАК ТЗ)) КА!{ ТоварыНаСкладахОбороты
ПО ЗаказыП01<.упателеi1Обороты. Но.ме11юtатура
ТоварыНаСкладахОбороты. Нол1е11клатура,
ТЗ КАК ТЗ";
1
Запрос2.Выпол11uтьО:
=
/{011е11Про11едуры
Если после уничтожения временной таблицы мы попытаемся к ней обратиться, то
будет выдана ошибка. Для того чтобы отследить результат выполнения процедуры, запустим
приложение в режиме « l С : П редприятие» и сформируем отчет ( Ри сунок 327):
�; .
i�
!
. ,.·.
.�. ----�---------�--....... ,.... . _. _________ _
Jакаэ f'!JJJ"ffi:;;!ft'l'ff:
1,·'! ::��:·:' "!КН то•µ<�'
�
j
1�.
�
r<..:ry�n•м•* 1u••[><>f' 1'-"'1'
K;:;:.":'r·0-"1').:!V
:�-::м-.?;:�<.":3':}';:3
...; )_.,.,. ...
._..
.
.. .-. ... - ..�. - --· �-I .... ... ..;... .. ... ....... __ ..,"....,,.
�... -�·-----'-;.c.,..;..
. ; .... .. . " ... .... " , .... . ........... .....,... ...... ... ..... .·.·-··-- · ·
Времен�ые таблицы
" Т''�'
·
..
.., •• ••" . . ... ......... ....... " .......-·-· ·---·�· ···------"-···�-··--- -
••
·
·
.
·
··· ····· ,o;��;·s·�=��-��
- ���т;i�:":.t�:Ф·1::r
:+:fh·;;
;i:·;,м�
jf� !�т�·-·Ф·:::<�:
:iifi � л-:·ry�;�5�·-�·n�
��·вы�;;��··;
;.�;Q.:.;a·�;;;r�·м
:·
:r�· ��;�i���;��;� ;
з.,"", "'"'У'""'""�
r:;xi;:_.3.1CC
�i�•tf,ц�--� �
��
Лщ::.:-":2 8;...i-:-..cn:;.;щ"(;
.
r.�::нм�.
��с 2}? Ta:<fl}!Ч"J «Q ы:"\11е"а �ту
<.<.'? , >ТЗ КА'< Т3
Рисунок 2 7
Можем убедиться, что при нажатии «Сформ ировать » будет выведена ошибка, так как
обращение к временной таблице после ее уни чтожения не является корректным .
4 . 4 П а кет з а п росов .
Рассмотрим решение данной задачи
с использованием
конструкции пакетных
запросов. Для этого вернемся в консоль и создадим новый запрос «ПакетЗапросов»,
скопировав текст запроса из предыдущей главы «ЗаказыПродажиОстатки»:
ВЫБРА ТЬ
ЗаказыПокупателеiiОбороты. Но.ме11клатура,
ЗаказыЛокупателеi1Обороты . /{олuчествоПрuход КА!{ Заказа1ю,
157 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
из
«ЕСТЬNULL»(Прода.жuОбороты. КоличествоОборот, О) КАК Продано,
«ЕСТЬNUl,L »(ТоварыНаСкладаr:Обороты.КолuчествоПрuход, О) КАК ПрuщлоНаСклад,
« ECTЬNULL »(ТоварыНаСкладахОбороты. f{олuчествоРасход, О) КАК УщлоСоС-,.:лааа
РегистрНакопленuя. За-,.:азыПо-,.:упателей. Обороты(, , , ) КАК ЗаказыПокупателеitОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегuстрНакопленuя.Продажu.Обороты(
Но.-ненклатура В
(ВЫБРА ТЬ
ЗтшзыПокупателеitОбороты. Но.11е11к!lаmура
из
РегuстрНакопления. За-,.:азыПокупателеil. ОГюроты КАК
ЗаказыПокупателейОбороты)) КАК Продаж·uОбороты
ПО ЗаказыПокупате11еi1Обороты. Но.ме11клатура Прода.жuОбороты. Но.ненклатура
=
ЛЕВОЕ СОЬ'Jl,ИНЕНИЕ РегистрНакопленuя. ТоварыНаСкладах. Обороты (
В
Но. не111'1/аmура
.
(ВЫБРА ТЬ
ЗаказыПо-,.:упателеi1Обороты.Но.11е11к·юту ра
из
РегuстрНакопленuя. ЗаказыПокупателеii. ОГюроты КА К
ЗаказыПоkуnателейОбороты)) КАК ТоварыНаСкладахОбороты
ПО ЗаказыПоkуnателейОбороты. Номенклатура ТоварыНаСкладахОбороты. Но.11е11k·.10111ура
=
На вкладке «Пакет запросов» консоли отобразился «Запрос п акета 1 », который по
умолчанию является первым запросом ( Рисунок 328).
Рисунок 328
Создадим второй пакет запросов с помощью кнопки «Добавить», после чего на
закладке «Таблицы и поля » добавится дополнительная вкладка запроса. Выберем поле
«Номенклатура» из виртуальной таблицы оборотов регистра «Заказы покупателей » (Рисунок
329).
158 Верный ста рт в 1С www.work-lc.ru 88002344322 Бесплатн ый звонок
: .�}
(>":·�":\-<:::t�1'f4
3.<ii:� ��t:.1:°1Vk'"'{f"!"1S'l'8;}$'.!
;
�·1�i 'JJ!.c'"'J!ll :>� П:-:t�)r..�т-eл �� Ofkt�"\ :
. ;�
•,t'
:
�
.:..• .,.
C�?t.llA
H::i:....ttf(
...e
Л�Ч�P«
·�1�1<1.':"S
Пe:;:1:fo'fQ4
:,�-с;;ДГ.:�у-"Д:t)
П�"'»-t(')rtMиrcyтA"t
ПермодЧас:
Рисунок 329
На вкладке «дополнительно» создадим временную таблицу для запроса пакета 2
( Рисунок 330).
Рисунок 330
После этого запрос пакета 2 будет переименован согласно значению, которое м ы
указали в поле «Имя временной таблицы» (в данном случае - «ТЗ»), а н а вкладке «Таблицы и
поля» в запросе пакета 2 отобразилась новая временная таблица, с полями которой можно
работать (Рисунок 33 1 ).
П&j;t.���и�
; Табп•<uь' " n.оля
, Свя...•щ
.
ГР'!'r.'1И;:юе><а
> �·
" Е�1li:"J_ _кY""'
_·_"'_""'_·_·-------·, ·.:·)·'·:J: :
"-·:·;....
·
�
·�·.::: е��"ые:
тз
l
__ _
� --
=
-
�I::
OбъE:c�"SNeнv.я...11coo.;l(l�S.��.ы_
'За�з�1�;��6б�rы
Т�бВИt:а:У.
.._,
г�.�J
,
. .
,
__ _ _ _
fн
-----'=
_ _ _
_
_ _
_
__
Рисунок 33 1
_
n�ет ���с�
. :��. j �
!
�i.�;�.rь��:;:;..����об.,�:;..;,...; .н;;,;�; �� ."
"
:'l:;>p'f:s.;.QK
\,.�rи
ТlасТРQИ"!"ЕАь
t..
# Заказь.1!Ьt<J-�-=:а�"ОООроU:сt. �!'='-��q
ff.J ECTbNLILL(!l!".r.;;;i>жи06Gpofu1.i{!)nжe�
f (· ) .E·.CTЪNlJLЦT05apь1 H�l...��...r,:'},ni!:c05op<>1�
:
1·�бtмЦhi
Ссыпка
�
_c
·• •
___
Лo
Per.иC"ТpЫНa�r;r:лeHtAti
•
,_,
·'3
�
ЕСТЪN IJLЦТ.ое.а;,ыНаСкладал<Л"рс�
________:____________________
!... . ."���" .. . ".!
_
_
.. .
_ ___
.
__ _
"
-'
-
..
,
Для использования таблицы пакета «ТЗ » заменим текст условия параметров таблиц
«ПродажиОборотьш и «ТоварыНаС кладах:Оборотьш с условием ( Рисунок 332).
Н оменклатура В
(ВЫБРА ТЬ
159 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
из
Зшшз ыПт"у1 штелеiiОбор от ы . Но. 11е ню1 атура
РегистрНt1кmиет1я. Закl1ЗыП01.ут1mелеii. Обороты
КАК Зt1кt1зыП01.ут1те.1еuОбороты)
на следующий:
Но.меиклатура В
(ВЫБРА ТЬ
из
ТЗ. НоА1енк11атура
ТЗ КАК ТЗ)
if§i&iIO�•���;. �
=
'
} Мач.г.:IЮЛври�r:Р
1
j
�!
'
К:>?-<<щ;lерио;;..о
Пер'-'°'.Q.11>.и-tOC 1Ъ
� Yc;,0Ew'tё1
!'
!
!
. . ... .... .. .. ... ........... ..
; .;.-.-;�:�:.;д��&t@д№Jt.lt.l№Л��iiйд№&·,,·л-�д:'>:щ
.
.
�
ж,::
·
·
·
rн;�:;;;��·�� rypa в
.
'8Ыб"'>ТЬ
' r3.';4°�мet"i":.r.�rrp�
:
1
To&IЦ':J
�
;.
j�]
·
·- ' - -- -- �
�--�
·- ·- .. .,
1. >
..
-
·
г�·:< ·1
х
·� , 1
И1t>f:�_.f'з:s�_-__ _u��- �--
Порядr.ж
: :
•
t
.
�
. ..
..
�
Зекг311::t Поtеу
nате �
i·
-!\
·;····"- -- - <>- . - ----A. �
•
из
ТЭ КJ\.К Т-3}
!
О:Sье.Ф1н. .
�
�����к.е:"ь1Пск�":'е..n
: ;:: �
::�f�···�;,��;;�;(;��d
·���l ;
;
���f--- �
.... [
.
, �-м. ...�
.;
.,.;,.-;;
�::
;:: ;>�Jt
{t{�;:д;
;;;2
/
Ф
�f�:·
к:�.i
;
�
":--нfi.'$�-��i::.
":
_ ,._ .;;
;-:"� ;
:iltr:tnин�
: ·.:_ .
.
�->": : f: � !:=�==
Рисунок 332
. . .. . . ·
�
: t.�v��'•i�
В результате выполнения запроса получим запись (Рисунок 333).
·:.- 'YУро�pow.�4№ �
·�-
1.J.rip,��1'�� r.-«::�'An'Т..:r.a :t�wi�r.:&
. ....... . .... . . . . . . .. . .... . ........-.....
.
�
.
.
:::
�
��:�:
:
���.�
:in.=1fXд;
; . •.
��,1�.:.i
.
.
· . .. . . ..
11 :
;
:
, .
" ;� ;:
:
.
.
:t:��pc<:a
. ... ....
• ••;
1.. .�·-· -�-��:.'.:��,�-�:��-��:����:�. . .
:-3.:..:.к-. ::<:>�.rX:-.;; :-;·y::..'111·:·(-=.r-:":V.'>(') : ;;.-:;�'С.О . н�:c-«ti«x...-oa «: ypo.
nс�� с -:-и-:- :.:
-:-z·
. .:- " ..... " . " " .. " .................... ... ............�::::::�:::::·
;..;.·".;.·.;-�;-:-:-:-;-:".; .". ""
·: .
.
... . .
.
.. . .
;.
. . . ..;-:. . . .. ...:�.-..:�·. . .. ..:- .""
" ..
..
.
".
.
"
. �.:-;.:.;..:.·. ;�·;
. .
. ·�.--:-:·:-:·;·>;�-
-·
Рисунок 333
Рассмотрим преимущества использования пакетных запросов перед вложенными
запросами . Следует отметить, что возможность использования пакетных запросов была
добавлена в платформе « l С : Предприятие » позднее, чем вложенные запросы и такая
возможность ч астично отменяет их механизм, так как является более удобной конструкцией
( например, помогает избегать добавления вложенных таблиц и их связывания).
В качестве практического примера предлагается решить задачу из теории по
вложенным запросам с использованием п акетных запросов.
Для этого вьmолним действия :
1.
Создадим новый запрос «ПакетЗапросовДЗ_3_ 1 » в консоли и выберем поля из
виртуальной таблицы оборотов регистра «ПартииТоваров» ( Рисунок 334):
ВЫБРА ТЪ
ПартuиТоваровОбороты. Склад,
ПартuuТоваровОбороты. Но.ненклатура,
160 Верный ста рт в 1С www.wo rk-lc.ru
88002344322 Бесплатн ый звонок
i
J. 1
ПартииТоваровОбороты. Су.м.маПриход,
Партии ТоваровОбороты. СуАшаРасход
из
РегистрНакопления. ПартииТоваров. Обороты КАК ПартииТоваровОбороты
�--1�--t�;�···
�й ;а-�
u �V9�
�·:· :ill ����,'"'1.,У��:::
: 1'
.::·:
-�
�
i :1:">.утсw:������-:;::�.r:�н��'т.>3
g r�H?l,:..-.:м.�(:t�
fj:� T��:№t� Ц
--r
�';\(,;.'t
[�� f��::l:-'<..::s:�i..\:-r<1:�"f.:..��
j: f(��Y.:if.o;,.}�
�: К��'�::Г�.а
ri' г�,..,1"-.(Що.,,.
jj: r-�:��:���-rk'!:":'��
i (�
�- ���f!!�nx;P��µ
.f ::
�
#· ::����r:rs.�o::
" . �-�� f��ti'!t�{f��
·,.
'.;.;
2.
1 f��T����.pe�_�:-�t=��
Рисунок 334
На
закладке
«Объединения/Псевдонимьш
добавим
еще
один
запрос
к
виртуальной таблице оборотов регистра «ТоварыНаСкладахОборотьш, обратившись к тем
;� : LfJ&
же полям (Рисунок 33 5-336).
,.
@����·��:
l
�.Ot�2 . i
�----1• �·>
. : им:�
•
"
: &е� �-
ш нН ' ,.............·...
l��i . i
�
��
!�•ё,".-."�·1ъ,�:оо. ·
.
,,......,-•••• ·· ·· ······••••••••••••••••••••••••••••••••••••••••••••••••
·· ·· ·
$ .. C:rJ-.�r..,�Гbи,�� ..... ............ . ...... ....... .
; Ср�м�Рес.:rод
.
4 . . ��-� ::����?��:"��
����.� �
�:'??.�..... .
4 __П�-��·: �- �P�90��·Th! . CfN�·�·�.� ·'D;.?.z:
Рисунок 3 3 5
.
1
�
ii
�
:t
1t
:�
�
]
1
�
ic
�
f.����'" ''�'� ��� :::���;�;
.:с • ; .. �=:�:�:�:::=��:;: s:::,",,&rfo•
1J; ··'·;·,.\' ··' •· · >�(��. ���:�:
11 ! :� r.,� �==;
.
. . ...... .
. ... . ...
.. .. . . . . . .. ..
. . ...
.
..
.
. i
.
!(I
i!
· . . � �:::::�::
,;1 �!�;.:·!:}!;!��!
i!
.
д
:
l.L����:��· r�.ч�:�,��D�·���c.��:·===,�������������='�h·'�='*-�=��=ж�:::,If� ;::.�,:�·.··�':�'":�,«�
!
.
:f.�
с•
.
.
�4Sf\.j���1н��:;:�м!<:
;§
Tr...,;Ф.i<.<
,.,..,
'""'"·
·; 1
}.; i.� Сх.шs.:.;.
,;,• ! . , ;i"""''""-'"YP�
�
iJ
т;;.,.�,,.,НЖ.к�•м•Оо<�щы
;, .
Рисунок 3 3 6
Текст объединения запросов выглядит следующим образом :
ВЫБРА ТЬ
Партии ТоваровОбороты. Сюад,
Партии ТоваровОбороты. Но.менклатура,
Партии ТоваровОбороты. Су,м.наПриход,
Партии ТоваровОбороты.Су,�нюРасход,
из
NULL КАК КоличествоПриход,
NULL КАК КоличествоРасход
РегистрНакопления. ПартииТоваров. Обороты КАК ПартииТоваровОбороты
ОБЪЕДИНИТЬ ВСЕ
ВЫБРА ТЬ
ТоварыНаС1'J1адахОбороты. Ск7ад,
161 Верный ста рт в lC www.work-lc.ru
�<=oecreoP�<.Y.->c.
·
T�:-s�ьiHa(.J<.n�f.�Y.�.0!5:t:.'J·,..;, 1Ь":.!<:t..: ; �"t�"1'�Г:p:txL>a
88002344322 Бесплатн ый звонок
..
;::, j
;.t:.
н
�
ТоварыНаСкладахОбороты. Номенклатура,
NULL,
NULL,
ТоварыНаСкладахОбороты. КолuчествоПрuход,
ТоварыНаСкладахОбороты. КолuчествоРасход
из
РегuстрНакопленuя. ТоварыНаСкладах. Обороты КАК ТоварыНаСкладахОбороты
Как из самого текста запроса, так и из конструктора запросов (на закладке
«Объединения/Псевдонимьт), можно увидеть, что не все реквизиты запросов пакета связаны
( Рисунок 33 7).
��
1·ц,, ,,.,��
t. �к�
LA
Пщз�• k
�
.,,,;:�Ф<''"' ·С•;о,щ
•
Ощп»"Тс��.,,. .н,.,,..,,...,,,",.,.,,,.
, 11<$- r�.,,,. .c,..,..i;rkм>I:>�
с-.
...{J��t��'f:\
<Oicr•��.:.
"-•
.нo�.J"'i.Z r�
#
J
J
$
�i.�.::i
�itl'==
,..._JШ;ffl(tf�il<
�....,р'""""
"
4 -.l':: �'t';<)
-<Orcн�r?i- 1')
iJ · 1;,..щ�:.s��.:.�� №м<et:t№f��
il T�"-·�� "" �·��F=t.
Рисунок 3 3 7
Для и х связьmания добавим недостающие поля в каждом запросе объединения и
преобразуем их к «0» ( Рисунок 3 3 8 ) :
·····-··--·-········�----�--···-·�······-············-····""···· ··-···· ·•···--'-
J_:�I?�:Hl. . ..
� rk>f":t-
.
..
.. .. ..... ... .
... .......... . .
.
. . .. .
..
..
. . ... ... . .....
. ....... . . . .
.
. ..
: - ·11дlЖЩ1$i
&.J�%:-ЩВ
1 �-ц·.ь: :1aU.. t�<a-.06�·�x:.ь: r.ao1ё.�Th)t)';.��
.)
.
.. .........
. . . . . . .......... . .
.. . .
.
·
1 c...�)bl. H;t:ю\a�бt;y;;:x.i<!;,;
��
�c1Y:1:>Гpu:�;::.
j T�:-i�iзWЗ:�
�epc�z; ����������--············
···--- ... . .. . ·- ··· .
·- -··-··�·······
. .
.
. .. . . . . . .
... . . . . .
' �
�·; '�j +,>w.>�1
·4f :J,j �тсрь._:
::.:; JJ Гf.":Net
]· :....···�.··..�
"." ..
-- ·---·-··············-···-······ .
.. . . . . .
(�
. .. .
.. . . .
.. . .. ........ .......... •.
. . .. ... ... .
··················-······-·
.........
. ..
.
.
. .. .... ..... . . . . .. . . . . . . .
. . .... .. .
.
.
... ...... .......... .... . ..... .. . .
. ..
... .
)'"---..,, � ..
!��
«"'"
'�
· ·�
=
�
�
=
=
=
�
=
�
�
�
=
=
�
�
=
�
�
=
=
=
�·-··--··-----------··-----··-····--··-······-------------·- ·····-----·--.с.-с.·:.с.с::.с::.с::;· ................... . .,
:
О?<
Рисунок 3 3 8
�
...
��-� . 1 . .��·���::· :�. ".1
..
. ·
.
Теперь на закладке «Объединения/Псевдонимьш увидим дополнительные поля со
значением «0», которые нужно переименовать в поля с отсутствующим значением таким
образом, чтобы получилось как на рисунке 339 .
"")
:.'!
.
.......... . . . . . . . . . . . . . . . . .... ... . . . . . •.. ......... .........
. �
��
��!:�. . .
� .:.�1'>:114.'!r\"J>v.,,.�.
-s c�r:�4
. . .:.�. �����....
f� JC4J�maPllt'2nA
,.. . ................................. ······ ········ · ···· ·
Г'4'r.11iT..:.�tu��
. .........�.'! �.1.�:!����-�?.':��:·�::.� "���.�F:�
..
...
й Г�n1t1.T�<!pr,�'Щ;!)-n�cP"�1'�::
а r�1:11i r..:.·N��n&-c)�
f1:
c.
'-Z';s
..... .. " .""."....��"�..
.
......... ....................................... � :���.: .�����-�1:�� �1 �.?.�
Рисунок 3 3 9
1 6 2 Верный старт в l C www.work-lc.ru
88002344322 Бесплатн ый звонок
.. . .
Текст запроса будет выглядеть следующим образом :
ВЫБРА ТЬ
Партuu ТоваровОбороты. Склад,
Пapmuu ТоваровОбороты. Номенклатура,
ПартuuТоваровОбороты. Су,имаПрuход,
Партuu ТоваровОбороты. Су.1�.маРасход,
О КАК КолuчествоПрuход,
О КАК f{олuчествоРасход
из
РегuстрНакопленuя. ПартuuТоваров. Обороты КАК ПартuuТоваровОбороты
ОБЪЕДИНИТЬ ВСЕ
ВЫБРА ТЬ
ТоварыНаСкладахОбороты. СКJ/ад,
ТоварыНаСкладахОбороты. Номенклатура,
из
о.
О,
ТоварыНаСкладахОбороты. КолuчествоПриход,
ТоварыНаСкладахОбороты. КолuчествоРасход
Ре?uстрНакопленuя. ТоварыНаСкладах. Обороты КАК ТоварыНаСкf/адаr:Обороты:
Для проверки результата вьшолним запрос ( Рисунок 340).
l.�:�:��.......::�:...............
f�. ".J �-�·:�·i:!ii:�-� ���·�:.·;���-� �i l�···�i:i:iti��r; · ::c;��
. ......
.
г
.
-'!'!.�
·
················------·-······ ········ --····--------·············
::��"n:"'A'i'
;..<: '°-�:.�-;.;.-<-:�;.. C'!<:r.�.r."
�-;:-�r.•a � -::> a"'��oo��":'v. g'j:·!��"7��-..
::�v� ::."!.��Q�C�·.: ;.��. ::.��:;:�'!'!.
�r:: <тY.:t ! ::: 3.Z.��:3..J6�p�'!'�. ��·:·!)�f'а..:ж�;:.,
32
f.:t:;�
;�, �оо
i;;; ООО
Рисунок 340
Для удобства анализа выгрузим результат з апроса в список, на котором видно, что
результаты не сгрупп ированы (Рисунок 34 1 ).
163 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатны й звонок
�
·-·---�. ". · +
······· � r
"
· · · ·· · ·· q
········· ·-�
· о
"
. ... .. . .. . ."" .. " ... .....f!.
•
.
.. .. . �
.. ... .. ....................��-
...�.;. ..... ... . . . . . . .. .. . . . .... . . .... .. ···-· ···· ·- · ·· · ····
�:
. ..... !-:·"
· · ··· · · ·;-;
�
м.
+·
C.:i:-..-rxr.J·::::
. w�r�;;1 :.. ,.;u:"
.
-��;.;;
: �о;,:;;�
:.:. ·;.з.;��р·;···· ··· · · · · · ····· ··· ···+ · · ........ ....... . .....
� �=- .......... .............. .......... .
S:�::�.r::t..: ......... ...................... ..........';.т.:.�:;:.;::-:.:.�:.:
:."::.м t·.�: �
·
.х·
;·
.
о
··
·Х-�--. . · · ···········
·
·
····-. ···61: ··" . . ... . ... ..... .....
.. ... . . ··· ....
.
.
.
. ·· �
�+
о:
··· ·· ------�r . . . .
· · ·· ·
..
о=
D:
. -�
.... �
lf
�:
.. ':i.:
:
·········· i ···
·
.......�-:,.
· ··· ······ - -··
�:................................................ .;:J: .............. . ................
Рисунок 34 1
:�
..... . {)
.
"
. .
....... ....... �
..
........... ... . . . . .. .��
Сгруппируем строки запроса с помощью пакетов запроса. Для этого снова перейдем в
конструктор и добавим «Запрос пакета 2 » на вкладке «Пакет запросов » ( Рисунок 342).
��с,
�
Рисунок 342
;::�:.....":'<:"
DK
�)�4f';ts;}
t:r-.;:001-t�
. .;;
.4
;;·:·;�c;·;:··«;:-��ут»ж�wт-�
;;
w.
;;
..;.:;
w
;;
»щ
;;,
;;�
; "
.;;;
,.z:Щ
щ;;,
co;;,;;;m;;;,,,;,
;;. ;;;
.w
, ;,;�
;
,;;
< :1зЫ:;'t
.?
· �
�
�
��
"
"
...
"""
""'
"""
""'
'"
"
"'
"'
Ш
�
..:.:W
��W.:.�
�
·?
�
�
·
Z
:Z:t�
;:::::
: ::
:: :; :::�� ;;.;;
;;
"
'!::::.
�
"""
�
·i::!O
· -;.;
Далее поместим во временную таблицу текст предыдущего запроса (назовем ее
« П артииТоварьш), чтобы к ней можно было обратиться из «Запроса п акета 2 » ( Ри сунок 343 ) .
Рисунок 343
Действительно, на вкладке «Таблицы и поля» запроса пакета 2 для выбора стала
доступна временная таблица «П артииТоварьш, из которой выберем все поля (Рисунок 344) .
1 6 4 В е р н ы й ста рт в lC www.wo rk-lc.ru
88002344322 Бесплатн ый звонок
�-·
. :+'
� $� // О �); ВЬ ..........................".........",
1 Т&.i;".И:.zы
.... D bl'i'i'klШi!i
t1D с"се����
�;,:=:·! !.J.("J�f��n�
[-�! ?�иc-:-i.IO: Ha?>:.r.r: :t�i!
со; �еtН:..� �бr-�
•
r.x,10;,
Нт-.1�1(Л:3Т:,vn�
t.:.�.:
� шшив;�:;ш
с�"""'"°"
С}М"..:�F�!1.
,
() ,( о
�· гь·��---
Г:"-.!t;r:'\1'.A: fc�.��:Ьi.НoM1!'t"tl(JJ:?."!'"iP!11
Г:.1;�"!\.s1"To:з�ы.C�.!ll;;t.r.roz.
r<Ч>'"'' r"""""' ·С�а?=д
�!Jt'(ч�m::: r��'Qf.n.c:.
К:'>:-,,.Ч6С!В:�РаС"JХJ"
'-------- -----··------ ·----------
Рисунок 344
Далее в запросе пакета 2 поля со всеми данными сгруппируем по номенклатуре и
складу и просумм ируем ресурсы (Рисунок 3 4 5 ).
r .
Рисунок 345
Текст запроса после этих действий будет выглядеть следующим образом :
ВЫБРА ТЬ
ПартиuТоваровОбороты. Склад,
Партuи ТоваровОбороты. Но.ненклатура,
Партuи ТоваровОбороты. Cy.1t11аПриход,
Партии ТоваровОбороты.Су.�1.маРасход,
О КАК КоличествоПриход,
О КАК КолuчествоРасход
ПОМЕСТИТЬ ПартииТовары
из
РегистрНако1111енuя. ПартииТоваров. Обороты КАК ПартииТоваровОбороты
ОБЪЕДИНИТЬ ВСЕ
ВЫБРА ТЬ
ТоварыНаСкладахОбороты. Склад,
ТоварыНаСкладаr:Обороты. Но.�·1енклатура,
О
,
О
,
из
//
ТоварыНаСкладаr:Обороты. КолuчествоПриход,
ТоварыНаСкладахОбороты. КолuчествоРасход
РегистрНакопления. ТоварыНаСкладах. Обороты КАК ТоварыНаСкчадахОбортпы;
/11 !//!
ВЫБРА ТЬ
1;
!
/ ///!·
11 ;
165 Верный старт в lC www.work- lc.ru
/
/
88002344322 Бесплатн ый звонок
из
Партии Товары. Склад,
ПартuuТовары. Номенклатура,
С.VММА (ПартuuТовары.Су_,11.маПриход) КАК Су.м.маПриход,
СУММА (ПартuuТовары. СумиаРасход) КАК Су.�t...\/аРасход,
С.VММА (ПартиuТовары.КолuчествоПриход) КАК КоличествоПриход,
СУ!vfМА (ПартuuТовары. /(олuчествоРасход) КАК КоличествоРасход
ПартuuТовары КАК Партuи Товары
СГР УППИРОВА ТЬ ПО
ПартuиТовары. Склад,
ПартииТовары. Но.менклатура
Для проверки корректности запроса проанализируем результат выполнения . П осле
нажатия «Вьmолнить» в консоли запросов, увидим сгруппированный результат (Рисунок
345).
Рисунок 3 4 5
Таким образом, м ы реализовали задачу с использованием пакета запросов. В
сравнении с вложенными запросами, такая конструкция я вляется более компактной (в случа�
с вложенн ым и запросами мы бы видели дерево таблиц в консоли запросов, что замедляло бы
его восприятие). Из запроса пакета «Партии товаров» м ы сразу переходим к подзапросам
объединения. Таким образом, пакеты запросов в практике использования являются более
удобными, чем вложенные запросы, однако, в качестве исключения, следует назвать
ситуации, когда запросов пакета очень много. В таком случае, для удобства восприятия,
также можно использовать вложенные запросы.
Рассмотрим расширенные возможности пакетных запросов.
Для этого создадим в конфигураторе отчет «П акет запросов» со стандартными
реквизитом формы «ТабДою> и командой «Сформировать » (Рисунок 346):
� ���fSO
�.
·�
:» Общие
� !<.онС1М1Т:.1
lit с:г.р.г,....,
.. ...
г:·1 .Gж}�ТЬ!
s Х)"РНа:� /:.СК)'ме:Н1С8'
т од,
, 1��
-�_
•�
'����--��--�.....-
. ..: t"...�.��!$·����7.' .. J
Рисунок 346
166 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
·-·
".
. . .. JI .
В процедуру «СформироватьНаСервере(ТабДок)» добавим текст запроса предыдущей
главы:
ВЫБРА ТЬ
ПартuиТоваровОбороты. Склад,
Партиu ТоваровОбороты. Но.менклатура,
ПартииТоваровОбороты.Су,�шаПриход,
Пapmuu ТоваровОбороты. СуАнюРасход,
О КАК КолuчествоПриход,
О КАК КоличествоРасход
ПОМЕСТИТЬ ПартuuТовары
из
РегистрНакопления. ПартииТоваров. Обороты КАК ПартиuТоваровОбороты
ОБЪЕДИНИТЬ ВСЕ
ВЫБРА ТЬ
ТоварыНаСкладахОбороты. Склад,
ТоварыНаСкладахОбороты.Но.11енклатура,
О,
О,
ТоварыНаСкладахОбороты. КолuчествоПриход,
из
ТоварыНаСкл адахОборот ы. Кол uчествоРасход
РегuстрНакопления. ТоварыНаСкладах. Обороты КАК ТоварыНаСкладахОбороты;
!/!,/!/! 11//;
/ //1//
ВЫБРА ТЬ
1
/
Пapmuu Тонары. Склад,
Партиu Товары. НоА•tенклатура,
СУММА (ПартuuТовары.Су,�L�·tаПриход) КАК (ул-шаПриход,
СУММА (Партuu Товары.Су.ш1аРасход) КАК СрtмаРасход,
СУММА (ПартиuТовары.КолuчествоПрuход) КАК КолuчествоПриход,
из
СУММА (ПартииТовары.КоличествоРасход) КАК КоличествоРасход
Партuu Тонары КАК Партиu Товары
СГР УППИРОВА ТЬ ПО
Партиu Товары. Склад,
ПартииТовары . Номе нкл ату ра
В случае использования метода «ЗапросВыполнить( ) », отрабатывает последний
«Запрос пакета 2 ». При этом если «Запрос пакета 2 » поместить во временную таблицу и
поставить точку останова на методе «Запрос. Выполнить( )Выгрузить()», то в отладчике
увидим просто «СтрокуТаблицыЗначений» без расшифровки. Это говорит о том, что
последним запросом пакета должна быть не временная таблица, а выборка данных . Таким
образом,
при
исполнении
пакета запросов
мы
используем
м ножество таблиц,
при
соединен и и воедино которых, получим результат запроса
Рассмотрим м еханизм исполнения запроса при методе «Вы полнитьПакет( )», при
котором
отрабатывает
не
последни й
в
списке
запрос
пакетов,
а
п оследовательно
выполняются все запросы, как будто для каждого из них отработал метод «Выполнить( )».
167 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ы й звонок
При этом результаты запросов помещаются в массив в последовательности расположения
запросов в тексте пакета. Для примера выполним следующие действия : с оздадим « З апрос
п акета 3 » и добавим из временной таблицы «ПартииТоварьш только склад и ном ен кл атуру
( Рисунок 34 7 ) .
�
�vмащ1армщ;ю1··шr-::��...:=::::1ч:·w@@fl;.�;rt=щ;:
Wf&---:::x:::---�="
m1ш:
-::5:: t1f'fH•1ttlli "·�
:::!)&�-·��:�SJ[Ш���1'l
r..кtnт� l.f m.att
:: :·_ �<:.sю�lilt
: . J��fllof&.( � ·. ·_('0'Ы'tf'��.4я.Лi;c-AW.�
��
�-) :.. П.:;:..·:n;:•"nit
'·• nr.. : : $��, '{t."'"
�<:e
".j,
..c"°' •
П���; . ;_,_·..�
· · · · ·· ·· · ······
;: �· .- (�,s"'
··
$
� ,
=�=��-:;
· r�n,,т��
3enpc..c n11Ке ,. 2
:�;;-;;е п.з-:J...
::.:�?:.;�:.
.
/·
: :.:. ....... 6!".:..:
: . ("1:,_.�"
.
i:-��jgifi.l$.Д
lif fif
$Fjf�ri?tiiriifiFW
Jii4!flitl!Rl�Witiii
jtfF
&.WiiElЩf�f&fi3m?flJir2Eif;:;;��;;,�3_��;�:�::�
� I��5:·· _ .�.;;:·_· р·:··�:
,,,'1 т�1 ��
t't-� ::-r1apn•t'Т"<Э вlfPЫ
�
�
Э-�Р'
�
: : �М:к���
wo
r r;
� � <?
\ -:-�)'У.о·�
.
СУ-"""·-tа�ход
'"У> СуммеРасх.:)4
"""'
,(Q..-. ...
""•�J:.:°l:Y,"'f.«>A
�
i
j
j
i
j
1
):(
�
"J'!ii ·'ls>
'�-:гs
ш;[!f)
!;Щf!i
:jll]
Iffl�
f
. \!!1
5
'--:
·
�
'
1
·
Ш
···
"""' С.к."}а.Q
,.•." H<:»ooJe....w_,-:a�
"""' C-)<ММef"\::i.(•D.A
,_.,,. с�",,.,.аР�.а.
- /(с�тsсПр.-:IО::•д
,..v.
l(c�"ec�cf'ACXDM
, ..�:.��. . .
. �:щ;\Г=��;��:�J
igt # X
•
i
,) ,.,.t.-.r� .
"""' �zмo;ec;:�GF';a...�д
•
: .. J�E�.�": ... .
,,,,
,
..
. .,,.
�
�
=
• ,п
,:
..
,
,c
..
=
·
и
�
=
N
Z
N
N
�
U
N
.U
=
N
-'I
Z
N
N
.Y
�
�
.v
..,,.
.,..,
z
"
,., .·
• .,,
"
.
.,,.
·�NNZNZ�ZU'N
o=.'ZNZNZN
Z
....·�·..,,-
!
·
,.,.,.N
П
НV'
H
ZM
=
,,,,
.и.,,.. .�
и
н
.и
z
.и .·.
"
•,
м
,..
N
z
..:.
Рисунок 3 47
·.
';,.... ...., �l�...,•••,,.,. н,н
; :
<�.� :
���
"\-.
<� �
нм. нz.·.·.·"п.·п.·.·.·и.-.·.·ин.·-·н.н.w.·н,нz.а·н.у.
·
Текст запроса:
Запрос2 = Новый Запрос;
Запрос2. Текст = "ВЫБРА ТЬ
1
1
1
1
1
1
ПартииТоваровОбороты. Склад,
ПартииТоваровОбороты.Но.\1е111V1аmура,
ПартииТоваровОбороты. Су.ш1аПри-rод,
ПартuиТоваронОбороты. Су.ш1аРасход,
О КАК КоличествоПриход,
О КАК КоличествоРасход
!ПОМЕСТИТЬ ПартuиТовары
IИЗ
Ре?UсmрНакопле11uя. ПартuиТоваров.Обороты КАК ПартииТоваровОбороты
1
1
! ОБЪЕДИНИТЬ ВСЬ'
1
!ВЫБРА ТЬ
Товары НаСкладахОбороты. С1V1ад,
1
ТоварыНаСкладахОбороты. Но..ненклатура,
1
О,
1
1
1
1
О,
ТоварыНаОа�адахОбороты.КоличествоПрuход,
ТоварыНаСкладахОбороты.КолuчествоРасход
IИЗ
РегuстрНакопленuя. ТоварыНаСю�адах. Обороты КАК ТоварыНаСкладахОбороты
1
1:
1
il/1/l///l!l;jj i///!l!!ШllШll!l/1/ll///IIЩ///l!lllll!//Ш/I/;1!1!/////!!
!ВЫБРА ТЬ
ПартииТовары. Склад,
1
168 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
1
1
1
ПартuuТовары.Ншиенклатура,
СУММА (ПартииТовары. Су.лншПриход) КАК Су.лшаПр иход,
СУММА(ПартииТовары.Су.11.111аРасход) КАК Су.шюРасход,
СУММА (ПартииТовары.КоличествоПриход) КАК Количесm(юПриход,
СУММА (ПартuuТовары. КолuчествоРасход) КАК КолuчествоРасход
1
1
IИЗ
1
Партuu Товары КАК ПартuиТовары
1
!СГР УППИРОВА ТЬ ПО
ПартиuТовары.СЮ1ад,
1
ПартuиТовары.Нол1е11клатура
1
1:
1
'////l//!ll!//l/l!/////;,;////l/1//ll/1//l!'ll//11//
1 /''1 1
IВЫБРА ТЬ
ПартuuТовары. Склад,
1
ПартиuТовары.Нол1енклатура
1
IИЗ
ПартиuТовары КАК ПартиuТовары ":
1
Запрос2.ВыполнитьПакетО;
П о ставим
то чку
о станова
на
строке
«3апрос2 . В ыполн итьП акет() »,
запустим
прил о жение под отладко й и посм отрим результат (Рисунок 348).
�,..;,;;;;;.;;.;;;.;.;;.;�············"...................................................... ...."..
"
."
"" "."...."."""" . "" "" . " " " . " . """ " . """ " . """"""""."
. . """
...... .... ..
"
т
"" .. ".",,.
: Вклкчvпь в .:аб;ю ,
' " " '"" ,"."" , ' 1
Закрьпь
""""""" .. """ .. " .."
!
Тт�� �������
К:• личесrеа
"
1
злеr"lентов:
-
"". . .
Рез льтатЗап
.
".
са
����� - - i 1<.D�
". "
. . . """.
· · · · · ·· · ·· ·
1
_
__
,,...
,,.,..
..
�
_
__
_
_
_
_
_
_
_
_
__
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
__
1
2
РезультатЗапроса
РеэультатЗапросз
Коллекw.1я КолонокРезvль1атаЗап оса
Коллекuия КолонокРезулыатаЗаг.роса
Коллекщ.1я Колон:ж РезультатаЗапроса
Рисунок 348
.1
Г
Слравкг
". ) 11
1
·,
,
'--·"""'""-�"--"-·
""".1
В верхней части изо бражен ия мы видим результат метода «Вып олнитьПакет( )» со
значением типа «Массив». Для того чтобы увидеть значения элементов массива результато в
запро сов пакета, откроем результат в отдельном о кне ( н ижняя часть изображения), где
каждый результат запроса соответствует вып олнению одного запроса пакета. Н умерация
элементов массива начинается с нуля, соответственно, для детализации данных по перво му,
например, запро су, выполним метод «Запрос 2 .В ы п олнить пакет.( ) (О]Выгрузить()» ( Рисунок
349).
1 69 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ы й звонок
�ыражени;:;:
. . . . . . . . .. .
t �<:1:":1P.?.�?..�1r.i?..1.1t:i�1!1:>Q��-1JJ0� :.��1r.p�!1'>Q............... ..
; ···· ·
· · · · · ·· · · · · ·· ·· · · · · · · · ·· ······ ················
·
····· · · · ···· ·· ·· ·· ·· · ············· ·· ·········
.... ...... ...... ... .. .
Ре�ультат :
;
?
.
�lpOKa Табnи1.J1:>13на11ений
·· · · · · · · · · · - � · · ·
·
·
.
..
. . ........
! Тvл э.вементг
. . . ..
. ...... .
.
. . . . .. .. .
.. ... ... ..
·
. . ... .
у
:
...........l..... )
.... .......
..
................ .. ........
!
�
. �]
.. . ....... �
. · --
··
:.
·
.�
.�
н-
, q;Jl�
.......:
н......
-
....;;..;
Закрьпь.
.
;;..;
;
;;.;
.;.
...
!
�
Рисунок 349
П олученные данные не пригодны для анализа, так как представляют собой строку с
отображением количества записей без детализаци и результатов. С вязано это с тем, что
первый запрос в пакете является временной таблицей. В этом можно убедиться в
конструкторе запроса ( Рисунок 3 5 0).
i Тё61м1ьн1 1Х1rоя •
-
i
Гp�::;"J;,����.l�.Y.:!'(l�•j>;.J,L ДооQr,н;.�т�;ьн,;
��
.
.
·rие1 ::1�а
: j Об'Оед.;!�.а/{k,ее.14"":Нfl<'\Ы j
·
· · · · · · · · ·· · · · · · · · · · · · ·
·········
··
V111�i::
···· ··
·
··· ··
·
··
·
·t
rJ.."\C ip�п�:iъ.
[ 11,,(е1 3r.ni:cшs.
· · · · · · · · · · · · · · · · · ··· ·
· · ·
··
· ····
·
· · · ··········
·
i
"' • ...,
� � .g
··················· ···· · · ···
·
· · ·
··
;n�IJ!i1ИTosa;:iьi
·· ··
.......................................................................................................................................... .··· · ···· ··· ··.
Т:Ютя$< Д;oil ;-.ше1енш1
1 !1
1:
:L
1!1�"'1. . 1
.
"" · -
ij!
"
1
: 1 if 1._ !,:·
' i :; : '
!;
g �i
·
·
·
- ---�-��----�� -· � -�- �·" ·� ··" ·
··· �
�
�_
Qw�"�
Рисунок 3 5 0
.
·
.:! 1 1
;..��� � !
; •
..
f
г� Н1 1:
·
· ··
· ·
·
.f
i
·
·
.
-
--
· ··
·
. :::��5i��
-
· ··-
-
--
.__
.;
j
Если м ы выполним те же действия для следующего запроса в пакете, который
является выборкой данных, то получим детализированный до записей результат. Для этого
нужно выполнить метод «3апрос2 . Вы полнитьПакет()[ l ] . Выгрузить()» и открыть результат
выполнения (теперь уже - «ТаблицуЗначений») в отдельном окне, в котором м ы увидим все
записи ( Рисунок 3 5 1 ).
170 Верный ста рт в lC www.work-lc.ru 88002344322 Бесплатн ый звонок
·""' ftxt
i�
·················· ··· · ······ · · · · · ····· · · ····.
.......
....... " .. " ..
.
.
.
. ..
..
.
..
. .. ... ....
.
. . . . . . . ..
.. ....... " ...
.
.
. ...... . . . .. .
. ... .... . .. ........ .....
.... ....................
С=�=� c��;:т_:;���;;��J��м;-1·��-=--:���1i����!���-:lt.���f.��- �-'"�::.�:п:�-it::==-���
.
•
C"lpQ><aToб."u, .
..
С�Тэ!l1>Цо! ..
C'JX"'..aTal.I""" .
Строtrе1аб� .
Cчю11.:4T3f5r1t.1;t:: .
С11'С'<•Таб,.,..,,...
с,..,.,,, 1.,;м"• ...
����"":'::'
.
.
_ C�..aTal.llИJ,I ··
С'Р'«сТэ6!1'U>1.
;{) C!pOКгToiS!tU>I . .
· Склад N!' l
W.a.o 1'
1 1
�An>!opOPS .
.
СТJ>О""тз:
.-.u. .
с.:мц � 1
.
Cкna.o !r- 2
w.м 1i'- 2
. Склад 11' 2
С'!Ю<•Та61''-'!>
1 � - ��т�,_..,. . . стрс""т�_,,, . ::. ш.а" � 2
12 С'Р'«сТ!бп.u.1 .. С!РС".•Тоб:и:ы. . . U<лз.о !i' З
.
13
14
. ..
:5
Стрс-:.,а.Т.а1.1".':"." :: . .с.11"'�·!���'...
��Т�tИЬJ... ��тpc.�Т.�ItU::
С'!)С1<СТаб� . Стрс«аТ<>'\,:1:""" .
.
Соответственно,
В...�n•mpe«o....
.!ii:«11
: ....,,.,._, EL.
14�€00
в.н,,.,,"rо E<N..
1222'
.;О
Скмд. № 1
O<na.a k"' 1
�·
6 000
4jj !JOO _ _
1 500
.ф соо
f�.O COO
Ter-�op ·sн.
�5 СОО
_
.
1!ii '..........
2') :
выполнения
i: :
. ......
1�:
1:.
щ �э
третьего
С:
С:
с .:
V;
:; :
·
. ..
Рисунок 3 5 1
результатом
iQ :
с:
1� :
75 Q-:.J':J :
запроса
...)
с�
. . . .....
Э4 .
•
wщ
с•
4<} :· ···· .
········ ··········ii·
К•}
5•
22 •
·
s:
tю •
1 11 "
. . . .
·
G;
224 :
а.
••
.
1 00 :
.
�
� BC<J
Вокr�nш>Р ОРс .:
В...r1n1 •торн.><:
: стиноn ю1
.
а
12 fJOO
• s.;.,r"n•mpO!OO...
.
4 &"А
Э\) 000
8ен1J<Лl!Щ> �
: Setm1л;;mp JIP
·
.
;; :
63 00<:
Te�� '·J��·
· О.Лад * 1
1 5-}"J
32.З С*
Вetm1n;тop BiN
· Скла.о � 1
�
� 7 ?"
JJ
· веюuляторJIР
(1JX'��.Т.al\.:-U'.. . . {)(fi3д.fi!.2 .. ..
Стрс<зТаб:к:ы .. • o.nan H• 2
C11J<<0T�......,,
n@
&tir-А.П.ЯТОО нас..
C-rpc<aTal.I'""''· · · " U<лод N! 1
_C-:pc.-..a Tal.l_11u.1 .: . С'РО�.Т315,..,., _
� C""""'TllбltU>I.
.
""..,����.:.
�
...
. ... ... . ..
. .. .
о•
5i
1�;
будет
с
табли ца
колонками «Склад» и «Номенкл атура» (Рисунок 3 52).
&nt�•
�
•
�
YmR�иm�I*-W1
111w
W.&щr-&
�
�
•шr+�
*�
.................... . ... ........"....."........
j·;;.;;:�������..-.м}
rв:��-- �:,
;�_?" �����-���iO;_� P.1,��·�_q_
�:��
j t&.x'Y..:···:s-·.
��,·�:'3'!
•
�-
.
. . . ... .....................,..� :
_"_•ш•••" •
,.:.:!�15!.,
j F.т.��щ. !'} !.!t!�;:\ :
�).,,,
;Ji�@tнtшM:щ:f�ЩfЯfШйfZttili�й!FЛШIWJf.;fti�JW'Wf.1��%[fiNf
lWJP
JШШШ�м:���-��ww�fitйtЩfff::ltflifJ@Шf1
1JC��;-'W&T��\\\йft2��
·�
·
�=%- f:: :� �
,. �n.§��;;;���
�=::_ ·.���i;���=-�:::�· =-����;_;;.-1-:�_:�=���:=====�;;�;;_�����=:-�=-����=�.�:l :�
: с�.т�,...�-"'
.
.s.
C�eTiSISIМJ=t�
С�ТабlИ.IЫ�
С'�t: Та �
� з..-� �
С"t'-ж�Т"бв....ы::�'
С�Т·��Значек"'
Ctpoкl!T•��
С"1"-..t.6 Табm.ы�
C90t<al-5nw..at.c ��
·
с�·Теб."'tr...: З...--Ц!
...
--'
C::r...t1:�Tae:.���
-�"':'рОl(аТ��ць;��
. СТt:<з-:'3Тее:-.w.ь;.�ний
. СчюuТаб!'а:.�ы��еч..•l
:
1
.
... ..
.
..
Ск.!20. №
Q-..r..,.a, N:: 1
""
Cx.r-�4 № 1
Ск..-.а:.::, W. 2_
C�!iTi!llt.�����
Схма. Н! 2
�:ра:к>sТ�:-:м-,,ь:�
С"':;):)1tаТьб,,...�:З,,.,'I��
1i C�eTiS���
C'!'::r
..AC!iTad-;:)4:,ь:�eчi.'5\
Cxt2Ati: }
с�.т� ��....:\
O<n..:.tJ' 1
Ск::гА N:. �
. С�-t>sТМ!� Э..В--�
8e"'l�!!'�TC� С.С.�
;.:,:,��10НеР S.LEKT Р.
8e:i�trtlil1ZC 1"f�:U�.1
.
.н�
е�-ти)1я� Q.Pbl-1T STER.LING.F.:l.
8e"fТ"�� ll:�� ���
CTИf<Oil IJI
&-..r:-14H!: 1
Tenes.1s..:� "5'1.�?"
Рисунок 3 5 2
:·
Вемr.'(.:1�Т:J.Р :жонньс,,
0.-J.&AN� 1
Ск..-.а:АШ- 1
i C:�кaT�."'!�:Зi-w�e-..ti.'
&11то.�:tаТ:J.� Bl!•JATQr-lE At}Чf'{� 1�"!'
Ее""-rм1псt: SIN..\.TCNE AL?�N:. 16Qsт. н!S".
: С.�1<.аТеб�.t�;,;;ь : �.:е�
!4 с�.т����
С
15
C<rp-:.-...a Taбn;'-Jbl�
'! :!
1� CtpOК.il1&б'"-'=1i1�'-'
е���::1.� �;�N:C (Те�� -�: .
.dJ�
)
�
8e"'l'n"r:�rap .::PON:C (ТгР.s �-
Ск..� а. № L
· c�l('J:тee�: �J-fИЙ
�-r.tnR'Т� ��пьньм
CY.r�i1 r.f! 2
: СТССir.!;Тее.-:�«1.Ь! -3:-4'�11ЖС..-1
� ТабR"-Ы::�
.
C..: t-.г;i. t-l! 1
С�sТюr..�.Jь:�"Че.•"'
1� CtD'-цTaбtt.U=it�"":
11 CJpOY.zsTaбmuы�.�
s...1\
'tH
". П
�� C ?Ьt'ITA.SТEP.UNG.F. i1
С'к::аА U: 1
.i
..
<
тttnee;.tэcp ".r"'C"
Saнn����-��C1"CA�
Таким образом, в ходе исполнения пакетного запроса, м ы получили данные, которые
в обычных условиях можно было бы получить только нескольким и запросам, а не одним.
Для удобства использования результатов запросов пакета, передадим результат
вьmолнения п акетов в м ассив. Для этого з аменим последнюю строку запроса (Рисунок 3 5 3 ):
«
Запрос2.ВыполнитьПакетО »
на
МассиЗапросов
Выборка 1
=
=
Запрос2. Выпол11итьПакетО ;
Масси]апросов{ 1 /.ВыбратьО:
171 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
Выборка2
=
МассuЗапросов{2}.ВыбратьО;
; / ( l / l / f l i ! l l / l l l l f l l ! f l l / /l / 1 / l l f / i ! l / / l l l / l l ! ! f l l lf l l l l / / f l i ! l l l l l l l f / l / l / l l ll /
1 ВЫЕРАТЬ
П�р�ииТоеары. . с�лад.,
Пар�Тое а�ы . Нсм�м�f..атур � ,
�...А ( Па.р�Т !:sъа�ы " СуммаПрхх�д)'
��11•1.А { П ар":'И.И.Го�sа�ы" Сумм.s:Расх:::>.::t �
� С}�2.fiр.иход ,
У
� C:.,• 1".t:·iaPa cx.o д ,
·�'!-:IМА ( П.артииТ ова�:: ы . �::сли'lес�r.воП.рих�д)
СУ:-.�
-А. ( ПsртииТ оиар.t:r " r
.олv.ч е с ��оРасхсд}
; иэ
fi�p':'ИИI'o�ap.t:.:. КАК
: СГРУШlИРОБ.АТЬ
' .
, ,
"i-З...К Нсли.чесоr:в оПрихс д ,
КАК
1
�...сличес=и � Р а схсд
Па.р�Т�Ъ&р!:.3_
ТТО
П' е. р �'И'"
А 'I'� Ъа.р:ы:
. • СКЛАд •
Пърzv
..иТсеа�ы. Нсме мкr.ат:,.rра
; / ! l / l / l l l ! l l l l l l ! f / J ! l l l l / / / l l l ! f / l ! / l l l l l / // / ! f l i l / / ! / / / / / l l ! l l l l l l / l l / ! l l l l / / 1
i 3ЫЕР.АZ'Ь
Н�ссиSепр с с � а
BJ:.:.б�p�ai
В.ьz бсркаZ
=
.-
=
Sапрс � 2 . Выnс r.нит�па�е � ( } ;
��ccY.5anpcc�ъ r i ; . вы�ра�ь ( > ;
�ас.с1':За.nр·:; сс.3 f 2 ]
•
.8ь:5р а.-=:с {) :
Рисунок 3 5 3
См ысл в том, что если выборка позволяет получить несколько результатов запро сов,
то это м ожно выполнить в рамках одного пакета запросов.
Отметим, что результатом выполнения запроса на уничтожение временной таблицы,
является з начение «Неопределенно », которое также помещается в массив результатов.
Результатом выполнения запроса на создание временной таблицы будет результат с одно й
колонкой и одной строкой, содержащей количество записей, помещенных в созданную
временную табли цу.
Итоговый текст запроса процедуры «СформироватьНаСервере(ТабДок)» будет иметь
вид:
Процедура СформироватьНаСервере(ТабДок)
Запрос2
=
Новый Запрос;
Запрос2. 'f 'екст = "ВЫБРА ТЬ
Партuu ТоваровОбороты. Склад,
Партиu ТоваровОбороты.Но."·tенклатура,
ПартииТоваровОбороты. Сум.маПрwсод,
ПартuuТоваровОбороты. Су."1.иаРасход,
О КАК КолuчествоПриход,
О КАК КолuчествоРасход
!ПОМЕСТИТЬ ПартиuТовары
!ИЗ
Ре?uстрНакопленШ1. ПартuuТоваров. Обороты КА К ПартиuТоваровОбороты
! ОБЪЕДИНИТЬ ВСЕ
! ВЫБРА ТЬ
ТоварыНаСкладахОбороты. Склад,
ТоварыНаСкладахОбороты.Номе11клатура,
О,
О,
ТоварыНаСкладахОбороты. КолuчествоПриход,
ТоварыНаСJV1адахОбороты. Ко11uчествоРасход
!ИЗ
1
РегистрНакопления. ТоварыНаСкладах. Обороты КАК ТоварыНаС1'ладахОбороты;
172 Верный старт в 1С www.wo rk-lc.ru
88002344322 Бесплатны й звонок
! ВЫБРА ТЬ
1
1
1
1
1
Партuи Товары. Склад,
ПартuuТовары. Но_,ненклатура,
СУММА (Партuu Товары. Сул·инаПриход) КАК Су.11 1.маПрuход,
СУММА (Пapmuu Товары. Cy.111J11aPасход)
КА К Су.�1.ма Расход,
С УММА (Партuu Товары. КолuчествоПрuход) КА К КолuчествоПрuход,
СУММА (ПартuuТовары.КолuчествоРасход) КАК КолuчествоРасход
I ИЗ
1
Партuu Товары КАК ПартuuТовары
1
! СГР УППИРОВА ТЬ ПО
1
1
1
ПартuuТовары. Склад,
Партuu Товары. Нод1енклатура:
/
I ВЫЬ'РА ТЬ
1
1
/'
/
ПартuuТовары. Склад,
Партиu Товары. Но.111енклатура
I ИЗ
1
Партuu Товары КАК ПартuuТовары ":
МассuЗапросов
=
Запрос2. ВыполнuтьПакетО:
Выборка]
=
МассuЗапросов[l}.ВыбратьО:
Выборка2
=
МассuЗапросов[2].ВыбратьО:
КонецПроцедуры
Гл ава 5.
5. 1 . О п ерати в н ы й учет.
5 . 1 . 1 . Ввод в э ксплуата ц и ю.
В предыдущих главах бьш рассмотрен теоретический м атериал по использованию
языка запросов 1 С . В данной главе предлагается перейти к рассмотрению параметров
запросов и структуры таблиц на примере решения практических задач, поскольку примеры,
рассмотренные ранее, являются простыми и не дают полноты картины использования
механизма запросов.
В качестве практикума, разберем задачу из курса подготовки к квалификации
«Специалист по
платформе
« 1 С : Предприятие : 8 . 3 >»>,
которая
предоставляет м инимум
исходных данных, приближенных к ситуации реал ьной автоматизаuии . Следует отметить,
что задачей данной главы не является подготовка к экзамену, поэтому акцентировать
внимание на логику построения структуры метаданных м ы не будем, наша цель - в
результате решения данных задач, проанал изировать запросы.
Итак, формулировка задачи выглядит следующим образом (Рисунок 3 54).
173 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
В
"Эkсш1уатац�ш.
ИCIIOШ>'ЗOflal·IШI'.
у1ан.1:.1 nа-ется
в
�ЖСШl)'аТаЦШО
Постуnnс1ше
некоторое
-исnt>ЛИ)'-е'!"СЯ
1'омnашн1
Для каждого устройl�rва
Срок l'()ДИОСПI считаеп�я
документе
.rюстущ1е1-1 ия.
)' ЮUЫIШ.еТСЯ
И
оборудова�ш:lil
в-рсмя
а
оборудо11а1ше,
уста11ав:шва�я
(.�
Пр11
передаче
у
обору,
кo-roporo
в
эксш1уа..-·ац1-110•� укrпыnаетсsr перечсн1.
проведсюш.
должиа
проводит ся
и
в
:1о1ыд.ается
м;::clliц
щ1
"lt
В
0•1-е1 едь.
м-омеtн:а
et'<.)
г<щж,1ст11, то
ввода
ум� ·11{�1ек.
не
передастся
"< Ввод
передаваемого о<юрудова 1ш я.
и е1 �0
в
в
При
(.'рок 1·од11ости _
оСюруJ:ювш-шя иедоеrато ч.1ю, докум е1 1т нс
ш:тек или
формнруетс11.
репшме1п1.1ыi\
.документ
«Выбытне
н
:н,спну-.�1:;;\цн ю.
l'!вехtен.ное
оС'IQрущншншfl),
если
<.шреде:1яе-rея, вышел JШ сrхн< :.tксщrуатащщ
0110 1.1е.1·()Д1.ю,
Есди срок :сtкс1шуатаюп1 нt.
-rек 1ши
о&�рудо.ваиие до!�ЖН<> быть
('п.t-rсыва-rъ е1цс
Ч ерез
<(Ввод
документе
нw1и'-ше оборудовш-1ю1
.6
МСЮ
IСТ
СЯ .
соот8с:·т-сr'f!ующее сообщ-еиие.
Пр11 п роиq.н;:е
-его.
НС
kt
ьоода
щu<ладнnя».
1<ото рый прн проведен.1щ прш:1еряет :н:сплу.�тнруемое 0Сюру.до1ш1.ше и,
то сп.исы&ает
it
ег о
документом
первую
срtж
и
ооорудооонюr
момснru
<<Прихо;з,1щ;�
годности.
коr�и•1ес'1'во
происх. щит�, 11рш:1е1ж·а
В том CJ1y'-1 ae, если срок rод 1 юст11
Ра:1
и
срок
rод11осп1
000р)"ДОЩ1НИЯ
зкспяуатщщю
мю11tма.11ы1ый
с
эксплуатацию
в
в1юдю'ся
оваиия
ДIJЯ
дсн.:уме1rrо м
отражается
·жеnлуатац�1ю·».
оf
юрудовuищ�,
:жсnлу.U"rац и и
llCПOCf>CДCТIH:HIIO
обоµудовз.ш1е
срок
11риобре.тени·J1
МОМСН'ПI
срок
огра1н1ч�·шщ
и м еюще.е
Кроме
сrшсак<.t.
·в J1<с1шу·.�з1щию
тttго , :н"Qт же
уt."1ройс-пш
с
ис-1·ек t.'PO K
доА"умснт должен
оборудо.ваиие, но сро� J'Q.Цl:ШC'l''H,
котоrюп)
У чет об(.1р��дов1щш1. .в р<вре-�е ск�щдон н-е ведете.я . Се6естш-1'мость Qб(.IJ)у;ювю1 ия
ра�с·rи 1'ЫRll:e't'CЯ как -средняя .
l·kобходн·�щ
выбр�шную дату.
со:ц;m.
()1ЧL"1'
Состон.1ше оборудо -вашtя
�)боруд<>fi.:IНН:�
в
о
•ж.с 1.шуатирусмо�-о
('цстоsrнш1
оборудо'R:шш,�-
Шt
Э!'а:'П!lуатаци .и на 3 1 .0 1 .201 О
!Км Ш!l<а.мера.
Пщн.:нrар
К<).'1 -оо К:ум.r.а О.:r.а1шщйсй
3 ()()j
�
С()<Ж rодн
4\)1.
л.-та1ш.1н:ft;::11
·рок :)ке�1.
•.
6{
�(
s<W·
52(
Рисунок 3 54
Рассмотрим структуру метаданных конфигурации, созданную для решения этой
задачи . Скачать ее можно по ссылке ).J.!Jp�_;//y_!;i.d.J,_$_\s/d./3.r�-�1..d..C9.P.\;)_v.r:_EJ..Q..
В дереве м етаданных видим следующие объекты :
С правочник
«Номенклатура»
хранит
данные
по
оборудованию
в
информационной базе.
Реквизиты ( Рисунок 3 5 5 ) :
1.
СрокЭксплуатации (тиn значения: Ч и сло) - срок эксплуатации, который
задается для номенклатурной позиции;
2.
Комплект (тип значен ия : Булево) определяет, входит ли номенклатура в
состав комплекта.
174 Верный ста рт в 1С www.wo rk-lc.ru
88002344322 Бесплатн ы й звонок
,�:..
П11
с
llf�l!l-111"
"""
Рекаи:щ;ь1
СрокЭксnnуата!J)-1и
=
=
Комплект
Пj Табnичные час'\'И
:w.ч <f1ормы
{_i.�) Команды
[Z]jJ Маке1Ь1
Рисунок 3 5 5
Документ «Приходная накладная » регистрирует приход оборудования, которое
фиксируется в табличной части документа «Список номенклатуры» с указанием срока
годности (для очередности ввода в эксплуатацию), коли чества и цены (для расчета
себестоимости) ( Рисунок 3 5 6).
ГZ
,-:--··
·
. .
.-
•С:.;
.
.
.
.- . , ,
.
-
�
1
�?
Пdс.11€!ДОВЭТ€ЛЬ�QС11>1
/. · .···
···:·,:;,.,........
..
��гю,,__" · · · · · · · · · · · · · · · · 1 !
1
СП СписокНоменклатурь1
,
. . ..
.
.
,.,
=
Номенклатура
;
�.
·
Весд .на
Права
;.;
Л�:wчее
основан:11и
�·.·-1
::
; , . , ; , ; . ; . ; . ; . ; ;;.
.
:
Срок Годности
К.t>личество
[
. . . . . . . . . .......... . . .. . .... ... . ...... . .. .. . ... . . .. "
05-<tJ:иe
.......... .. .............
Шйсrsи.R
·········:
{
�·· ! i
реквиз!<'!>.Ъ!
�;н�зад j Г
дэме>
Рисунок 3 5 6
.
·�J:.�����] .�
j
' . . . . . . . . . ..
.
.
Сн;нд�рн;ь;е рекв�.��1>1 1�1
.
" . " . ..
�
l�
�
У
.,.
..а
··_
р· <!
.к �С!РИС '<)'!=
�:�
и�
·�
""
·
"
Документ делает движения п о регистрам : «Остатки номенклатуры », «Оборудование в
эксплуатации» и бухгалтерскому регистру «Управленческий » ( Рисунок 3 5 7) .
175 Верный ста рт в 1 С www.work-lc.ru
88002344322 Бесплатн ый звонок
.,1
:�::�
. 1.
"
�'Н1ЩИОНащ;нь.1е 011UJ.4И
(" .
';, �
··· ....."
.
... ".....
.
""
?.:Еi� � еi'.ьно m
с
с
ат
По .nедрв
"";�;���! ·
.......
.
,, ,,"
Формы
Поnе,ееода
."
!
г�+
. 1!
· ·
·+
..
..
.
.
bl�::
!�[)
L�i
'+
:��
·
··
··
.
..
. .
.
..
..
. . ... . ....
.
.
----·-"" ."."."."-. ... ---···• •m••- ·""'
!
Регистры накоппеt-tия
Регистрt.1 б:.<>:rа лтерии
Регистрь1
к;��:;�
����
:
p
· · · ·
шw.же.-tи� . J
'
r1;
. ..
t
.
t1
it
С .���
.
1. 1
·
il
}! �
i
Уnравленческиf\
"
f
!i
!!
Z(
t�ltB·Ы�llJl:l•!IGlf!B
." . .....<
.. . . ...а
з
___а
. ...А
..... ". . "
___
i
i; ft
Ос-таn<11Номеt-tкла;уры
·
!
,
!r
рас.чета
............................
t< ro
11
!Ь
1,
"
.
· ·· ·· · · ·· ······ ········ · · ·
·
.
:,Разреш�пь
··
/
+;
!
. :.J
.
. .. .
. . . . . . . .. .. ..... ..
уд;:ление ДВl<{Жемий :
- "J
.. .
.
Операrиеное nроеедение :
... .. . . . . .ii
(���?,���
. . .. ···············
Прt:>вед.ение :
""!
.
ек»1
..... ... . . .. .. .. .. .
•
. . . .... . . . ... . . . .. . •}
(���!'.��-�-"" . "
.::: : : : : >�J
(:У;;�;�"����;:;; ��чесх:и n� � !
� ;Jft!J!В!�---l
·· ·· ·· ·· ·· · · · · · · · · · · · · · · · ····
п"
.."
р <)��;
. ... С
.п
....
. •
!
Рисунок 3 5 7
. ···
,
�f
1
ri
;i
Регистр накопления «Оборудование в эксплуатацию> содержит записи факта ввода в
эксплуатацию и выбытия оборудования с учетом его срока годности и срока эксплуатации
(Рисунок 3 5 8).
�j P � * �
�"';
1 . �" l�!IH+·BI
8
=
L НоменклаТ'!'Ра
i . СрокГОД110Сi\>1
!... Срок3ксnлуатаЦ1<1и
Ресурсы
il
Количество
1 ;
'
Рекеиsиты
...
" ......д.а
.. ....л
_ . е..>
. .......... , <....
. ___е
Рисунок 3 5 8
За�·� . J
.. .
Подч и нен следующим регистраторам ( Рисунок 3 59).
176 Верный ста рт в lC www.wo rk-lc.ru 88002344322 Бесплатн ый звонок
"
.
.......с
....�
.....·э
. ....к
...'". . .. .. . .
."
.
.
-:�1 1
-===�=v �J� ----�--
- Lfu���;�--· .
1(7'-регис-траюры
Ф
·· ····
�
"
?
·
.
г ••
__,.
ормы
����1
." ...",,,""."
�:;�
· ·
·
·
· · · · ··· ·· · · · ·
· ;
. .;.;..."" -····· i
н�·-··��
. .� .
,• ··••••· ·•·i· N
;,.,
. .
· -� .
. •
w
! CJ[;]
.
: ПLJ
:. l�) CJ
: G2] [JJ
!
. .
".�., ".,,," ".
..
• >
••
.
.
"
-
>i
.
..
.
.
Начисление2рn 11аrы
i
1
1
:.д€'Йс��
:J [
1
·1
! t
1
:j
11
i
i�
. . . . . . . . . . . . . . . . . . . . : 1' 1
.
· ·············
···················· ······· ·········································· ···················· i
· ·
·
!
·.·.··,""
..""
�
·..
···
�
'
8водВЭксnл1•атацию
ВыбытиеОборудования
i C !§J ИзменениеСоставаКомплектов
! C."J[�J Оnеращ1я
� �=�2Г.-•�-еt№._·_н_н��'�·�." . 1
/""'� ;;.:;;�;,�,;,;"••• ••
11
Расходн а я Накладная
1
,..
.
'
ВвоДВЭксnnуатаЦll!ю
!
1
1
ВыбытиеОбору.аоsа я
�
�t
-------·- ----- ---
<���
..
��w:.w::.xжr.z::жzw:�ш::m:::xmщ.->"�.;.,.-,
·· · ·
·
J :•
· ·
1
·
д����;� 1 · · ��;�;·� · · · ·1 · · ·c;:;r;����····· · i
�� ..". . ·.:· ..·.·.�· :�.:�.�m:::x;.;:;.:;.����:;;:;;:_:_,��,;:x:w.:,ш.·,.·.·.·.·.·.·.·:.:.;_ .;�;.�J
···
............. ........ ....................................
··
........................
·
�
......,*
xxw
x:
wxxx
x
�
�
. -ж.
, w
x
:
:
:
r.
�
ш x
:
:
m�;
.,.....
Рисунок 3 59
Особенности заполнения записей регистра таковы : в момент прихода оборудования
срока эксплуатации еще нет, заполнены реквизиты : «Номенклатура», «Количество » и «Срок
годности». Поле «Срок эксплуатации » заполняется после регистрации ввода в эксплуатацию
оборудования документом «Ввод в эксплуатацию»:
Документ «Ввод в эксплуатацию» регистрирует факт ввода оборудования в
эксплуатацию ( Рисунок 3 60) .
· ·
..
..
;с;) ВводВЭк·сnr.уата
····"''·····:·:·:··�-·· ·�··:·· ··"."щ1ю.,.,.,.,.,.,.,...,.. ..,.,.,
. ,.. .. -·····
·:'°•
·
=
Рекви�п-..1
iТ.1 Табли-.нJ>1е �acm
·:)
(f·- � вв
=
··::'
•.<;•
··!·'
!?.
.
М]i
[.�
Количес;во
@ Команды
Q Mair.en.1
.....,.,,.;,: .........:.....
•
jj
f°ml<tle&\11i�
. . ".�r�-�1,.
,
Ь\ак!iТ:>I
Onepa1:t1я
Журнl!:nы док�-мечrое
ilеречислен11 я
177 Верный старт в lC www.work-lc.ru
ш ш ;;;;
.
..
.
·---·------.
l1ействи�
.
�
·
t;.1 ik #' х k �$ ['!!
··
· .; f:IJ
(�
:
·" :...J
1m11
'····--·��--�-·--·�········· ·--" ··�---·-·--·--·· ·········�··- -··-�·----··"'····"".,.,,..,.,_,.·
· ·
�..;. �.;.:..,;.-;.--:-"':...)>.:
_,.. ......,... _,._,
Рекеизить1
Ш ТiЮnиЧ!-!ые частм
·:) §:} Сf>ормы
ТJ ФормаL!оt'.)""'1ента
@ Команды
J! М<1кеn.1
h.J ИзменениеСостаеаКомnлекrов
.
.. �
·
"n;;;;i!l;'5 ��н�;;t,� �"i
rь�1я
Выбытие06орудоаа>iИР
=
.. .
................. :...;.............:.:::::::::::·:-:·::.: .
""' н°'"'енклаrурi!
%} # X«k %>-· · ftj
· ····· ··
'
.."..""....;......., ...,"... ... ...l
�<IHKl.:§\IOH<SП!:i!jble С.'1:щи 1
С) Сс�исао<Номенкг.аrуры
UJ Сnисttк.Но.1..,.Р-Нкr:атурь1
Ho'llleнкna7)'Pi!
Коt�ичес'!Во
Обuн;е peкm13И'lli'
:� . .. ��-������J . . . .
·-. . ..
��--........-.
. .. .. .
.
Рисунок 3 60
88002344322 Бесплатн ый звонок
.
.." l._.]���1� J i. ��2f.�:�-� . ..J ·
.....
.
.
,.�
".
--�--......
... ..
.. ,
..
..
...
.
.-�----"'
..
_
_
_
,
_"
".
_
_
_
__
Документ « Выбытие оборудование » регистрирует ф акт списания оборудования
из эксплуатации (Рисун о к 3 6 1 ).
ВеодВЭксnлуl! 1ац;.ю
Табт1ЧНЬtе чаС1И
Рек&•:sиты
=
��:� ПJ
'"°'
d Сn.!сокНо:менклатуры
Номенt<Л��1.,:а
�
ТZ!б1В>1чнь1е ча:::т.1
Рекв.1зи1Ы
tJj
.?:<.;
Кощ1Чество
<f'орм:.1
Б
<f'opмaЛc«:r-i.'leН-a
ИзменениеСос7а6а!<°.омnле;.;тО1!1
.".
ы;
Операция
У�"'"'::а�·
",..,.,.�--�"°
..,
Рисунок 3 6 1
Теперь рассмотрим запросы .
В приходной накладной запросов нет, движения документа выглядят следующим
образом (Рисунок 362).
�
=··
- "Jc.�.a:.t.-'
- "' _,.,.:;��1!t
с.--
:...,-...
· -­
: �Т'!!'ЬW)С'Н
·
).,(j!!Н1!
.
т:.м
_,. :-�"_..4'(
r��t.Ш:..:y:p..:.. . ��xo)-.::o::it.М�·.:ra.r..:;.�Y.14>1 :�2:..:":. .
;:
�А:� � �
�-,):..-:· :i"'� ;r.x,·. :·i �.,..,·:
· ::;.:::::х�<:"'.<"«'·�"�>·"� �:х
·
,·..(,".:.,,.. �:»>1":�к1:�·1';1":;-�'- >�:о:
, �-Y.Kt11t�a. :.."V-:·•"": 1::.tH�.cttxo;'tY.':"·')-\;o» · ;!_,-;,(':.�,ц(;-• ') l
.::.Ov��H<il. !lt.:.;.tZ..\L>
...._.
...,, .. fc. •' !:М..U:.�.:>efc.!,,,,.xt:::=:�:- e:�.)!�:itt:f:;
;,_,..Y,'t'_.>C". �t.fM-':\� ... �:'J'>o :
�"""�"t� .Л�J:r.11>;;.,..�� - ":1E:11>::ж.i;cxta.����-=cx7.::1<a.r;';'V .�.nп:;�7.;-.;';'0.7)?0;
;
��v.км�ц�
;:.�-'fMlfl'/
·м;:<,,.f"lf" : : +:) ... ;. 1:.c..· :· f � · ·{,'::":::: x��-�«-.t- • h "'f::,' !,)11: �(:!МЧf" :·�•=> .
;.��xt-eciц . (.\-.:.:
�.{';,;.< ���� :
!!
;,.
•>"::·x;:YJ,
'1
': <:!:К:.· :r..;r:.:'::О:х сс��"°�"'..::!:. ��-;:: а.: . "·/н"1 н
�
vФ!> �JQ,.».::.x�r-.� <:�A;�;:io1x \\$'»., ::-4
"�:-.�•.чlо..•А . ��.:1:-.1;:<· "•0»+b�>i-.,:;:1:•/.11..,_0..�').• . �:::.c::•:)C..lo.?"
. • ..._ Х::<:О:Х)<.:
'*°;.•:
:·�:. :к;:.; ; ,
�<0�";:(\>::X.>1•:д.ot'"Y/" h•:•>t-::)::К::��·:/J..-C.: ;1,..
}.;•i..-:.:+HlfK
�:CXX'Jo.�·
- l'h--«>Jt�
ц. r;"�
Т: <f>?'.м.<
', . � �:.иit.<
""': :.-:.с,.;,"-·
::�:._c...V<:Ь...r.su-.•
�,-с';1�""�
���-.еу(:•�
- "..,._)�)
•
·
2м.��:n-.и:��"'-<:.<"-'":'�t·:a.:". �Vfla.:.,:;,
�(�Kt/".... :--;-.>� " �...
. <.:..,, )xf':.: :::tt:c::-.(
��1'\M "I . �..r:;t.f:..Ce :-:.-.� "
- ::;.r..c:i')-.тa
s -(-;(.�, : <·
;.> У::;:)<.":сс...'°"
. ·->.:- :ххХ
у
.:,�о.<х�::;с,:с::кН<wМ-А4;.!Х:V;,:+:
<о«:..и-п.......х:lf";;:А:
'!""к":'Ж;;с.:х...:"�.;...;,;с�!�«:СХХ•<;•,...,..
.. -:V:w.!'c.:;u((•('·NO .
.:. ro:�.-7'�1' •".'�м�....-:x�·:.�
.::-c �A•'t)"�· �-C-�'t�:W�·: -:.�ю
.•
z.ь;o,x":-i.;.:x. �:<ц.•"л'Сr.�"С::хк>�. �••)»l.: "'"'a)C':t..
::.:...•
.
":::x::(;XU,.;;<<0»/"1'1X��·�;"' ·::�<(...",
t.<O�
��Иr. • • :::.••U.O:h)l,I( . �"�:<:;:;.-:<< •Oh»�:)�)X::::;:y• :·•� · ;{:):°:IC:":W:-0• (": :
::��IO'f�. Зк;s,2�v.;y..e:mr.
..... ,�
i-.c.�:
;}:;;�:...-�':t»��.:к.-о:о'(•,-;.А
,
:�:"t-''lt:�U
.:�
<o;:.: �o::< v. x . ·.� '11'?:>.'»:-:°.}:.;'°'. :<Y.'t<:>.�•-1 . �, " :: ;.( ��.:"'').7� .... �1.::w::,.;:(). :
""'::(:..
""
;-.,.; �»».�
x":4W � • ·� ·: r.x;; ?p.;.i-. o<;�и-.-:.:-: �:':C'"•�+i,t�..r.'lot}';'Ж: ·;�� :;�i;Ч"�''>:-+"l"l,..,r,• 'P·lИ-; .:0::.-:r..<:
Z:;"-'Ж.-:,j:11;
"
;!QJ.�:,._,,, . )';:;�� :..;, ,;i:1".: c �til
�v.--+ . r:-."·.;�"<
. ;:..:.e.:.EU1..:L : , :
.... ;:":н...,)fi, ..,.1t-. . )м 'Y:tSA-t>."·-tl"'V!!t.:JO:мic '!с·-�;
.�»»дJO:i.ix. ,�'(«-:·�", .,._ �!;";хх..;,��1°''° . :.'r:рхх::«хх<-.<:.н»> .�!.)::xJ<X""4:8"'1:
�--='-щz1; .С-• ..-':.
- ': с�::ч:
J..1.сс"'':.;.-.:z. и1"":':.� :�а..: . :: �
?
:11
;� :
' ��-:.·�
�K-Kio<+ . f, y�')J<;)l(1';;: .,.�?"��;.,." -...�ц:;мXjO.s " . � "�. : ..-.oc
•
�111.).ts".»r�; �(�-.A"'f'Y�:
�::. Т.&..,,,...,. ,..;о.
...
:"4'",; �t:'- )X X :':: :: w :::c· �:
·.
.
•
"
._< K)!llJ:IO;",!J:И . <i-М-·"-X 1' '11 '.'S ,,.,
w �-lr.0:0")1")
W 1'\,).V,(-:;...j
Рисунок 362
Рассмотрим запрос, с помощью которого решается задача передачи в эксплуатацию
оборудования с м инимальным сроком годности.
Для этого откроем форму документа «Ввод в эксплуатацию», в табличной части
которой отображены только данные по номенклатуре и количеству ( Рисунок 363).
178 Верный старт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
Рисунок 3 63
Необходим о реализовать проверку достаточности данного количества н а остатках в
момент ввода оборудования, и вводить в эксплуатацию номенклатуру с м и нимальным сроком
ГОДНОСТИ.
Перейдем в модуль объекта документа и про анал � зируем обработку проведения:
Про ц едура ОбработкаПрове дения(Отказ, Режим)
Дви:жения. Оборуд ованиеВ Эксплуатации. БлокироватьДляИзменен ш1 = Истина;
Дви:жения. Оборуд ованиеВ Эксплуата ции. Записывать = Истина;
Движения. Оборуд ованиеВ Эксплуатации. Записать О ;
Блокир овка = Новы й Блокир овкаДанных;
Элемент Блокировки =
Блокировка.До бавить ( "РегистрНакопл ен ия. Оборуд ование В Эксплуата ции '');
Эл ем ент Блокировки. Режuм = Ре:жимБлокировк иДанных. Исключительны й;
Элемент Блокировки. ИсточникДанных = СписокНоменклатур ы ;
Эл ем ент Блокировки. Исполь зовать ИзИсточникаДанных ("Номенклатура ",
"Номенклатура '');
Блокировка. Заблокировать О;
Запрос = Новый Запрос;
Запрос. Текст =
"ВЫБРА ТЬ
ВводВЭксплуатациюСписокНоменклатуры.Номенклатура КАК
Номенклатура,
СУММА (ВводВЭксплуатациюСписокНо.менклатуры.Коли чество) КА К
Коли чество,
ВводВЭксплуатаt{июСписокНо.менклатуры. Номенклатура. СрокЭксплуатации КА К
СрокЭксплуатации
! ПОМЕСТИ ТЬ Данные ТЧ
� из
179 Верный ста рт в lC www.work-lc. ru
88002344322 Бесплатный звонок
Доку;иент. ВводВЭксплуатацию. СписокНо.менклатуры КАК
ВводВЭксплуатациюСписокНоменклатуры
I ГДЕ
ВводВЭксплуатациюСписокНоменклатуры. Ссылка = & Ссылка
/
! СГРУППИРОВА ТЬ ПО
ВводВЭксплуатациюСписокНоменклатуры. Номенклатура,
ВводВЭксплуатациюСписокНоменклатуры. Номенклатура. СрокЭксплуатации
!ИНДЕКСИРОВА ТЬ ПО
Номенклатура
1;
111111111111111111111111111111111111111111111111111111111111111111111111111111111
/ ВЫБРА ТЬ
ДанныеТЧ. Но.менклатура КА К Номенклатура,
Данные ТЧ. Коли чество КА К Коли чество,
Данные ТЧ. СрокЭксплуатации,
ОборудованиеВЭксплуатации Остаmки. СрокГодности КАК СрокГодности,
«ЕСТЬNULL»(ОборудованиеВЭксплуатацииОстатки.Коли чествоОстаток,
О) КАК
Коли чествоОстаток
1 из
1
Данные ТЧ КАК ДанныеТЧ
ЛЕВОЕ СОЕДИНЕНИЕ
РегистрНакопления. ОборудованиеВЭксплутпации. Ост атки(
& МоментВремени,
Но.менклатура В
(ВЫБРА ТЬ
из
Данные ТЧ.Номенклатура
Данные ТЧ КАК ДанныеТЧ)
И СрокЭксплуатации = ДА ТА ВРЕМЯ(/,
КАК ОборудованиеВЭксплуатации Остатки
ПО ДанныеТЧ. Номенклатура =
ОборудованиеВЭксплуатации Ост атки. Но�tенклатура
1 УПОРЯДОЧИ ТЬ ПО
180 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
1, 1))
СрокГодности
� и тоги
МА КСИМУМ(Коли чество),
СУММА (Коли чествоОстаток)
\ПО
1
Номенклатура ";
Запрос. УстановитьПараметр(" МоментВремени ", ?(Режим =
Режи.мПроведенияДокумента. Неоперативный, МоментВремениО, Неопределено));
Запрос. УстановитьПараметр("Ссылка ", Ссылка);
Результат Запроса = Запрос. В ыполнить Q ;
В ы боркаНоменклатура =
Ре зультат Запроса. В ы брать (ОбходРезулыпатаЗапроса. По Группировкам) ;
Пока В ы боркаНоменклатура. Следую щ и йО Цикл
Нехватка = Вы боркаНоменклатура. Количество В ы боркаНоменклатура. Количество Остаток;
Если Нехватка > О Тогда
Сооб щ ение = Новы й Соо бщ ениеП ольз ователю;
Соо бщ ен ие. Текст = "Недостаточно о боруд ования " +
Вы боркаНоменклатур а. Номенклатура + ". Не хватает " + Нехватка;
Соо бщ ение. Соо бщ ить Q ;
Отказ = Истина;
КонецЕсли;
Если Отказ Тогда Прод ол.жить
Коне цЕсли ;
Ост алось Списать = В ы боркаНоменклатура. Количество ;
В ы боркаДетальныеЗаписи = В ы боркаНоменклатура. Вы брать Q ;
Пока Вы боркаДетальныеЗаписи. Следую щ и йО И Осталось Списать > О Цикл
Если В ы боркаДетальныеЗаписи. СрокГодности < Дата Тогда
С ооб щ ение = Новы й Сооб щ ениеПоль з о ват елю ;
С ооб щ ение. Текст = "У оборуд ован ия " +
В ы боркаДетальныеЗаписи. Номенклатура + " срок го дности истек " +
В ы боркаДет ал ьн ыеЗаписи. СрокГод ност и;
181 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
Отказ = Истина;
КонецЕсли;
Если Отказ Тогда Прод ол.жить
Коне цЕсли;
Кол ичествоКСписанию = Мин(Осталось Списать ,
В ы боркаДетальныеЗаписи. Кол ичество Остаток) ;
11 регистр ОборудованиеВЭксплуатации Расход
Двu.жение = Движения. Оборуд ование В Эксплуатации.До бавить О;
Дви.жение. В идДвижения = В идДви.женияНако пления . Расхо д ;
Движение. Период = Дата;
Дви.жение. Номенклатура = В ы боркаДетальныеЗаписи. Номенклатура;
Дви:жение. Сро кГод ности = В ы боркаДетальныеЗаписи. СрокГодности;
Дви.женuе. Кол ичество = КоличествоКСписанию;
11 регистр Оборуд ованиеВ Эксплуатации Пр иход
Дви.женuе = Движения. Оборуд ование ВЭксплуатации.Добавить О;
Дви.женuе. В идДви:жения = В идДви:ж ения Накоплен ия. Пр ихо д ;
Движение. Перио д = Дата;
Движение. Номенклатура = В ы боркаДетальныеЗап uси. Номенклатура;
Дви.жение. СрокГо дности = В ы боркаДетальныеЗаписи . СрокГод ности;
Дви.жение. СрокЭксплуата ции = Дата +
В ы боркаДетальные Записи. СрокЭ ксплуатации * 24 *3600;
Движение . Кол ичество = Кол ичество КСписанию ;
Осталось Списать = Осталось Списать - Колu чествоКСписан uю ;
КонецЦикла;
КонецЦикла;
КонецПроцедур ы
П режде
всего, нас и нтересует запрос (фрагмент выделен жирным
шрифтом),
рассмотрим его структуру и последовательность выполнения .
Первым шагом получим данные из табличной части документа. Для этого откроем
консоль запросов и выберем поля «Номенклатура» и «Количество» из табличной части
документа « Ввод в эксплуатацию». Для получения значения срока эксплуатации выберем
поле «Н оменклатура.Срок Эксплуатации ( Рисунок 3 64) .
1 8 2 Верн ый старт в 1С www .work-lc.ru
88002344322 Бесплатн ый звонок
:
: ;
i
:
1! :
'" - �«;"Q�
w
# -=
l�жrм�
- �,..ei-:�f:peo.-t
I'
�
... : : !3.f:wf1."e""�%'1i�
Рисунок 364
На вкладке «Условия » укажем ссьшку на наш документ ( Рисунок 3 6 5 ) .
- *.�..,Стр.:�
�
1 · ст .
e.:rt �..m"'}�
'°"
1<о11'"°"гс-:вс
�:
; :"
1
· · ·· ··
'Ь.':....-=����
-
Рисунок 3 66
На случай наличия в базе нескольких одинаковых позиций, сгруппируем результат на
вкладке «Группировка» по позициям (Рисуно к 367):
Н оменклатура;
Номенклатура. СрокЭксплуатации.
i
/
···�
Т.Юmuьс,
�
- · ··
г···············.· ·······
[ Груnrмр . .
Рисунок 367
Поскольку в данном случае для каждой номенклатурной позиции срок годности
одинаков, возможен еще один вариант групп ировки : сгруппировать только по номенклатуре,
а
в
область
«Сум мируемое
«СписокНоменклатуры . Номенклатура. СрокЭксплуатации »
с
поле»
добавить
применением
функции
«Максимум » (значения типа «Дата» просуммировать мы не можем). Так как для каждой
183 Верный ста рт в 1С www.work-lc.ru 88002344322 Бесплатн ый звонок
номенклатуры срок годности одинаков, то м ы получи м тот же результат, что и первом
варианте групп ировки (Рисунок 368).
1; [: f�§�*l : ц Г.17.���� :
' ш;;••в=:
Пот;
- · ····
.
1 •, '',:
в
.
1
11
i
1
: .. l.
: '
· ··· · ···· ·· ·· · · ···<
.
����1�� .1 . . 4.f�� >
.
·-
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
J
.
1 . .. .
.
....
•
• . !Jl!f��()�
JJ 1tt.'!?г1'1
.
...
. ..
.
. JJ�c.>:�:. :.. J � . n��;;; �a . , , ,
··
--------.."'"J
·
�
-�
-·
>
:
[
�
·�
: !
'
; �-J
"
Вво
дВЭка�луатаЦ1<1ю\Лисок Номенклаr1ры. Но ..
.
..
�
� 1 �· ·�
······· · --- ··· .. ... ·· · ·� ···· · -· ·····- ······· · ··· . ...
··
1
.
'
'
j!i
.r • · 09:ъ.��� : ::
.
.з
.."'
....�
..r..х
.•с
.......... .
Рисунок 368
Перейдем на в кладку «Дополнительно » и создадим временную таблицу «ДанныеТЧ »
( Рисунок 369).
�j����i��_;:---J.C_f�Jiih�&���:J:�Y':_���·· i (· д;;;;��;;�;;�·. · ·
·
·
ЕыОО
.1 1
залис•ей··· · ·
��:::::::щ��я
....
рка
1. ' ""
.
Тип
заноос""'
······· · ···· · · ·· ···· · · ············· ········· ······ -'----�-�'
���:::::::=,::::г:щ: ь�
.....
.......
....... ..... .. . . . . . . . . . . . . . . . . . .
:
..
... ....... .....
..... .. ........ . ..
.
:��f���- ��P.>\�!-�.:. .��� �� . �
:J
�§ j
� � { [:::J Бло.кироsзть г.:опу�аемыt:: д.а�нь�е для поср..едrюu.з.еr� изм:.:не��я
.....
._ ,
............ ....... .. .. . . . . . . . . . . . . . . .... .. ........ .....
. ...... ..... ......... . . . . . . . . . • . .
i�1l ����-j� . J'_"°==���· ш
t__:�2E�E:-..-c.-.J
.
.
' .,.
� ....
., .
. ............ ......,".,.
.
.
....
,..."....,......
.. ,,....,•...,..
,., .
""
- .......-.
. ....,.,.-.;.,w.·�.,...,,. .... ""...,...,....,...
,."' .
,
.....•.-.
.
Дs�·fee
..,..
•...,.
....,
..
>
:;� - · О К
·
--
Рисунок 369
••
•
·
-°-l����-и=-1
.,....."........ ...........
•
t
•
••
·
J;� f
_,.?�)�>:�а
......... ..��_,_...... ..
.....
. ..
. .
.;
• ......
..
i
,
.....
Н а вкладке «Пакет запроса» создадим новый пакет, на вкладке «Таблицы и поля »
увидим временную таблиuу «ДанныеТЧ » ( Рисунок 3 70).
184 Верн ы й старт в 1С www.wo rk-lc.ru
88002344322 Бесплатн ый звонок
.
;;.
:
....... ... ..... ..... ....... .. ..... .. .... .... ..... .. . .. .. : :•t .т: :�
.
----·------
-
.
.
.
..
.
.
.
..
.
.
....
..
. . .-.
·· :
.
.
'
,,
. . . .-J
"
iii:l �&
.. .:.
!
'Баэа данН»О(
.. !!()
{:;;;]
Реrисrрь1&ухг°t!лтерии
Бизнес ПрО'J.ессы
��-
.,., [�)
i•
·
, , 7: ':: -�::"�.
н
,
j
!.....
...
с ,?.ЗПJ:>?:;> .J
, "."., ..."".., .....,,
..
i
НоменклатураСрокЭко.-.л1•ат.ш1-1и
.. . . .
._
. . . . �:: : : : ! C>.J
�--�·�.J
11 r<<.:
.
·
Кол'1<!есrео
..,, .,."
гг��;;;;,;
! l2,_1 Г::::::::::�::::�-· - ::::::::::::::�::�
·
(�}
РеrисwыРасчета
·9·
1
л
. . .
" " ." ..
"". .,,.,, .
..
, .,"", . .",.,
..
.:;;·!
. """ .."..",.".".,,"...." .". :
.
�J
.
Рисунок 3 70
Таким образом, м ы получили данные табличной части. Однако, оборудование, которое
пришло по приходной накладной и у которого еще нет срока эксплуатации, поскольку в
оно
эксплуатацию
еще
не
«ОборудованиеВЭксплуатации » .
введено,
Обратимся
к
хранится
виртуальной
в
накопления
регистре
таблице
остатков данного
регистра, так как нам нужны и менно остатки на момент проведения документов.
В качестве параметров запроса укажем «Период» - момент времени, когда это
движение происходило.
МоментВремени(), в отличие от даты, является более точной границей - границей на
момент проведения документа, и состоит из даты и ссылки на докуме нт ( в случае если в базе
содержится несколько документов на одну и ту же дату, по моменту времени можно четко
идентифицировать необходим ый нам документ) (Рисунок 3 7 1 ) .
·�
.T��:���-���--:·�-- r�!!�� .� .i:.!:�1: c���--·: ..C:���:��ii�:: .. .Qr!'�����������=- ·:;.�·:.J�F.1�.:i.�:- ��L , .�; -��!:r.��; ;·; _;�-t;��t:.���� ·
й
��
=��:=== =�=. =�.,��� "
,·•' · �;;�;�
.
1?�:
.
CЩ-r.t.CS!Нi.�B�cr�aтaUi.'11
Eri: С��!М.�Е3к�
-- nуат&»._.06срс�
-.
:i @!Ыii'dii
:aiWJni&iИ\И!ZJ
� �
�.;:�t)-рг
:._ �fC.lJ"X':"'�
:
.
�
"
.
.
, , 1.�:','mыtШИ*Ш'lHP1!W!,HG
<fi 1.�
'
".
х
.................... ....... . .
..
�{!
#
х
.
"!
.
�.
"«
�..e.:.?.к0111t.J Ja.J•1
� l<cn;.folee�: ���
�:=;�; Oбor;:��il05Mote8Экt�1f,ta1aщtИ.0�a�1�10ll5.:pи� ·�
- .
.·""_,.":;:;;: _·�: �:=�=���-���:�;��::.���;;���k..Щ%&@№\1!1№i!i%tJ��;;;%&@.:�(.i%
"�- ·�·: ·�
-�-�
· ··--�
--·A�
S:-.;
f��%-; cl%.%w
· ··��
."�§�:�:���-!�·4
! ,,,. . .
·- - - - �
�����-··:, .; .-:: ·
�·.����������
�
· ···�
88002344322 Беспл атн ы й звонок
. :. .__.�:;_·
:;;;_.-�
-·
· -:;;
�·�
· ;;.�,;;;;;_
. ..�.................
...
... ...
......,,_
.
185 Верный ста рт в 1С www.work-lc. ru
�:..J 1
_
...
<=-
\' 1 :
.
_..,...._._. _ ....
.,.,.,.,.,.;
.
Рисунок 3 7 1
Далее ограничим получение данных только той номенклатурой, которая содержится в
табличной части ввода в эксплуатацию. Для этого заполним параметр «Условие» данными
из
табличной части. Это можно сделать, вызвав форму заполнения условия (Рисунок 3 72).
.. .
.. . . . .... .. . . .. . ...
:� ... .. ... .. .. ... .................... .. . ..
*-•
СрокЭксnлуатаЦ111�
.
. . ... . .
::
......j r.·.·.�:·�-.�·-·
,, ··· · ·
................... .....
.
Ноиенl'"...л а т·ур а В (.ВЫБ РАТЬ
Дан�ыеТЧ . Номенкла'I!'У'Ра
из
Дан�ы.еТЧ КАК Дан�ыеТ'4 J
I
·· · ··
· ·
· ·· · ·
·
тт �
.. . . . .;
;� .:. .
. ..
·
,
Рисунок 3 72
Рассмотрим другой случай работы с условия м и .
Для этого создадим еще один п акет запросов и выберем поле «Номенклатура»
временной таблицы «Данные Т Ч » ( Рисунок 3 73 ).
f.Чt���-�i,••111l:v.�M�м��· ":.;�!illl.8Ш����-��-..
OS�a'Мffii\Rl:li ::
1 �;�����
; .��; Гр-�&;;! .! i
1i гт.
;
r ·�·.s.�� �;�.�
�
�:
�
. ;* �"
·. ·. · .· .· · · · · · · i , ,, j �· �� �
·..
:
�
Ъ
l i l' �l
i
j
!
::
· ,·;..
i !
,
:;;:;:• ПлзnыЕ!идо11Х.араюеристи�
'� lj·
·
,· '
·
# }�
..
Планыuеюв
· ''.'."<,;
: f�
i'i
=
1\ 1"} �·� ��� 1 �
jj
1
1
!j
!
• ;Q: Пл....,ыВ.1дщsР11с...,"'
."
i""
;·
,'?.'
: Ре:->!С"РЬiСведени�
..�
,.·"-
,:' o. �
m
" "
.
...
..
1'.::н:1<<.;ectSo
i
:
�!tl4ff
№l��.. .... ..JJ�...�.;:��:;f��� --�Q."�-�J
�!ЩiЖ ' .· �'!РП1 ! f'���-l.!.а�::._���"
�
.м�
.
�·
·
�•.;•..
У�оовИЯ
/
из
Нс.ме><КЛа<)'раСрокЭксnлуатаJ1••
,
;.;��
�
• .
i -1.r i !i
.�,,�� ��.ч��:1 � ! I
{{;$
� х
i
:· ,i �g� ;j �i!�
!
: .5..J
!
&.,
'::_
7-
i
" '"
""
... ""-"" ·-· --
.
'
!
..;, •i >f,•
·
i �w Ii
: 1 · · · : f;�
i
... " ; '
•
l._!��:.:�C.�. "'"=""'-"'"""'"""""'"',=""'"'"""'"'""""""""""�·,·---·--"'"""*""""""""""'""'""'";"�;::::;�;�-::�:"'""'"�",;:.,.",g. �.,".:.";.�·��"�",::::�",.,"J�"�±±E�J
Рисунок 3 73
С копируем этот фрагмент из текста запроса (Рисунок 3 74).
186 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
"
CYl�t!\ (В:s,:;д3З1<сг""1уs тащ.п:Списахi!:а�""н=sт-_уры . Ко.;шче :::·т"с j КАК f>:С."1ичес,,, ъ:::- ,
ИА"'1\СИ!·1УМ ( .Вво.11ВЭ1<:сплуат·аuиюСпи�окНсне:t1<Ла<zуры . Нс1>fе!'.У.д атура . Сро:к:З:ксплу а ::<ащv.}
fЮИЕСТИ1Ь Дан!'.ыеТЧ
И5
ГДЕ
КJl...К
До�rмент . 8.!! одВЭхсп..tr:1атаыJоШ . Cr:.XcoкRor-�eнtr�aтyp�
В·БО·дВЭ:кс.гиr.;'а�а:д:и:юСп:и:со·:--....
Чоме�х.л:а:r
.
.:.1Ры . Ссыr
.ха
=
КАК
fj
t
�
ВъодВЭ�-=·�
�
уат�
-:.исо�сме !!L'"'I .•
[
�f:
!i ·C<:�Kti
·
СГР'\iТU'..ИРОВJ:.JЬ ПО
З!!ю.дВЭ:r<:сп.r.уатаuюсСписс.>е.� оиевJ<.ла�-ры . !iомен:к..'!атура
ff j / l ! / / !!f! l ! l ! / l ! ! ! i l f ! i ! f!l! / ! l l li l f ! i l f ! i l f!/! l!// ll// ! l l f!// / ! l l f ! i ! /i / / ! i l
! l l ! ! ! l ! f ! ! l ! ! l ! ! l ! ! ! / l ! ! l ! ! ! l ! l ! f ! !l / !! i l ! ! ! l f ! l l ! ! l ! ! l / ! l / 1 ! ! 1 / !! ! t !! l ! ! l l ! ! I !
:········f """"
� чt !...
�N•"••-..;,,•,,,.;,,,·;_..,,,,:.,,.,..,,
('
•,•,.,·,·,;,·0.••••'•'.;., .;..,..._,,.,,,,,,,.•.•
••••••••••••._,.,,,,,.,.,.,,
•••••••••••••''''Л•..-.... _. ...._,.
.
......... .....,._,,
.
••••••••v,••••,w
•··�·· •''''"'..._...
...
,._.., N._
Рисунок 374
Скопируем данный фрагмент в поле о писания условия запроса, добавив перед этим
«Номенклатура В » и заключив в скобки текст запроса. Далее удалим пакет запроса 3 . В
результате получи м то же условие, что и в первом варианте:
Номенклатура В (ВЫБРА Т Ь
из
ДанныеТЧ Номенклатура
Данные ТЧ КА К ДанныеТЧ)
Обращаем ваше внимание, что в момент оприходования оборудования в документе
«Приходная накладная» задается срок годности и, после проведения документа, в регистре
ОборудованиеВЭксплуатаuииОстатки
созданной
записи
заполнено
измерение
«СрокГодностю>, но не заполнено измерение «СрокЭксплуатации ». Это говорит о том, что
оборудование еще не было введено в эксплуатацию. И , наоборот, если в записи регистра
ОборудованиеВ ЭксплуатацииОстатки заполнено
измерение
«СрокЭксплуатацию> - это
значит, что оборудование уже было введено в эксплуатацию. В связи с этим, нам нужны
только те записи регистра, по которым значение срока эксплуатации пока нет. Для этого
дополним
условие
выражением
через
оператор
« И »:
СрокЭксплуатацuu
ДатаВремя(l, 1, 1) . Таким образом мы проверили срок годности на пустую дату (Рисунок
3 7 5 ).
187 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
1�:
1
1
j
1
:
.
"
Hoмeн<r:ra�(J)a
: . �·шmww,!wool
t.. СоокГодносrи
:· ·:;
� :··
;; ··:::···:·· ··· · ····:·:::::·:··::::·· ·::····:· ······· ····· · · · · ··· · · ::: :::····: :::·····::::::::::::::::::::::::::::::�:�.
Нонен�...л вт;--ра
(B!:!= P�_Th
из
Е
Де.нt>.ые ТЧ . Н.о!>!ен:кла тура
,...
�
<l. .,----------·---·-...,...--- -·· - ----------
.
_....... .. .......�---· ---
- �-
Рисунок 3 7 5
См ысл данного условия в том , что м ы отобрали из всех записей только те, в которых
на момент проведения документа содержится только номенклатура из табличной части, а
срок эксплуатации является пустым значением.
Далее свяжем соединением по номенклатуре таблицы «Данные ТЧ » и таблицы
о статков регистра «ОборудованиеВ Эксплуатации ». Для этого перетянем временную таблицу
в поле таблиц запроса пакета 2, и получим итоговый запрос. Так как все данные, полученные
из таблицы «Данные ТЧ », должны фигурировать в итоговом запросе, в отличие от полей
таблицы «Оборудование в эксплуатаци и » (из этой таблицы нам интересны толь ко те данные,
которые содержатся в «Данные ТЧ »), исп ользуем левое соединение. В случае, если
номенклатуры из таблицы «Оборудование в эксплуатации» нет на остатках, система выдаст
сообщение пользователю. Соответствен но, если мы свяжем таблицы не левым соединением,
а внутренним, то система не выдаст сообщение пользователю при получении данных,
которые есть в таблице «Данные ТЧ », но, при этом, отсутствуют в таблице «Оборудование в
эксплуатации », так как у нас не будет записей по номенклатурным позициям, которых нет на
остатках (Рисунок 3 76).
88 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
µyirgi
�
�
��}WдW.W.?JJИ@&I§
t JЩ11n:w�wr�ЮШ?/IfШ}@
}fWW
4f&
#
Ж
JJ
X
И
Щ
f
&
@I
fE.ilIl @iШfW
�
X
!ЩWШ
f
f.E:tйЩtW
4IШ@fiбl
.fE
t
ЖШEЩ
fjffilk
;жf�1JIЛШЛR��м}k,tbJ�l
· ·_· · �_-_"··;_;_·_·_-_'__:·_·__::.
1 .1 _�об-- ��
'""
-,
_·_ ·."'
_ ...
·
_Е·�·
�
. "'
'>
_ ·
_
1
1i
:!
'
.'
�·-::� (X.:1:::rot'z
· _�
•
....
д.'>--,с.,,� ;г&о1:,ю
.
::
ggщ �;
2:�
;
,,,,,,.,,;.;.,.
",.,.,......., ..." Nh'AV.V
·,
"
. , :;
.":;_YN', V.Y"'N'·Y...,.,.,. ............,........., ,.... ....,,....,...,.......................,....... .,,"'.''·'"''·"'·,,.··'"'·"'·"-
.
: ;�..! .о1;.>;11: - : � �- =�� _::; (:��· .. д.-:t:�i�'::-ti��
' fJ {J <t x
·
· t;:
"1.;,5==-· �� �
с. � -�.,i;��-z····-- ··- ·-··- ·····-··· · ··· · ·· ·· · · · ·· · · · · · · ·ё:_-::·���j"Y����·t: -:.��-;
:; :
f
·
�N
,.,_ • •� 06«>,,..-i;.-,..,,,.,"--4):"...
""" ."" "..".."."...._".."......"
... ...."".".""."."._.
.
·
'
·
..
. . .. .
. . .. .
•1" •
j, $.с �.
�------��
.
.
�;t-mщm"iffl�9!W(
-Ш�
_,,,
�:� �
'
· ' ::
...
t . 06>ю:-v.�.1.еЮк·��-о11 ���т-аткк �-:�:-r�l'�··
J Cl\S?o.. zre .AE J..:��· :��,_ lf..::ot
: "'-.::r.-:...�r.>-.
_
......... ....... Y,Y......, ,.;._:; :_.... .·. .--.-л·. ·.·- ....... .........:.: ; :;
·-
;:
.
.
.. .....
; , ::6>::?i:o:�xf'8ЗкC"l::'
) 'a':'au-'"<ii:т•'fXИ (:К..:!'".;,o'J'l·�.f.
, ,_......• ,v.v.vv.YY Y.
Y.Y........л-.
·_
,_.,.,.,_..-.·-.·--·--·.·.·.·-·.", ..
:· '���м�-��i� ' r.*�: : :: Яfй.('й -
:
. r.�t$-�,)'(,.'<ie
$j # X
: ���
.
,.,........ ...,,...,,.,.,,...
,
�::.о:��.-ь
: :·�: �
�-е ::�.,.·•�·��
. � Ь-� t.S,�
- ��
,!
• �.-...
..,.,.......... ...,.,.....N-'·' ·''-'' ...,.,....,,,;..... .;,
,.,.
: r.��··: �: �>«и � .
.
t� i� � � · �. .? . .
С6"��-м�hс��
:r,"" w
..,; ь�г�::а.с
·;;.
.
!·
...
"' :.>< ?�
�==",
,"",.,,..,
�- �"':! ?r..•:::":"�For.,,;eв
-
.
: 1-)::: ��ff:',"-'
.
.
.. _ ,_._
._._._." , _._: ,"
,
: "".f:ko�ts-���c .
·
---- ···· · ··· · ................. ...
.
· · · · · ·· · · ·
.... ........ .. ... "........... ...:;.�...,
. .......
.
·· ·· · · · · ··· · ····· · · ·
----�it/-B!8affiff*Щi-8�
';;i;.
-,.�,,, .7.,...Л:....
�
�;:.;..
.."""-""""""�---·------- ----------- ----·-·--- ------- ---------· · ··--·-------------·-·- -·-------------------
•
·
,: :·: � .:
..
..,,
• t> • •
· -- - -1 j: � � 1
_,.A.,..,.J [ "'� i
-
· -
! f1�
�J 1
_
""""'" - ." """". "". " ----·--·-- -· """ " -----�
: : l:.и1far. ( ) ���-д�:_;) ; �� ..:� f:.����
-
���
·
Рисунок 376
.. .,. ·
·
..... .,.. . . .-
.
l_
·
__., {
�ч
·
·
·· ···-----··········· ······· · · ·· ·····- ······ ·· ··· ···· · ·· ···-····
Определим состав полей, которые нужно получить в Запросе п акета 2 .
И з таблицы «данные ТЧ » нам понадобятся все поля ( поля таблицы можно перетащить
из области «База данных » конструктора запроса в область «Поля » без применения функции
«ECTЬNULL», так как ранее мы связали таблицы левым соединением) (Рисунок 377).
Поля таблицы «Данные ТЧ »:
Дан н ыеТЧ. Номенклатура;
ДанныеТЧ . НоменклатураСрокЭксплуатации;
ДанныеТЧ . НоменклатураСрокЭксплуатации ( предварительно переименовав на
вкладке «Объединения/Псевдонимы» в «Дан ныеТЧ .СрокЭксплуатащш»,
для
более легкого
восприятия ).
Из таблицы «ОборудованиеВ ЭксплуатацииОстатки » н ам понадобятся :
ОборудованиеВЭксплуатацииОстатки. С рокГодности (с этим сроком годности
будем списывать и оприходовать номенклатуру, но уже со сроком эксплуатации);
ОборудованиеВ ЭксплуатацииОстатки . КоличествоОстаток.
·
1
i
:
i
-r-
·«
�-�j
р��1РасчеR1
� Ь."1eef1couec::t>i
111!'
!!�=�:.:�
. ���.x���
�==w.�}
'1
!
:
:1
"_"
·==-) Номе�х..��-ра(.роf(Экс:"'!:"!)'ета.1,1•�
Оборуд�е�В°ЭkФf!)'а :-а.J.м()с t �1'У..i1
,, ,
:. .
Н;:;
�
..,., .,,_
'РI!
t#J
.
_
.'
:,:=
.
�-�5 . :
r . Oб::;;:;yФSi!�6ЭY..am!ir.i!�!C11 nc.и.Cp,�Зкcr:i�)�ar.!t�.-1
4 C'°5<»;-1>зoo,..,,.8Эo<cnnya"'uм:Jc1a""" .l�:>1м""";ec(k"'тc""
.. .
.
:��-:-�.m:�r -"'-"
:>:-»»}.»:-:O:-"*»:��.:xт...,.;-:X-»:<:m��:�:-:-:-;r.-�.-:� ,"�г:.=:��x-;�4,-.::.... ......
Рисунок 3 7 7
..�w.-:-w.-:-:==-.'"��>.���"
.o=*
ж'":'"
"°7.�
-'"'>"�
.
·-
..
.
.
. .. . .
.
. .
.
· -
""='"�"
-
!
;;1 .; i;
�
г 1I
�==:ll':�, �":,J
_
·
1
� � ·\
Как видим, н а закладке «Объединения/псевдонимы» у нас прописаны псевдонимы для
всех полей (Рисунок 378 ) .
189 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
. r· �;��· ·;·
j
·
Т�б�Ф; ;,
� ��я
i 1 j.
j:
,"
�
:!
•
: ����·!���·=� -�-�
-· ·
;;
-:
И?��
�· · ·
Згnрос 1
fp-y���:::i · (Усяо��я
с;;;:;_;,
'
·
�: !�==-- "
�
.. .
.
""
��....
·
���=
Д���:n11И:�е.::
-- -
.
no�1·;i
: Эа:t;:юс
'
,.Об�е;<щне .
·
··
_
.
. --
-
.
.
1
-
.
�� �----����·-- ·---��--�=:�=:�·.
,
··· .
. � ··
. .
.
..
Иrоrи
.
fЪcтrxs>'ll'e""
··
8i1:GJij��."" """.. . :;;:;;::���=:�:;Ь;; ;�.с�г��ти
�l'Ж .. (; 4 �;;,��1�BЭ.кcriл�a���.1<ormecre0Dcraroк
i Ко��
"с.
. ..
··
,
,
.... ... ....
................ ........ .......... ·· ·· · . ···· ····-��- ·
·
·
Номе.1ю1i!!','Рё1
i<o.nl1'1ee1J3.:>
�!.�. l:'or.-...;лar1µ�. ..................... ...
··
· -·
- --
:
··· ·· ·· ·· · ···· ·········· . . . ... . •··
.
.
Дажые ТЧ l'-й ЛИ<;еСП!О
. . . ............ ;...
.... .. .
.
.
�"
3an.. .
· ·
""
. .....
... .. . ..
. .. . ... .
...
.. .... .... ...
. ...
..
.
-
..
,1 �
�G
�� �
о
· ··------�-� -....:_
-·--···········:�
···········=���=�=�:.::_
·············
· · ··. ........... ...... . ....... ....--·«"'""""--.........."
. ...._.....
�
_
....... ... ...... · ·· ����������=:...=-�:...
.
....
jl
0""1ена
C"p;�iж<J
.
.......
;.=
.......
Рисунок 3 7 8
...
..... ..
..
.
........
:::
:ri
...
....
..
Обратим внимание, что если м ы что-то изменим в одном из полей, то и м я поля
изменится на «П ол е l » ( Рисунок 3 79).
� Г'О!�
=
.,ы
1..
f{ )
. .............. ":;� ·
�'Шi��51f!HR
ilа!-<нь.е ТЧ. Кt·л""'ес: то
Даkмь�е ТЧ.Ц:окЗксnnуаrаt.11tr'1
Об�
i)'
fД
О6а
...1еВЭксnл)'ЗТЗU<>!<
Jс1а1к;< СрскГODi'QCfИ
�дс�-tеВЭксnлsаn�1а� К.-::.Вft..ес пю()с:тат::!к
т.ю"u; " �. · . с..�31.
�.......... ...,.,
.. ,.,
� W) J C % ?
.
!
1
:
:
·
"
: ��"1;Y. B�.Л:Si:
, " � !FffiЧщ.�im
,....
·
'* Юnичес'!!!о
...... ......... . . .....
,. .. . � Cp<>y.:V.cn�a=f(-1
г:::����::
�
;:
i
·········· · ············ · ···· ······ ·· ····· ················ ·· ···· ···· "·· ·
·
:� ШЯiiii!@f\·Mi+i
flonel
.
д...:<Ь>�:ГЧ Номенкr:аr1�
данные ТЧ.l'D1•1чеС'П!О
.
Д...•.Ы ТЧ.Срок31'.сt1JТу.отаt;><•
i . ()ОО;>f""""
""' ВЭкоr.луатщ"'°""'""'·Сро�Гс�1
.
.
.
fw 06;;»1_....е:экоr.лrата-�"'°""'""'.i<'оm,....,�оос�то..
:<.
.
�
·.
·=
=
-
•
1
. .. ...... ........ .. .... ... . . . . . ... . . . . .......... ' � .. .
�?..::: ;.. ;. .9� .
-�
-----------�=
--�
��
�
��
�
��
��
�.=·····
Рисунок 379
··
·
··· �-Н���� · ··-
.
.
.
;..;.,, . Oi1.-���
.
.. ..
. ..
J
'.••
Ct�
J
�···�·-"·-�-.
.·
�
.
..
�
.
.
··
.
Данное наименование поля не очень удобно для использования в работе, поэтому его
можно переименовать вручную на закладке «Обьединения/псевдонимь1», после этого оно
меняться не будет При изменении значения поля либо его переименовании наименование
выделяется жирным шрифтом. Это означает, что в тексте запроса появился данный
псевдоним через оператор «КАК» (Рисунок 3 80).
190 Верн ый старт в lC www.work-lc.ru
88002 344322 Бесплатн ый звонок
"ВЕiЕРА7Ь
B!loдBЗ!!<c:n.;;�тa..w"!IOC r::v.=o:J<JioнeP.к...
'":.a'="./Р1Х . R�н4!н�гТ"/Ра КА:� НонеР.к..-:.а ":'yp :!!t; ,
О�!А
(.SъодS.Зксn�уа.•rг1:u'ИЮС;!И:=о�"�оJ-!�?i.:"'"-"!а Туры.
К�"'..ичес>!:1:5.О}
f'�K Каr.ичес't'ЪО ,
З!!оцВ�с.n..."!уате:uv"юС::исс!С'Jiсм��?С""....::ат-уры . Зс::м�м�.л�ту�а . СрокЭ�сп.r.уатаi.:,Ю1 :К..'\К
; �ОНЕСIИ1Ъ Д�Р.Н��r�
Срс:�!':с:-:Луа':."'rt:"�.им
i ИЗ
:
"�" "·
, .
, ,
i / l / ! l / l l f ! / / l ! / l l !ll! ! l l l l l ! l ! / ( l ! ! / l f f ! / 1 / / f ! / l !l f l i ! ! l ! l i !!lf l ! l l f f l / l lf ! / l l l l
Дав!'П::е ГЧ . Е.сне � �атур � ,
ДамР.!:i� ТЧ . Кс�ич�стао ,
'
Дам��ТЧ . СрокЭ�сr-�уа�аnиv.,
.......!.....
�or;>}:;'liii�ifii:i�:>'I0.1'ЯИOcтaiiili"'"iilc"'иi.
.
; иs
f , !
" ;J _ E З "{И t:' ;:: ' � -r - -:_,., .; °t - ":.i. " • :-"
Д& !'Н!!!е !'Ч
ЛЕВОЕ
1.
.·
::
КАК Д� �Ю:rе:ТЧ
.
� 7G-:'l Y }
111•. ····· ...··•
•
•
.
.
.
- ;;. р
• -:" E. r_ ' � 7 ::.':'':. !<
-
+
�
:-_
!<
, 'r
: -;. -=- ...
С'СЕДИ.�НИ!: Perиc: -:-pEэ.;i.tcr��eкv.� . Об�руде:еа�е.З.Зк·=n.А
.::; �� . Ос':'а:z:ки (
&Mar<i�HT���.н:�J-:-v.,
Rc�Y.�..Jia'I'�� Э
tЗНЕРАТЬ
·
.•
.Цак�ТЧ . Есм.е:н�-;а 7у-ра
'
� !"��,,.,��"":=-==,,-,.,-==""П"':=
О �="',",,.
,,,""",,,,-,.,�',-, =Т:
,,.,'
*..,·:,,,:, •'-,::=:,.,,:=_,"_,:,,_:,:, ,,,_:.",,,.,=:=--=:- ,,,�О=Р='\>�'Д�=-:аРисунок
::.В,:::,:�:�,:��:���=_::�.:К.��-�=:_:д,
3 80
И.
ИS
Да.н"1>iеТЧ КАК д""".ы"ТЧ)
Ср :::
н
�5r.сп.:z
уа-:-аuии • Д...Z;.ТА.ВР��1.Ч ( : ,
1, 1) )
к.nz.: С45срудо:!! а.в;.,еВЗ�с::"�уа':'а:ции0с "t"а �ки
,,..
_
·
�
-
-
, ."..,.,,,.,. , ""..,. -==�:
Теперь следует подумать над значением поля «ОборудованиеВЭксплуатацииОстатки.
КоличествоОстаток ». Согласно логике задачи, в момент проведения документа система
должна выполнять проверку на наличие остатка на складе, соответственно, будет применена
операция сравнения. Следовательно, значение «NU L L » для данного поля будет некорректным
и приведет к ошибкам, во избежание которых используем «ECTЬNULL» (если в таблице
«Данные ТЧ » значение полей равным «NU L L » быть не может, то в табли це остатков
«ОборудованиеВЭксплуатации » вполне могут оказаться нулевые о статки и эта ситуация
требует обработки) (Рисунок 3 8 1 ).
191 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ы й звонок
.. . ... . . . .... . . . . ... . .... . . .. . . . .. .. .. ."..!. •
. .
··
Дамr.,1еТЧ К.::1111чесп;о
=
..
; �
Пf'ЕДПАВПЕНИЕ
!ШIJ:д11:�2JJЖit;м21
.
.
..
..
.. ..
.
..
.
..
...
.
...
�.
ТИПЗНАЧЕНИЯ
Оборудо11ан"�е ВЭксnnуаташ1иОсr11тки .К:нмчес11ЮОс-таток
:.:w
.
•
.., :;.:а СЛераторь1
$:· D Ар\1Фмfп�1ч.r� ooepare�
1
:+; LJ п�кие nnepe5tn�
�;;;;
�
;.;; ;;;;
;;;;
; ;;;;
;;; ;;;;
;;;о ;;;;
; ;;;;
;;; ;;;;
;;;о ;;;;
; �у
;;;;
;;; а т;;;;
;;;о �иОс�
о=;;
; ;;;;
:;;;
;;;о о=;;
;; =..;
-=
; -;
-=
;;; -=----=-;;;;�;;;:=:
;;;
ЕС ТЬ
�
Ю LL (Об�рудс 3 ание.БЭ�сп...
а�
а т:!'С:И: . �..С-t:ИЧ е стзо О �та т о � , � i
'"'"·.
. . .. ... ... .
ПРЕДСТАВ!1ЕНИЕСС ЫПКИ
"" I!а;м,1еТЧ СрокЭкслnуаr=111
.
L.. Oб�PYQQ!!lilНl-'e ВЭксnnуатQ1>1Ост11r,;;� . Срокf0D1ocn.1
ff,J
.
Все лоля
========�-===-�--=�
Рисунок 3 8 1
Таким образом, если в момент проведения документа в базе будут нулевые о статки,
система выведет об этом сообщение, и далее с этим документом мы работать не будем .
По такой же логике, поле «ОборудованиеВЭксплуатацииОстатки .СрокГодностю>
�
теоретически тоже может быть равным «NULL », но, в данном случае, использовать
«ECTЬNULL» необязательно, поскольку если срока годности не будет и количества
недостаточно
на остатках, дальнейшая
работа с документом
прекращается.
Однако,
применение «ECTЬN U L L » к сроку годности ошибкой не является и, если в работе требуется
унифицировать код, во избежание о шибок можно применять к аналогичным случаям
«ECTЬNUL L ».
Одно из условий задачи - в первую очередь вводить в эксплуатацию оборудование с
минимальным сроком годности. Для его реализации на закладКе «Порядок» конструктора
запросов требуется упорядочить записи поля «Срок годности» по возрастанию (посколhку в
измерен ие «Срок годности» регистра «ОборудованиеВЭксплуатаци и » записывается дата
истечения срока годности, требуется упорядочивать по возрастанию) ( Рисунок 3 82 ).
·���};,:?;:m!1
.: Cн�ш:шs,ffl, �- . . .
�1 1
=
'
"�
! i
=
i
:•
!ЧJ,1;.Nеетео
. ! �.�;
СрокЗка�луа�"
•
+ = Бсе nом•
·
•
нш"енкnа rуре
.
..
. ····
···········::;
::=;::;�::; · · ·
....... ......
..
.. . ...
. .
. .
... ... . . . •
f.ii.C�;_;;;;J
аю1е
.•. Вщ;асr
><
•. t.::: i!
l .j
..
.
'·
. .
. ..
".
". . .
С)Реtо)<r>зря�•ВlН<е
. ..
.•
- "
. •.
.
•
.
.. .
"
. .. ···· ···
.
Рисунок 3 82
192 Верн ый ста рт в 1С www.work-lc.ru 88002344322 Бесплатн ый звонок
R1·
fj ! 1
� : 11
...
··::::.�·=:�:�· ··!
' (}�;.; i;;."�
·
Обратим внимание, что одной номенклатуре может соответствовать несколько з аписей
с различными сроками годности и сроками эксплуатаuии , но, тем не менее, когда мы будем
проверять, достаточен ли о статок на складе для проведения документа, нам потребуются
общие данные по номенклатуре из таблиuы «данные ТЧ ». Следовательно, нам также нужны
и итоги .
Для настройки итогов на закладке «Итоги» конструктора запросов требуется в
качестве группировочного поля выбрать номенклатуру, а в качестве итогов - указать, какое
1. !"]�;�� ": ·· 1 г���� гр;���� '• (1��:-�г���:;;;;:�� : " "
кол ичество есть в документе, и какое количество есть на остатках ( Рисунок 3 8 3 ) .
j
!\I
j \
!;:
111
=
·'
�о
=
СроосЭкс:.11",-аташ�
·
�
�
J
,1
),;>
.
�---..,_.,._....N
..,
П р и этом,
" " ." ·
Элеченть�
, ____ ",,,,,"""""",_""""",,,,,,,_" ______
"",,,,", • ""
."
. , ."
""
· "
"
"
"
·
.. .
"
Н.:t-i�лai;•
,_"
•ш•ш •
•
"•
"'"
" """","_",",",_",,",,,"
:
_:.!, {_"li,".·•_i
•
. �flE:�
-
. , "•
'.·�. -·
·
:
•
:� !
.
1 � !���;;������:�.:=���:��:; 1 111% j j
" �!•
! C�J
'>..i.·J
! 'lL!
11
[""=:":�:��,;;;/,",.." ,_,ш.-.-.-"
ш ,""""""",,,00="='""" '
:
На.l�лаrу
=
! ""
i г;;··1 С)){<,(,� "-'!С"1
'
Сроi<ГGДНОС1>1
j!1
�
""
f[<J
..
когда м ы
!<:�1'01чеспю0с�юк
"
»Ш
"
.
" ",,,,..,,,.>"д"",,, ", """Аm",>"о . ш. u.
·� •
! :· ··
• СУМfl:ИКоn<"'4еСП1о0спш:t<}
,
;-;:::�
:
YN.WN.....•.,... ...._
.,.. -�v.•;.•;;,rN,•N.___,...,.NN.•;н.v.w.--V.VoV'oW
''
."
",,;;;,;�;;�:;::: },,, "�:::�"",, '"'"""''''"''""''''"';:;;�:1:::.:;;,,:"'";.?.J'!!��")
"'.�'''': ;
"""""
••
Рисунок 3 8 3
связываем
таблицы
«Данные
ТЧ » и
«Оборудование
в
эксплуатаuии », количество номенклатуры, которое есть в документе, может задублироваться,
поскольку в таблице «Оборудование в эксплуатацию> на одну номенклатуру может быть
множество строк, и позиции из «Данные ТЧ », по этой причине, могут повторяться.
Следовательно, мы не можем использовать функцию СУММА применительно к полю
«Количество», рекомендуется использовать функцию МАКС И МУМ для данных табличной
части (Рисунок 3 84).
В результате получим итоговый текст запроса:
"ВЫБРА ТЬ
ВводВЭксплуата11июСписокНо.11енклатуры. Но.11енклатура КА/( HoJ11eн1mamypa,
СУММА (ВводВЭксплуатациюСписокНо.ненклатуры. Количество) КАК Количество,
193 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
ВводВЭксплуата11июСписокНо.�1енклатуры.Номенклатура.СрокЭксплуатации КАК
СрокЭксплуатации
!ПОМЕСТИТЬ Данные ТЧ
!ИЗ
1
Документ. ВводВЭксплуата11uю. СписокНо,ненклатуры КАК
ВводВЭксплуата11июСписокНо.ненкла111уры
! ГДЕ
ВводВЭксплуата11июСписокНоА1енклатуры. Ссылка
=
&Ссылка
! СГРУППИРОВА ТЬ ПО
ВводВЭксплуатациюСписокНо.менклатуры. Но.ненклатура,
ВводВЭксплуатациюСписокНоменклатуры. Номенклатура. СрокЭксплуатации
' ИНДЕКСИРОВА ТЬ ПО
Но.иенклатура
1:
j '11.t'
1 1 11 11//!11/fl/l////!/!/l///l!/lf'!//!//
//!l/l!!l/////!!l///ШI!///
! ВЫБРА ТЬ
ДанныеТЧ Номенклатура КАК Но.ненклатура,
Данные ТЧ. Количество КАК Количество,
ДанныеТЧ.СрокЭксплуатации,
ОборудоваNиеВЭксплуатацииОстатки. СрокГодNости КАК СрокГодности,
КоличествоОстаток
« ЕСТЬNULL »(ОборудованиеВЭксплуата11ииОстатки.КоличествоОс111атоk·, О) КАК
! ИЗ
ДанныеТЧ КАК ДанныеТЧ
ЛЕВОЕ СОЕДИНЕНИЕ
РегистрНакоплеNия. ОборудоваNиеВЭксплуата11uи. Остаmk·и(
&МоментВре.+1ени,
НомеNклатура В
(ВЫБРА ТЬ
из
ДанныеТЧ Нш1ет.:латура
Дштые ТЧ КАК Да1111ые ТЧ)
И СрокЭксплуатации
=
ДА ТАВРЕМЯ(/, /, /)) КА/{
ОборудованиеВЭксплуата11ииОстатки
ПО ДанныеТЧ. Но.неNклатура
�
ОборудованиеВЭксплуата11ииОстатки. Но.менклатура
1 УПОРЯДО ЧИТЬ ПО
СрокГодности
� итоги
194 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
МАКСИМ.VМ(Колuчество),
СУММА (Колuчество0стато1')
I ПО
1
Но.11енклатура "
Пос мотрим на дальнейшую обработку результата запроса:
Пока ВыборкаН оменклатура . Следующий( ) Цикл
Нехватка = В ыборкаНоменклатура. Кол ичество В ыборкаНоменклатура. Кол ичествоОстаток;
Если Нехватка > О Тогда
Сообщение = Новый СообщениеПользо вателю;
С ооб щение. Текст = " Н едостаточ но оборудования " +
В ыборкаНом енклатура. Номе нклатура + " . Не хватает " + Нехватка;
Сообщение. Сообщить( ) ;
Отказ = Истина;
КонецЕсли;
Если Отказ Тогда Продолжить
КонецЕсли;
ОсталосьСписать = ВыборкаНоменклатура. Количество;
В ыборкаДетальныеЗаписи = В ыборкаНоменклатура.В ыбрать();
Пока Выбор каДетальныеЗаписи. Следующий( ) И ОсталосьСnисать > О Цикл
Если В ы боркаДеталъныеЗаписи.СрокГодности < Дата Тогда
Сообщение = Новый СообщениеПол ьзователю;
Сообщение .Те кст = "У оборудо вания " +
ВыборкаДетальныеЗаписи.Номенклатура + " срок годности истек " + В ыборкаДетальныеЗаnиси.СрокГодности;
Отказ
=
Истина;
КонецЕсли;
Если Отказ Тогда Продолжить
КонецЕсли;
Колич ествоКСписанию = Мин( ОсталосьС писать,
В ыборкаДетальныеЗаnиси. Кол ичествоОстаток);
11 регистр ОборудованиеВ Эксплуатации Расход
Движение = Движения. ОборудованиеВ Эксплуатации.Добавить();
Движение. В идДвижения = В идДвиженияНакопления. Расход;
Движение . П ер иод = Дата;
Движение.Номенклатура = В ыборкаДетальныеЗаnиси. Номенклатура;
Движение . СрокГодности = В ыборкаДетальныеЗаnиси. СрокГодности;
195 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
Движение. Количество = Кол ичествоКСлисанию;
11 регистр ОборудованиеВ Эксплуатац:ии Приход
Движение = Движения. ОборудованиеВЭксплуатации.Добавить( );
Движение. В идДвижения
=
В идДвиженияНакоrшен и я . П р иход;
Движе ние.Период = Дата;
Движение. Номенклатура
=
В ыборкаДетальныеЗалиси. Номенкла'I)'ра;
Движение. СрокГодности = В ыборкаДетал ьныеЗаписи. Срок Годности;
Движение . СрокЭксrшуатац:ии = Дата +
ВыборкаДетальныеЗалиси.Сро кЭксллуатации * 24 * 3600;
Движение. Количество = Кол ичествоКСлисанию;
ОсталосьСлисать = ОсталосьСлисать - Кол ичествоКСлисанию;
КонецЦикла;
КонецЦ икла;
В обработке результата запроса мы проходим в цикле по детальным запися
по
1
номенклатуре, проверяем о статки в данном фрагменте кода (Рисунок 3 8 5 ).
-�-
:.
�.::.Yt1
"d
3:...
�...
� y�a.�"���r.;a":"�po.. C.!!'!:;JY.t'IZ.V..'1. ( ;
:��:·�·;s
I:;>�.��:::::: � �,�:��:;.;; ::������c.<:� 3�e4�tt;
�-:>:�a:zx: ... Эt,,� ·:: p xe
:�:щ.�м."1a ·rJ:'8j: . K::·r:ii�-= c:z� ::>
-
�
t::t-c�к:. :!::·}
i
�
""
-'Sry;>г. . IO:-.r.и-..iec:z!;:)!;-: , t.-:-·:: •::
::cc!Nie�Jo!�. Техст "' ·��.:sссо;ет::-ч.н·:· �бср:;;J.:>!6.Н:U.а
�.;:���t$.XC . ::'.:-::t�i'� : · '
:���и;.;;, ;
:>: :>.•u !: c.,x;
11
: St.c.�·��Y.a��И!'J.O:O:lJ::.S ?.::.,..-..!:H!"-"J-S'f�';>:.
�
?.:е хеа�.а�о:>
•
•
.
... ____ ...,__,........_. 1;
·
i.
·
•',: · · ·H
.
,,
',
:
':
':
·, .
::�r.A 1)-:�1.� r:-:s.-ц�
!: ·:· E � i.!�:;r.x ;
C-::'?�;;vcь :t:.;.:c: z�
?.ех�.:.':'�"а :
.
: ...
�
р.;.;:f3с;:��:-i:)К·�.юе:.4�-;>з .К.:.до1ч�с?���
" &::ес�кА..�:в��:-�":'!."1'у1�• . ���sтt. • : ;
--------ь. --------------------------------::::::-�
-: Еь.���";:,� �а..;_��е�с::"
л::и . ('де:� : ) ?! Сс:ж��-=ъ�с"z:: � С �щ·�":'
Е(.;.;:Х St.t.�·.:::;.!"',lД�т::..":::�:.:f:3���11. .��Y.r''C����1! < =-�'!3 '?.":":·:�
1:�'i���� = ��, ь;;;;.:;, �:с<":��иУ.�.�-�..���'°'-��"':'�лr:
�ссе>.;:!".:�И� . :���с7 а- •у .:�6с�;,'д:>!-аМА " .:. 3��р r:: ?.д.�z��-=-ь ни�аr.v.� . H:-·t9t.�.t-:::.s'i'y;>!
::.:'!'r..ll :! " :: ::: -;:-:��1�;
к�·::::�::�';;;.>< :
', ·
·.·
Kc.r.x'-e.:-:�:::K..:.;:Y.::.�1"!.;.x "" ?"
".1! (::..:��..:�-::ь..:.:-...:.-�а-:!:,
,· !
l . "!
�
•
ci:.::r. H·ШiVc':Lv.- и�or-l!x •
.:.
д_!.,..:t:�t'".v.e . !�::....a-:--i-::-::·1:sc
•
!',
��
1
�
:"�
; �
. .i
!
�-::;жг:д-::·:-�"":::.J:Ше�а!!У.�. Kcт..:-i•e: .:. ·:o�-:::�c'!.i.�"'�) ;
E'I
�.:·;-:���'Z�":'.Ьm<�3!.ПJl:CY. . =-�
�::
r.
.;o:!.:z:-; !. ;
д��ниt: . ��
�"1::�;v;-;c'!-'"' � F..t..� 'iy Щ1t"t"�<:!�мtA:.!o..:.�C\( . ��;x;zr.:-��
cczи,·
..
:
5��:.vмJl�>z c $!�H�
� 'am-!.cY. ::;;:.т..:'v::ttc:::т/. ·
�� :-v.::: 'lp С�::�1;:с � .!.ХИ � �'\"'"'
:сr:::;,·.:!; "!"г:;.;;.�: E-·�::x:>t
_;,3�.&.t:IO!� . М-:!<.е�-::��У�!. ,..
�
_J �
Е��-=�7.�е�м� Ю:: �5 а::х .: ;.!
: ,_.
�
!,
:.;_;,...�:t��:'Ж/.Z�
==
,j.
I. !'1
.
.:":"lC.0.::5 ••
••
;
�
t:.C-J"iИ:iec"!'%:..t:C;;.r..::��v.».
Рисунок 3 8 5
5 . 1 .2 И н д екси рова н и е.
Рассмотрим индексацюо, которая имеет смысл только для тех полей, по которым
связаны
таблицы
запроса.
196 Верн ы й ста рт в lC www.work-lc.ru
П оскольку
таблицы
88002344322 Бесплатн ый звонок
«Данные
ТЧ »
и
«ОборудованиеВ ЭксплуатацииОстатки » в рамках запроса пакета 2 связаны по полю
«Номенклатура», и ндексировать мы также будем по данному полю (Рисунок 3 86).
, :т.���''� � t.t.�i :1 : �в;�; • 1 : : r��
�:�: ! :f.���1�;;� :;:�2�\����. J : Oii�����i���;�·· i c ��::....."�'.:f!.".! .::��;�5��::•: .;.;к��: ��::,��::l ..........
·
1j �/i! ;·� � �
.
.
·
.
.
.
·
.
.
· · · · ·
�. .':��;- -��т�
�� Мl!llflf
..
ТЮм.�о 1
·
.
.
. _
. .
.. ..
. . . . . .
fi ,.Те!И.2 2
rv�
.
.
-
........
,
.. ..
,
.
. .,
. .. .... .... ...... .. ...... .. .
• r;
. .. .. .... .... .
.
·
..
.
.
.
..
..
П . Yt:mtote C!!>.-»
f�- - �����;��:!�!��:O.�:: ... ��) [�:
·······················
.
Q
.
...... ..
.
. . ........ . . . . . . ........... . .. . . .... . ... ... .
. .
. .. .. . . . .
. .
. .
. .
.
. . .
..
. .. . . . . .
.
.
..
.
.
.. " . . . . � · ·
. .............................
� �.r�!.�..... ................ . .. . .......... .. .... .. :.. .�--� aщri�BЭ<=nr.ja-r&i..,.OCn"П<'�-�---
t' :
• [ (=
•
··· · ·
·......
•
·· ·· · · · · · · · · · · · ·· · · · · · · · · · · ·
· · ···· · ··· · · · · · ·· · · · ·· ·· · ·· ············· · ················· ·············· · ···· ··· · ····· ······ · · · · · · · · · · ·· · ·· · · · · · · · ·· ·· · · · · · · · · · · · · · · · · ······· ·
·
!,; �
� �
-5
1
j
Рисунок 386
Для небольших таблиц большого смысла данное действие не и меет, однако, для
таблиц с большим количеством записей индексация может знач ительно ускорить время
исполнения запроса.
Перейдем
на
закладку
«И ндекс»
конструктора
запросов
и
добавим
поле
«Номенклатура» ( Рисунок 3 8 7).
Рисунок 3 8 7
Итоговый текст запроса выглядит следующим образом :
"ВЫБРА ТЬ
ВводВЭксплуатацuюСпuсокНо,11енклатуры. Но.ненклатура f{Af{ Ншwенклатура,
С.VММА (ВводВЭксплуатацuюСпuсокНо.ме11клатуры. Колuчество) КАК Количество,
ВводВЭксплуатацuюСпuсокНшненклатуры. Ншненклатура. СрокЭксплуатацuu КА!{
СрикЭксплуатацuu
! ПОМЕСТИТЬ ДанныеТЧ
� из
1
Доку.,1е11т. ВводВЭксп·1уат011uю.СпuсокНо.не11клатуры КАК
ВводВЭксплуат011uюСпuсокНо.менклатуры
I ГДЕ
1
ВводВЭ1'сnлуата11шоСпuсокНо.иенклатуры. Ссылка
=
&Ссы.'lка
! СГРУППИРОВА ТЬ ПО
ВводВЭксплуатацuюСпuсокНо)11еню1атуры. Нш1е11клатура,
ВводВЭксплуатацuюСпuсокНо.ненклатуры. Нщ1ен1'латура. СрокЭксплуата11uu
! ИНДЕКСИРОВА ТЬ ПО
197 Верный ста рт в 1С www.work- lc.ru
88002344322 Бесплатн ый звонок
11· .
Но.ненклап�ура
I/' / '
·' /
! ВЫБРА ТЬ
' ll;/11//ll//1///l///l/ll//1/l!/!/ll//I//
ДанныеТЧ Но_,ненклатура КАК Но.ненкла�ра,
Данные ТЧКолuчество КАК Количество,
ДанныеТЧ СрокЭксплуатации,
Оборудова11иеВЭJ..·сплуатацииОстаткu. СрокГодNостu КАК Срт"Годности.
КолuчествоОстаток
«
ЕСТЬNИLL»(ОборудованиеВЭксплуатацuиОстаткu.КоличествоОстаток, О) КАК
I ИЗ
Данные ТЧ КАК Данные ТЧ
ЛЕВОЬ' СОЕДИНЕНИЕ
РегистрНакоп.1ения. ОборудованиеВЭксплуатацuu. Остатю;(
&Мо.нентВрел1енu,
Нол1е1-1клатура В
(ВЫБРАТЬ
из
Данные 7'Ч.Но.ненклатура
ДанныеТЧ КАК ДанныеТЧ)
И СрокЭксплуатацuu
=
ДА ТАВРЕМЯ(l, 1, 1)) КАК
ОборудованuеВЭксп.qуата11uuОстатки
ПО ДанныеТЧ Но.менклатура
=
ОборудованuеВЭксплуатm1иuОстатки.Нолrенклатура
1 УПОРЯДО ЧИТЬ ПО
СрокГодностu
! ИТОГИ
МА КСИМУМ(Количество),
СУММА (КолuчествоОстаток)
1 по
Номенклатура";
5 . 1 .3 В ы б ы т и е оборуд ова н и я.
Далее разберем запрос из документа «Выбытие оборудования ». Для этого откроем
модуль объекта документа и перейдем в обработку проведения ( Рисунок 3 8 8).
198 Верный ста рт в 1С www.wo rk-lc.ru
88002344322 Бесплатн ый звонок
1:1 t.% 01!q)blfu мадуr.ь объе�;та
........
!" ..."..."r�одуn
.
i��" Ожр,1n.
ь менеД)f.:ера
· :···· �w· -vv�•·cv·
·
-:�> §f i<oнCTa!i'IЬI
r+;- f.Ш Сr.раво4ни1щ
(:" CJ
1
�
-
""
,
i
Lloкl'f"leнть1
�
·
tlумераторь1
01-кр:эн;, 11сt10вну?1:? ФоDrч1у Gбъе11та
1
::t Лоследоеа тепьi'!\
е
ПрИХDдJ"lа$;Накr,�
Рг�=днаяНа><лсi1
lИзмеi'i
ltl!ПIенмШ�!tеСос1
Начисленv.еЗарг/
!
ВеодВЭкс:лл)'о'!l!!
·У
"
�1
Жур-iалы
,
\�1 О'Nеты
r 1
+ а
'"·:f
(t;
Оnерё!Ш•R
_
док1мен1· Г"@:с
1 Я!.. .
1 i:J
n--·
�исrения
,..,
(?
1
i """
! �
?'
Г2
Изменигrь
,Qсбаа1чъ а рас·u.мрение
Рисунок 3 8 8
Удалим запрос из процедуры и вызовем новый конструктор запроса.
Следует обратить внимание на следующие нюансы задачи: сложность в том, что в
задаче
прописано
условие
расчета
себестоимости
по
средней .
Следовательно,
при
проектировании структуры метаданных, мы не м ожем использовать для хранения данных
расчета себестоимости регистр «Оборудование в эксплуатации », поскольку в нем содержатся
такие измерения как : «срок годности » и «срок эксплуатации». Если м ы поместим данные по
себестоимости в этот регистр, то она будет рассчитываться в разрезе дан ных показателей, а
не по средней. В связи с этим , в структуре метаданн ых конфигурации содержится еще один
регистр «ОстаткиНоменклатуры » ( Рисунок 389).
.
.{
<!>p•�'1-il>'l<!rt.�V-��tni�1 !
{ � дr.t-:t:�ie-
fJ l' X ·# � ,J
· <":. ва
l._
...
� �MГJ'Pd
. """"'"" �"
4 C'i""'•
� Ре-ке�3ИТ:)f
.,,
.. , .:,
� ...: -. :-�:�:.; ::. �
,, , -:.,.
.:
.
.
: . ..",
.
Рисунок 3 89
.
__
__ __
_ __
_
Соответственно, когда м ы приходуем документ по «Приходной накладной», документ
делает движения по 2-м регистрам (Рисунок 390).
199 Верный ста рт в lC www.work-lc.ru
88002344322 Беспл атн ый звонок
;'
....... 'f'-1ft�;�a·��7
�и J
, ...j��-�-�': .,.,. ".;. . . ., ,., "... . . .;. J
!
•• НУмер>11Ц1:!11 ! . . . .
... �
.-'
· ···························· .........
<
Лодr,,ис1емы
"
....
., .
1>"� Движеню1
.
.
. ...
...,
,_.
....,.,
_ ....
!
.
�.�
-
�
..,. .""."" " · ·· · ·•······ · · ··· ··
·
ЛослеДJЖа•rе.пьмостlf
"
·
.
.... ··· · ········· · ···
Фсрмь1
Лоле
.•.. • • .
. .. .. 1
... ..
.
....."... .[
".
.
..
."
• ····'· ' ··�+'•'· •.,с-.с. .•••..•_.". •
·
ввода ·
�Ндьl
'
• ..
j
..,. ,
..................}
ГУr.алятъ а������i
в
•
ш:�
·1:,,м
uмт
1В
�
�:1N
J
: ' �гm
: <•:• i!i) Реrис;ры
... ... . .... ......................................... ......... ;..,,,,/
.
______ -
1
.'f·
• :.;..
�!. •
!
!'tj]
[:!'!
накопления
Регистры 6',?'.l" а,1терии
Реп1счзы расчета
Мак.еrы
НоменклаriJ)Ьt
аниеВЭксп;1�атаwм
Рисунок 390
В связи с этим, в обработке проведения документа «Выбытие номенклатуры » нам
нужно получать данные из табли цы «Оборудова ние в эксплуатаци и », в которой нас
и нтересуют данные по тем номенклатур ным позициям, по которым просрочены срок
годности или срок эксплуатаци и; из таблицы «Остатки номенклатур ы » - данные по сум ме
оборудования.
П ерейдем к построению запроса.
Для
этого
в
конструкторе
запроса
обратимся
к
таблице
о статков
регистра
«ОборудованиеВ Эксплуатации» и зададим параметры виртуальной таблицы (Рисунок 39 1 ) .
�1 �3=и�D8!811!1
t&ffiч�.H"
:�?J !r��'J!i:il� ��f
i Taб:w't.ibl
· ·
���;
t·
;:�
�!;
,�:"·�
·�;
•
•�:
РегИС"ТРЫ Накоnnен,м1
1\
L#J Ocтanw.J..="'�лar,-pы
·��J
Ci.)
j:#J
Ос-tаткwн�,...е.а..-.J1 r;ры Об,зро.,,,;
Ост�tl'".i�!-'.о�-ен;<:лаТ)-р� .О:!аоо1
Остаnо&Ноf-1'.енклаr1ры.ОстаlЮ1ИОбороты
Н.• О&зру"'зе<SН..., ВЭксn,'1)'4'"�'"
Оро
[;�: ООО�:;рВGНЖ;ВЭl\сn11уаТс1�<1<.ОО1Ь1
:4: t�:.ш.щk�iЬдЫ+�i·ii!Ыi!§,+Hi
l Зz!<р;х:
; _=
;;;: _
;; ;;:;;;
Ь;;;;;;;;;;;
·..
····=
:.:.c.�-=
c.
.
:
:
:
:
:
:
c
:
�
:,
�
,.,.x
__
,
.
z
i
·'"""
:.:д:::::,:::.::,:.:::z.
li
1е;мо;.
... . . ··· ·· ············�
·
""��1
i
_
[�-""��- -----
>OJ г· ·
............�
�
. .". . . . . . . . . . . .... . . . . . . . . . . . . .... . . . . . ":.:.-, 1
t. ... ...E! J
.
..••.
=� J
Рисунок 39 1
_____
J.:.i
; :
1
l,� JI. .
.
Важно обратить внимание на условие, которое нужно накладывать на срок годности и
срок эксплуатац ии, которые должны будут истечь до момента, заданного в параметрах
виртуальной таблицы (Рисунок 392 ).
200 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатн ы й звонок
�� ·"'' '�'"· ' · ' ""'"�'m"•-'•� · ·· ·•· • • ·• •·• • •• • • • ••••• ••• • • •• • • • •• • • • • • •• • •••• • •·•• · ··•••• •• • •• • •••• • •• • •• • ·• • •• • • • • • • • •• • •• • ••• • • •·• • • • • • •• • •• • • ·• •"••••"" " '
·
i!. .vш.•.•.•,-•
c·:"··91(�_: ::J г .о����-:J c"�j����-·.: i 1
.
Рисунок 3 92
Здесь следует обратить внимание на следующее : у оборудования, которое еще не
введено в эксплуатацию, значение реквизита «СрокЭксплуатации » не задан и равен пустому
значению. Как мы помн и м, применительно к значению типа «Дата», пустое значение - это 1
января ООО 1 года, что раньше любой даты. Это значит, что таким условием мы спишем все
оборудование, для которого срок эксплуатации не задан, то есть все оборудование, которое
зарегистрировано в базе по приходной накладной, но еще не введено в эксплуатацию.
Это условие не удовлетворяет решению задачи, поэтому требуется изменить вторую
часть условия после о ператора «ИЛ И >>. Ч асть условия по сроку годности удовлетворяет
решению задачи, так как срок годности у оборудования остается неизменным и его истечение
не зависит от того, находится оборудование в эксплуатации или нет.
Усложним выражение по сроку эксплуатации, сравнив его с пустой датой (Рисунок
393 ) .
. ·1
i1 · ·+)
1
!
i
! 1I
i
�
!
�.:
t." Номенкла;ура
: СрокГод.чосn�
!....
. ..
-
j
1
СрокГодно с ти <=
Jrл
и
и
! t.:�����--�1 · ··
1
.�·
�:.
{ :=::;:;::;;;:;;;
;:.::;
;;:;;;;
·;:
;;:;;;; ;
;;;;;;:;:;;;
;;;;:;;
:=::;:;:
;;:;;;;
:;:;;;
;;;;:;;
:=::;:;:
;;:;;;;
:;;;;; ;;:.:.:;;;
;
:;;;
;;;
:;;;
;;:;;;;
:;;;
;;:;;;;
:;;;
;;:;;;;
:=::;:;:
;;:;;;;
:;;;
:;;;
;;:;;;;
:;;;
;;:;;;;
:;; �---�
i 1
!
Р.е
О
_"
·
&Но�н;� �.т
. .
.
_ _
.- ··· · -.- . . · · · · ·· ·· ··· · · .- .- .-. . · _.. . . . · . ... ....._.._._.. ._ ._._.._._. .._._... _. _
..
_
. .
201 Верный ста рт в 1С www.work-lc.ru
.
t. j
�;...
....;
! �
i
···· ·1
.. . .. . . . . . .. . . .c�.-.�.J
с,: :·:: §к.::,.::J c: o�,��"_J C srii���� � ·: ::
Рисунок 3 93
88002344322 Бесплатн ый звонок
Далее выберем все поля из таблицы «ОборудованиеВЭксплуатации » и поместим их во
временную таблицу «Оборудование » (Рисунок 394) .
···�
�
·
;���
�
�
���=
�
�f
��
�
::�:�
�
.:
r:
c
�
t
�
.
=
�
�
j
;.�
1.·
��
(]
-_
--
Ре.-ис1Рt>•Нак"'1 лениi -'
баи.: Ш7tь-:Х.
��}
1
�
{�>
·
:t ·
•
�-.::
:А
. ..
.
...
..
'
"
[;�!
�#
: �\>
.]
f fТiOПR
:_
! .. .
}(.
. �1: .?:'
:
06..-уудо11!!r!11е ВЭ11сп,1у�1ё1u�<>tОс�тки.Н�f<1еНКЛ�rур.!
Обе:ру.юеаю.1еВЭксn nуа�'и0стаТУ-И.(рс,кГ�.QtiОСrr1
'
J
_
_
_
_
_
_
_
_
_
_
_
. :_
_
, ....
..._
.CД:-f.-:J::.:e n,.'1M восnе;о:щ
с:де:rt:( И$tl';�t1t:f1:И'i:::
�с
.
bl
�
1,
=--
�у;:ю11!!Н1еВЗксп,1у�та<S"'.ОС�тки.Ков�чеr.пюОст�m:к
-�-sан\-"-:-11-"б_
-:-:�
i""'�
.
·;
.
..
t .• О&�уд,.зе81ие83ксn�"ус'!а1.1М1Оста:лси .СрокЭксr:nуа��
4
r__· ,Вы5о;жа тзиных
. .. ...
.. .
oon·y·"t�N'.Ь�
� -
r
��
·r"'l 3�
С� без. nо�-:ор��я
Гj Рэа�ЧD.fе
... . . .... .. . ....... .. . . ..
.,
·� ( '_°",: Enox.11P08Z:Ъ
4
�
)(
BJ,.1f1liJi!iJЫfJ,4)!J:l4,,.j!Ш
1·ro�1.P:
t-;.bl 1Jстажин�,..J:�
[;�J ОсrаrкиНСt4енк��
д ОсР.111<11Нсме...кгJ j i, <:..
ti:J Оста1киН�УJ"� :-� :�:�,
СJПервые<
1
� !tf ,f
.
1
J
�
1
,.••
Рисунок 394
Сразу проиндексируем поля, по которым планируем связывать таблицы и добавим
новый п акет запросов ( Рисунок 395-396).
i :f�r�� ·�.����
1 : •·•
� �
�.!
�
�
j
·•
...............
С;;нзкЭк:сnлу�1а�•1
Коnи�
..сТ!l�Оста1ок
............................. ...............
! ���=
!
•. ...... .................... ...........
.
!
j .�...'
1 �;�;.
· ········ ··· · ·
� Lm
.. . . . ..,
: : -< < :
:
-·----
Табmщ и nami • . ! . . Г.?'
���J
Рисунок 395
1 ���-----"---·---�--·
.
.
! Ycn�11
"-
' .P,trюrнitenь№ .•
.
r
ql������.�··
- · ----- -· ·-
!Ър�
Итr.л1 ...
- · ·---------
-
.... . . . . . ..... ...
j з"'"РОС:'131'"� ? .
J . .
! - ·.:
i
........
. .......... ...".".".""." .. . ......."",,..,...""..•.•,.н.,....,......""_.. .......""."-.нм·•"··"•...,,."....................•.,....,.,".... "....".......... .-"ш. .-.-..•.",.,ш.-".-,..."" •. "•..
!
•·
_
"..... "�-·..·.······ ·...."
��,±
.:
[��::-ti���;;
.
i
• , , .,
"
...Г.�tрсrtтело.
П<».ат �э
... - ' .
'
.. ..
.
... ..
:.он..•·'""•·'·· · ·•••.. . ·"···· ·
•
. -�
!!
!
1
. · · · ·1>··· .�
.
�
....
о-.�:::':<:" l..Эf:-""'"'
;
i
.=:-:�·:·:-:-::·:-::�x*:-::.�x
,:�;«-:,::.�·:,:-�
:-:-:«
w
·
:.-:
-:-:��::�::.::·�·�,:,:-x��«
��«««W«
W
Н.«:::·:
«
,:щ���«�-:-:�:.:
:w.:� :«:w.:.:.�;.,:.x-:::w..xr.«:.,::-:-:�-:-:-:-:.
:-:-: -:-..,..«:.·w.·
:::-:-:��,:,:,::::,:--.,:,:; .;;.;.;.:,.:, ::::-:·:::,-.;.;;,:-:-:·:-.:::.:«
:.::: :;:.:-.::;.;:,:::·
:·: :::::,:::·:-:-:::� :-:-:·: ::-:-:-::: ::::
;·::::-:::;:-::::-:-::::::x -.:::: :: :::: ·:-: :.� :--�::-: :-::�·:.:
Рисунок 396
Определим состав таблиц пакетного Запроса пакета2 . Нас и нтересует виртуальная
таблица остатков регистра «ОстаткиНоменклатурьш, в которой зададим тот же период, что и
в таблице «Оборудование» (Рисунок 397).
202 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
.
,1' ••
!
,., ••" .......".• •"......... . _." ••••�У.'"�
Та�r:и:JЫ �' nt,n.t\ �
� � 'Ь!
· �з�{�
·
j!
11
1
�,
(·
·
1
�
·
:
.
�
"
�;
()
.._
г;���<Э . l. :>�i�;,� .. ���;!����·· " �.����ii1i�� :·
.
1 J :: ::
}' � }
·
·
· ·· · · · · · · · · · ·
·
�Р""И""""''"
� П11аt-Ь.1Вш:юеХаоактер�,с'П-tУ.:
1t Г:ла-.. Счетое
3 f'!Лii»'Ьl8t1..x>e.Pac�-en5
� ?ernc-ipы(;eeJ>et<>•�
·
1 �; :::1 l[�:�'"a::.::::::�. Оборо�1
!
..� . .
�'
�:
.t
� :
·
·
l,f. �:� : :
�
1"aбt%�t.Ьf
.....
\
·,·;-:-;·;:·и,·: ..��
·
':
�� '<'q
# х
,.���.... . C�i:;;;;:;;
. >.
.
·
_·_·j
... j
·····
·
·
· · · · · · · · · · · · · · · · · · · · · · · · · · · · "'"
·
·
·
·
·
)j;;���:;;;; .
,,"
''"
.
1
�
i
J
" �=��:� ':., :.<O: :±:i:::± ,:,
;
"''""'"'"''-'""''''""' ''"'"""""''
Рисунок 397
.
.
r111r:}:'"''""";:. ;:Y:;��;:
.
t���;J�-H�A;�
· ·
. .. ..�
.
Ос1��t1Не!..,�.кr:.г1)�'
• :+ 1�н,-Н
\.iШ9ШйНФФNЬ"1Ьlй
':''' r;�J 0:т��.-,H��f'�_ГfPЬJ.0::T�ftU'�--
i!ft it"Ji
, ,_,,,..�1.шllfl
'·
с •,: :":-. �
,,
,
.
�
�
'
·
�
·' ·
Далее создадим еще один запрос пакета, получим данные временной табли цы
«Оборудование» и скопируем фрагмент текста запроса к временной таблице ( Рисунок 398399).
(·''''''''''
Т'а/,1� "
t
.
. _
tOO(
. П<'iЬ
_
rroc
· ·_
-'-'
�
�
�
�1t
--�
l(.;.,_
. f,p
. ъe
�
..;;.,.,.;
·0Si!
�е
_
я;!f1
"
"
,
�
.х.
·p;;
.,;.,
_
,.,.;
_
._
Об
_
_
_
_
,_
о_
:�,,,.
_
�
пж_
ю
_
_
_
"
_
_
ею
А_
_
"_
_
оов
.::_
У_
_
_..
_
.
"
�
,, ""
'-ж.
,�;;<fm.1'
""n� .. ".J],>
.-
•••••••.-1••••v.,.•1••-.-..,
l i ��
l1 1� �
::' � �
i
..
�
···· ·
·
.
;1 ·•
(.
•··•
·
·
;;,
·
•
· · ······ · · · · ·
·
··
··
'" ;: J Пере�.мсnен�1�
��
Пnань:Вt.,а...""'5Х.аракrерисr�
..
j i + � ПnаньО.еТQб
� i 1-� � П�iВиа:еРес�е"П!
·
�'
!i ·,.\ ':.:
<1::
�
.
...
·
·
�
_,
.
.
t� ��
! Т"6<М'-"<
-� )'
/ ' ' " " ''С ' С " " ' ' ' " С ' · • · ·., ,
...."�
·
.·
Лакеt 3Э.'{;00<:6. . .
· :�::r···�;:,"[���c'i?.��"f!.'!'J
' j!,'f. r'&
1 nот:с
Рес..:трь!Све�;ен�
f.�f.1 Per�:&pтar:1�S1:
1.�J Pe:-�1Pao:F.1�
:+ 6'1�crlpoueccы
[i.() Ре�ИС"рыНс.rоnnени�
Рисунок 398
!�
1
'
.
1
·
ОборудовазиеВЭксп.;;уатацииО с!!-атки . Rоие!i�атура
Обору.дова;;иеВЗкс.;:туатац�Ос1"атю1 . Сро�<:Го.Jщс.ст�,
1'.АК
R:?И�Ч)(J! атура,
Оборудсва;;иеВЭкс.п.11у атацииОс:1:атУ..и . Срс �<:Зкспл-;а':'·ацу.и ,
Оборудсв а;;иеВЗксплуатацииО с�атки . Ксличе ств сОстатск
ПО11ЕС!1'!ТЬ С-борудование
из
Р� ItИс.трН.ак·ОГ:...-'1е:�:ия. Оборудс5а:н::иеВЭ:ксплуа'!! аци:У.: . Ос:тат!Gr (
&t"��и� мт ,
Сро��дн-�с:z-� <·= .iHo�-!e,�·:E�
И.il:И Cpcк��:iyaza.w.и -<= iМом�и:Е
И Сроr:Э!'tсr-.'JУатации <.> ДАТАВР:ЕУ.Я (1 , 1 , 1 ) ) К.Z.J\
Оборуд::>!l а !'меВЗкс;т-;,rатаиииОсте.т:r.и
И."Щ'"ЕКСИ!?ОаАIЬ ТТО
а;:;мен:..,,,,а тура
l ! / ! ! ! J !! ! ! J /!!!l l ! /!! ! / ! l ! l ! / l l! / i / f!! l i ! ! ! ! J i ! /!l ! J f! ! l i J !! ! ! J / ! ! ! ! / / f ! ! ! I ! !!!
/ j / J / fj l / ! ! f / l ! ! l !/ 1/ ! ! ! / l ! / ! / l / / / // l / ! ! / ; l ! ! J l / i ! ! f/ !/ / ! ! / l / ! / !J l / ! f / / l l ! ! ! i / / /
203 Верный старт в 1С www.work-lc.ru
·
·
·
· · · · ·
ВЫБРАТЬ
Рисунок 3 99
88002344322 Бесплатн ый звонок
�
�
После этого удалим Запрос пакета3 и перейдем к параметрам условия Запроса паке та2
( Рисунок 400).
Рисунок 400
Подобные действия нужно выпол нять, чтобы не рассчитывать все записи таблицы по
о статкам, которых может быть тысячи, а несколько сузить область данных .
Однако, по условиям задачи, списывать необходимо оборудование, пока же 1 ы
работали с остатками . В связи с этим обратим ся к временной таблице «Оборудование» и
свяжем ее левым соединением с «ОстаткиНоменклатурьт по ранее проиндексированному
полю «Номенклатура» (Рисунок 40 1 -402).
Рисунок 40 1
�·•:'.
i
!,
��
...........
"
. ....
..
. .. . . . . . . . · · · · ·· · · · · · · .
. . . . .. . . . . . . ."..
. . . . . . . . . . . . . " . . . . . . . . . ."
N..,.,.,.,.,,_
,..,.,.,.,., ,,.,,.___.__,mNN»�NNm��NN ,,-��
:�N���:��-�
Рисунок 402
::=��;
---·-------ч
�--·��:r.. j ��:?�i�� 0-��,_.,_:,.l
..
. . .
Определимся с составом полей: из таблицы «Оборудование» нас интересуют все поля;
из таблицы «ОстаткиНоменклатурьт - «Количество » и «Сумма» ( Рисунок 403 ).
204 Верный старт в lC www,work-lcru
88002344322 Бесплатн ый звонок
't� :t�
1 =e�'"i<'�
. -: с:�
#
у,
'
*� ,�"
; .•
"*
�1\!ТfРВ
WJВD
мх
:# ��"'В�tаТО!":
i
З..'.1'<':
·I11
�1
-�У���ле ���:r
�
'""" 06:(::;·�nи�де �Гс�тм
Об�,���
�,Z)!!aW�.��""':ya'!!�
06cюy�lll"4•� t(.c.!t2f�:.ПJo0cТ!TC,C
0:�1��1<.na���T41 .k'г.·."•1·�ei_."'rec3c�ц:�
Oc �1'КV:НOf.it-?tOк �:r"�)c,.!r-u1 С>"......., !О: та�
��
Рисунок 403
"-· ======-�=====-========================="'
==========
..:....�..,
.
....
»
;.
=
�
Количество на о статках всегда должно быть (поле «КоличествоОстаток» табли цы
«Остатки Номенклатурьш), в противном случае - это говорит о том, что что-то идет
неправильно.
Тем
не
менее,
проверка
на
«NU L L »
все
равно должна быть.
Поле
«СуммаОстаток » таблицы «ОстаткиНоменклатурьш нам нужна для того, чтобы все корректно
списать.
Так как мы имеем два поля с похожи м названием в двух табли цах, на закладке
"
" " ". .". :· :· ·
;;
"
«Объединения/псевдонимьш отредактируем наименования полей ( Рисунок 404).
..... , .,,.. . .,.,., ,
,..,.
.::"·::'· ·�"�-;;�
·j'· ,�v{·с;•;•;•••г��,Гrv.,т.nt�
-т��iн»n;
�1,_."r··�,�
��� · · :г�"Юr..тrе
� :·' : ·����� :��-�,, ,�I2!� ,.,..l!!:=?:.: J��13��-----'-�H.�,�:!���J.......
:
·
"
:
:
·
·
""·
·:
·'
·'
··'
;,
:
;·,
·
:
�
�
.
·
.
·
i1 ��
у....-: ;· :
у"
г�
�г.
! ШfШ·!В
.
1
-�
·:
(J
Geн t
..--:-�°"'�""""°':"":�
оо,;..,:��--, ::
°"'
• .,...
щ
�,,,,�e-f(J•.!-т:v�
..
:_·--�--�":.�
;;o;·:"'":;;, "°:;;,;;G�
o;;0<�;:;".�
4';:;.��
;;. "_;· ,__
-.w
... .._,________________
.
..
1
()ООру:Юе�� н�"�1)�
......
:�
�i:
f i j 1:i�
-i
_
_
_
_
_
_
_
_
_
_
'ii 1
*� �1,= fV,�
> X'Ш YY»Y.=W.��=�,��»Y;"�-,"��:$.���,i?A>i�=�;�,���;;��:s���::;]:;;;:J;;;;;��:;�:�:;;;;; �;±;;;;:;;;:::;;�;::�;;_=:;�:�;�;;;;�;:;;;:;!�_i:;; ��J
'��: :::::;,:;:".:.:��'-'-У-»» УЖ>У=Ш�U#/.У.�""""'' '»««��М"М'»>Ж<«>=�-�?-УМ'
Рисунок 404
�т'.ИH�Kr.:!rst"t1:Cc�':t<Y. ���"':::n�
J Ко�пrо«1
Ос;ь���м,...
. :Сk: ��.С-.:
•��«
"�
.-·-·-
.-...
.. �.:1о�'Ю!(
� "'
�
--
·
·
j?,
•
К наименованию «Сум маОстатою> добавим и удали м единицы для того чтобы его
выделить жирным шрифтом - это требуется для последующего редактирования полей
(Рисунок 405).
Рисунок 405
Далее требуется вьmолнить проверку на «NULL» в полях «Количество » и «Сум ма»
таблицы о статков номенклатуры ( чтобы не сравнивать в дальнейшем значение данных полей
с «N U L L », воспользуемся функцией «ECTbN U L L » языка запросов) (Рисунок 406).
205 Верный ста рт в 1С www.work- lc.ru
88002344322 Бесплатн ый звонок
• [ЩJJUШП .
-
. .
.
.. .
.
·· · ··
.
...
'"" О!>::рудоВiИ<>е.СрокГCIJ10Cn1
=
=
.«
.
.
.
<·� l1 : � s::::�
:i �
:
.=:,.
Обсрудов�.е .СрокЭксn,1уаrщ<И
'fj l.
..
Обсрудование . У..оличестео0стс1'СК
"-··---·u-·-"··-- ""'"··-� · "'- ··-----"·"'� .
tЩЫfИШ
;
, . ..
ПРЕдСТАВПЕНИЕ
ПРН11Т ltRflFнИFrrblЛ.I(�
."
��
...._
_
________ ___.___,,.__ _._.__,
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
;
=
.. . . . � .
Обср1дован�•е.Ко.'1>1%с'!ВоОс-та,ок
f(,; ЕСТЬNUll(ОстаТ1<иНоw.е1<кпат,'РЬlОста;к1� Коnv.чес7ео0ста;ок. О}
11 Оста;,u1Ноr'1&iКЛаТ-fРЬi)сrат.а..СуммаС\::тн.зк
' : ., "" Все nor.R
.
,. "
· ,. : '
'
' '
.
.. . ---.•.
.
ск
;;
..
·· ·
·
- -� ·
··
·
· · · · ·-·
.. ..
;.;;,.,;;". .;;.;
;·
Рисунок 406
.
.
.... .
. . .·.
....
.
.
.
.. . ..
.
.
.
. . ".
. ..... .
.
·-. ·-·
.
..;: . ��
�а
.
:
.
·
Посмотрим, что произойдет, когда м ы свяжем эти таблицы : в таблице «Оборудование»
строк «СрокГодности», «СрокЭксплуатации» будет м ножество для номенклатурно й позиции,
а в таблице о статков номенклатуры - каждой номенклатурной позиции будет соответствовать
только одна строка с полями «КоличествоОстатою> и «СуммаОстатою>. Следовательно, когда
мы свяжем эти таблицы по номенкл атуре, получим итоговую таблицу, где м ного раз будет
встречаться одна и та же номенклатура, и в каждой из этих строк значение полей
«КоличествоОстатою> и «СуммаОстаток » будет одинаковы м .
Для
механизмом
того
тобы
итогов
корректно
языка
вьmести
запросов.
Для
данные
этого
по
на
номенклатуре,
закладке
воспользуемся
«Итоги»
в
качестве
группировочного поля выберем номенклатуру, а в строку итогов перенесем поля (Рисунок
407):
Кол и че ство
- значение из детальных записей таблицы «Оборудование»,
достаточно просуммировать;
Колuче ствоОстаток
-
повторяющиеся значения для каждой номенклатуры
таблицы «ОстаткиНоменклатурьш, следовательно, суммировать не можем, используем
функцию МАКСИ МУМ;
СуммаОстаток
-
повторяющиеся значения для каждой номенклатуры таблицы
«ОстаткиНоменклатурьш, следовательно, сумм ировать не можем, используем функцию
М А КС И МУ М (с тем же успехом можно использовать функции М И Н И М УМ, С РЕДНЕЕ,
тогда, значения полей количества и сум м ы остатков номенклатуры будут повторяющимися).
206 Верный ста рт в lC www.wo rk-lc.ru
88002344322 Бесплатн ый звонок
�· г.
.....
,�
". .. Qк.f:Гc�rrt
�1 :'?.�)·:
-�
- Цx:«Э.C7-�!S�'lf.t
..,,._
.. ________________,____
С: 05"-.:..У. � ;m:nc
:-(".;": j�ttr� n>;,e .
: ._
1 ;7�
u... i(.,r��
'• < · -�---
) :.?.?..�
!I�
:-р ;�::.c'1&:;�(kч
M�����!'if:t>���c�Oc��!.
=
=
=
L .........-... "...----."------- �.1-.
,__,.,,
__"
"=
=
=
=
=
""""
'='"
--""'
··
-""
--""
--""
·
""'
-""
"""'
--"'
""
--"'
-=
=
=
=
=
=
=
=
=
=
=
=
=
=
cl...·
t '";.Y'"f-o: J
Рисунок 407
Теперь мы имеем все необходим ые дан н ые для спи сания оборудования и, что не менее
важно, данные по сумме номенклатуры, которую необходимо списать уже с регистра
остатков номенклатуры .
Итоговый текст запроса выглядит следующим образом :
"ВЫБРАТЬ
Оборудова11иеВЭксплуатацииОстатки. Но.'не11клатура КАК Нш1е11клатура,
ОборудованиеВЭксплуатацииОс татки. СрокГодности,
ОборудованиеВЭкс11луата11ииОстатки. СрокЭкс11луата11ии,
ОборудованиеВЭксплуатацииОстатки.КоличествоОстатик
!ПОМЕСТИТЬ Оборудование
I ИЗ
1
РегuстрНакопления.ОборудованиеВЭксплуатации. Остатки(
&Мо.нент,
СрокГодности < = &Мо.мент
ИГ!И СрокЭксплуатации < = &Ми.мент
И СрокЭk·сплуатации <> ДА ТАВРЕМЯ(l, /, /)) КАК
ОборудованиеВЭксплуата11ииОстатки
! ИНДЕКСИРОВА ТЬ ПО
1:
Нш-1енклатура
1!f/I1�1111' !1////!1 /11' ll///l/l/!1/IШ/t//1iШ/!l///; t/lll1/1/!!/Ш///1!//
! ВЫБРАТЬ
Оборудивание. Ншrенклатура КАК Номенклатура,
Оборудование. СрокГодности,
Оборудованue. СрокЭкс11луата11ии,
Оборудование. КоличествоОстаток КАК Количество,
КоличествоОстаток,
СулнюОстаток
«
ECTЬNULL »(ОстаткиНо.ненклатурыОстатки.КоличествоОстатик, О) КАК
« ЕСТЬNULL »(ОстаткиНол1енклатурыОстатки. СушюОстатик, О) КАК
I ИЗ
1
Оборудование КАК Оборудование
207 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатн ы й звонок
ЛЕВОЕ СОЕДИНЕНИЕ
РегистрНаfшnл ения. ОстаткиНо.11е11клатуры. Ocmam1.:u(
&Мо.мент,
Ншне11клатура В
(ВЫБРА ТЬ
из
Оборудование. Нш1енк11атура
Оборудование КАК Оборудование)) КАК
ОстаткиНшrенклатурыОстатки
ПО Оборудование.Но.менклатура
Остат1(1.1Но.ненклатурыОстатки. Номенк11атура
� итоги
1
СУММА (Количество),
МАКСИМУМ(КоличествоОстаток),
МАКСИМУМ(Су.шtаОстаток)
IПО
Ншненклатура"
Акцентируем вним ание, что в к ачестве периода параметра запроса в данном случае
передана «Дата», а не «МоментВремени()», так как м ы будем работать не со значением
«Дата+СсылкаНаДокумент», а просто с датой документа (Рисунок 408).
i
1 ЮIДЕ КСИРСБАТЪ
,,_
ПО
Нс.ие:t'!'(..;.":1 а т-ура
�
!;
i
! t l l l / ! ! l l / l / / / / l l l / / / l l l l l ! l l l l / / l / / l l l l / l l l ll / / l l l l l / J l / / l l l l l l l l / / / l l l l l l l l / / /
J
: б::::.-ру::tов � ние . Н'CJ:t•1:eMJrJ74-:-ypa КАК
Н.с·МеМУ...Ла ту;:: а ,
Обору,сс�з:ние: . •:рок!"однсс.ти.
Об�рудс����е . еро�эхс�луата�,
E CTЬ!'-r-J'LL ( :Ос -:: атю-:: Н о м.е.н.�-�а 'Z"ур�· ст а �ю-= . Ko.n.и � e: c -;; � oOc'Z' a: 'I'o·�,
!И:S
�
EC'TЪЫULL (·Ос ";"ат�и.Rоиеи кла:Т";1ры.Ост а-z �..и . C°}'1-tZ'It1.0c�a:тc.к,
<.} }
У..АХ Ксяич�ст'SоОс�а�ск,
КА..� С'>-7-i!-1:а0� ж а 't'ск
оеk�рудоъз:нv.е: JC)J( C45·=>i')."�C.�a!iи.�
ЛЕВСЕ.
i
О)
t
Са.ЦИН.ЕН.ИЕ Р�гv.стрН�ксnлеми� . Остат-кv.Но�11.L�а7уры. Ост а '%!-ки (
'-Монен-:-,
Hctte:нк..'"1.a � YPl!t. З
( :!Ы5РАZЪ
ИЭ
� �1тог·и
CY!.g1A
�
':.
�
(KO.J'Iii.Ч.f:=Crz>:so) ,
�
ИА.КС'Иl'•IУМ { К�JZ""У.чест.ъоОс"Iатс- r.. )
!о!..1>.7..: С7П.�!!.1 ( C°'ft•;:н.aOC'I'd!l'OK}
�
Kcмe!i.xna'Z'ypa rt :
рю
�
'
Рисунок 408
208 Верн ый старт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
5. 1 . 4 М ет од до п ол н е н и я .
Рассмотрим одну из особенностей таблицы регистра накопления .
Для этого запустим приложение в режиме « l С : Предприятие» и запустим консоль
запросов (Рисунок 409).
<-
.
Консоль запросов
_. :
.
(.."w."'.<6
.c �zp-...�:
(:.�
..... .. .... ......
.
." " ... " ....
••
.....
···· ·· ·· ·
····
.f
Рисунок 409
В данных информационной базы есть документ «Ввод в эксплуатацию 00000000 1 от
20. 0 1 .20 1 4 1 0:46 :24», записи по которой и получи м в консоли запроса ( Рисунок 4 1 0) .
. .
+-
·•
��·
"
.
"" ,""" . . . """ . ,"
'� 1
х �
Ввод в эксплуатацию 00000000 1 от20.0 1 .201 4 1 0:46:24
:,
"":.
"'·
""
'"" "'
··········· · ···· · ·········
:�:-A�"t
'�
'"
�j
Рисунок 4 1 0
1
!
Обратимся из консоли запроса к виртуальной таблице о статков регистра нако пления
«ОборудованиеВЭксплуатации » и посмотрим, какие параметры она имеет (Рисунок 4 1 1 ) .
: +-
=:
.
т
'
Конструктор запроса
·····�
�
';
� � # х � "'4
.
................ ..... . ..
� �.......��:-..::..
.,,,,JS
�<!':Ж�":'
�+� :ое-!'��
� ! ':' �
·
;�
�.: -��
-.н�"�11
.;
; -� (°;.;:: "11 ��J
11>1: VC'..
oc."oo:
.:
·. «" �:�r·J1�«:wr�:Y._"��
-� i: ,)o:·�:�:t.tт� ::�
:т•"'X"··�I'".,:
: ... :
Рисунок 4 1 1
Это стандартные параметры виртуальной таблицы, с которы м и м ы имели дело ранее.
Иначе обстоит дело с виртуальной таблицей остатков и оборотов (Рисунок 4 1 2).
209 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
Конструктор запроса •
� <; г-;т����- J
···· ·�
.a'l.
°1 �.i· .·'if.; � & � '№'oИ!'
C'(7"'X•·��-�')'U
_:;с:;
«� �-.:;:;,,��,,.,..��:ы
;�; -:'<::�:·;,.:-k�:ЧТ'l\)l>I �.,..,,.,.
�
-�
�; ..x:.�....().-����;,;:;,,J\,.,�:O.)&..""':-..i
-<=; r.<q:�x��··Y.<::·В::-.:.::-··r.>.n&.)...:
-:-.·
�
· i::.:;
f.O:t-.;
� ::�:� i;:ij_
�Ш���; -.· �;;;;:ii��jiiiliiiMffi�;�J-"
.: � ::..��:�:=-�.;:�,�
. Jt :-�»:··�.«::ti..,.».. 1
::.�: �itcf":'��...:.-.(H:(o1::i-0r.,«t&::."«��
��: Cx·
{ :.>-�
)
�»-·::: e :«� ::l"::-<)1::i-$·.Cx.: :.J>·<)(;'I
г
: н..ь.�. �
jr��:-::
ii ��Юlta-..r.��Oc:пw.ы�
�«..,,-..:��Е-1к:�,.,11�·
4 ;•; =�ollC':"
...c-...P
"' ....�1:!!
Рисунок 4 1 2
Следует разобраться с параметром «МетодДополнения» и его типам и : ( Рисунок 4 1 3 ) :
+-
1.
Движения;
2.
Дви.жения ИГран иц ыПерио да.
Констру�-тор запроса •
""
.'...�' -�(\'!#����
:».-и :m-..-1'.�:
;;.:
;;ii.·:··®ifftt��1�ii:й::x�::/Шbl24:.:���:;:7@-:-;;�;
·:1 ::�.4't".:':'%
� :--:l'llf«.li?.i.:�?:>:�:a
® Pt=-·10;1:,r.М:::�:
;_;;; �>!"л�т::-.:..: �w.и:�'�
•· :°.:i :'):-�:>•хи:..\»*'У;Мl:f-'°·'
:. � �\:
::_.,."•••1(... �...t�:--�('�:i::..
.: �-�
�"Xi(�
r,o::-.:-ж.O."-t
fX<·
�-� :::.:;a��r.!">"1)io.: (;.;:a���r.:
;::;,
:..<:..,._.
:< . ::о-:-�·�»·с:S'?кtн::1·��:..;;;.о <:
:��- i�<o:�2·��:-"-P.fi�<n�)6�::.>Y.f.\'kJ:<:�ь.
-1
;��
t<! f� *m:i;-.:0:w..V.:чm
,
;
��- : �ro
.• �;1. CЩ:<rz;<"".Gxnщa.
.a--.rм:
1�iJct��n­
�; �:t('ll'_.r.:..,c.·�4)W+M
.
Для
просмотра
Рисунок 4 1 3
механизма
«МетодаДополнения »
следует
поставить
параметр
«Периодичность» в значение «Регистратор» и выбрать все поля таблицы ( Рисунок 4 1 4 ).
Конструктор запроса
*
Т�б11�r:�"''
,,_. �
·-,·
crm
Gi)
::_:_;
�:.
·f'·
·
- -���� --��"-.�t-.f.i.I��-
П.-i;;"ь,fl;щc"facчera
р.,,.." �· 'ры(:«еде;.<�)
Pe,-;<c:,pыHaкc'JJ'.€t!>1�
l& Осr.а":'КиНом�латуры
f;ii1 Ое1�:киНоме�nа�(f..'(Ьl 06орс-1ы
d] о� r�'":'КиНом�"*'.F.аr�.О·::.:а nc-.-:
��
·········· · т:.;;тх
О�а:к11Ном.е:-t<лаrуры �а:ю�ИОIУ"...ро:rы
�, · � Crocpy;ir.e"н01eBЭкcпr;y1t1a�111
!·
�-.:::
[!ii
.,': d
·�· :�
-�·
+
: :.:· [��
[:�J
06;:;cy�aн��EOt�c�r.y.нa�1i.1 ОС.ср�1ы
1:ii1 Обс-р),- �""6�н•-�8Эке:1f:успа��и .().�таrк.-1
J!j Об:;рудова�ВЭксr!R/аТЗJ.$<iИ.Ос1а<К11ИОбаро 1Ы
lp
. . Ц>B'IQ
. P
j ernc
. Ceкr1i;il!
о �/t�HJ-11'
Рес,�,-:;ры�'"n<�•1
W-rnl'ffl====�
Ре">'С!рыРэ::ча1а
&-1��сПр�с�
Нед'->nJ'
. . ... w"'"я...
Рисунок 4 1 4
качестве
.аен�
: r...,када
Эа::1..�1.iИ
в
4ё<:
НачалаПериода укажем
ДатуНачала;
в
качестве
ДатуОкончания (Рисунок 4 1 5 ) .
210 Верный старт в lC www.work-lc.ru
88002344322 Бесплатны й звонок
КонцаПериода
.
.
.
.... .... ... .... .... .. . . ... ..... . . ..... ....... . . . .... .. . . ..... . .
·� ·�: :l;чiif-"'!'"".%:
:
···· ·········· ······························· · .. .. .
· · · ··":"·�
•'-А.
:4С
,: а :k0.-0-,i�>:���;-...:·.м);o:
:�
�
:�
::.�
"
.,.. '{i :::.:_...t'�·�""� �f'3
: "� :�"•""'-·�"�о-:.�11�
.«· C:-.::���V.-.«.."'6�0t�����
<1;
j �·:<:: � �;(l"�k).; <:�:Т!l)'f1to..f0<1
"' }· �...c;�� .,.,.. : QS't �:'Ь"
� C..�q��fIO<.::r·,�. 3:�Q.�т41n.:,.
.
.� ��ВЭ\f:r.��"nr�'t'e'­
:�': ::w...�::)..::::..: . :�:tt--:>.«
')/S{\)'l'i:N
"
� -r. :���:-::<:·�.,.,,..0
11
•
('-:•�:
�
,,y.:)"
,.: :>"'-.-:;:::�.,.,�·
.x.:,.... .,..
·
Рисунок 4 1 5
Сохраним запрос и
перейдем
:' �!
i!
C'<Xч>:
1U.-�"<.-f::'
'"l':(� ;;�·�Y
).g
, м::>:''i::)'>•'{"�w'�"Ъ,< :"°���
: ... �;�g··<'"� f'��::r.'
5:� Y
,j,:;,!:1!(..< ).:. \)'t
:;.:--.... :--.,. 1"��:�V?'��
: .• r.<<"4 "'i�:!
..,..
.�:;::... .:n')�:!::*�"�:.io..-o:Y.t�.;:::":�<::::-.. �.x:-::.:.7.-o:-,,.:
: .• Cfr.-rц�
��
-:���:0.:-"":
:ir
,;-:�,
�
Ji..,.
:
�,...
.
v.
���)<'�
::r,("v: : �.n:r,:-:�.�
...
� C
!:
•:it•
c
:
мt
� "<.-.S?..:t::: �'!!'
�
:r.
.
��:
.к
r.- •��"Ъ<: :t��нv.·�щ��
..>:"dt:.-.
� 1>'Sц».r
-� ..:.;.��м:":в�
A��:�.:-:::r� �w->-:��v.- >'X..'),j "o( �..:-�«-1!"
� \)(<.:v,"�""*E���:...
ir.Jc:�·� lf"
� :;. M=>"<Ct..f't'".>::..Y�
� �:t'<+:" A'-:!�:r..
ч-:-..."":;;,!�..JW. b-..: Y.'���;<: :'1.> �}:>"°
�f�
�
· .i
.j r����""';��.,.�--·V<.� :t..-:...
�f'�;:
::5:-w=т:�����i.'
��-1<0:�:.:.:ж<�=-:11
�. :>:�.'r.'"'Xi��:u�p..
!
1
1
!,1
:.!
·
:
в консоль запроса, в которой нажмем кнопку
«П араметры» ( Рисунок 4 1 6).
,.,,
"'
Консоль запросов •
(�;:-�·Уд: �.,.-::.t�R?.:<::::-.;1aora:.:%%� '!!:'! !"�И!;.� ·=·�":· а�. ?� :·ot<:тi:�Y.<;;:.
::.�.:-::y� �!:� :�t'; a?�c:::::· ::."!'� �.x:X: '!'x!"���� "":: � -=� · H�и�r-:"_-:�or;:i;:i..
�����'Z�t';:��3�(;;;; ::· ��:i.:.;;;.x0.:'!'&�D��·'!:':�� -:"!.t . :;:p
� ,..Г -;. ,:;;-:t;C'! V.,
:::�
;:у:.::: � ��":3З" ';..-..::j·•':' •:.;.;...,�.:-'!"&����с;:с� . =�� " ::!""::".:;j;•':' .....X
.,... ,
:::�
"';:'
у:.::: � ��эз- -::-....-:j·•':'�
.х
о.:-'!"
& '!"�
""; :!�·�
с
:х:�.:·�
��с ':"•с;.У.•ч&г.•�::>.:: �<1:::.с,,; ,
:::��"=����":3З-"::"..::·>'• ':"•М7.ХО..�'!"&'!"���-�:Х:':"!t · �:�"!У<с�о;::'('•СХсН..О1!�-:а:::.:::-,::; ,
:::�.:::�"==� ��":ЗЗf"•
;;-,;:� •-:-•;.;.;-.7.0.:!"&'!")..���·�с;:с<;:"'..: . �:�-и.� -:-:-а<:.Оесу.:; ':',
::\З
;"·�c;:y �-!': :": ��Y."::s:-�"-::""....;.·11-:
.
•JJ.1.�":�<\.:-11::{�!;.'·��;:��x. ::�r.y,ч":--:-t� �;;�;к-..:. :-;. ,
�'�с;;:у.-::с :":�:":У.�5;;�-::-...�;·"-: 1t;»��v.::��=-�':1.��!;:":�c;;:<:"!�. :::)..�'f<:-:-:�:·;•<;-J.·7·.t;.
Рисунок 4 1 6
В форме параметров выполним команду «Получить из запроса» и в качестве
параметров зададим даты (Рисунок 4 1 7):
1 9.0 1 .20 1 4 00:00 - ДатаН ;
2 1 .0 1 .20 1 4 00 : 00 - ДатаК.
t:f
,ф :Х
lf.{ t;©
i �"1•1Я ПаDаМС'!р3
�
Параметры запроса
{it- �ф
�J ;{!
;
,��.�У""""
иа �arr,;e<:a
• •. ·····•·•·•·••••••••••••••·•••·•·•••••·•··v
.
. .. . .........
.. .
.... ....... . ... ... .. . . ...
'S
... . . .. .. . . .
_
,:_'<JQ
. ,:ю
G_
14__
u_
!:_2_1�
.2_
.0_1_
! C�:��
���������K �������������������������������������
oa_�
[ дii_
: Даоа;.<
.. .
.. . . ..
..... . ..
...". . "..."....... "..."...
......................."
. .
".
." . """
" . .
. .
Рисунок 4 1 7
•
1 ! 1 ��1"�1: .?:?.fi:?.?"
Для проверки результата выполним зап рос (Рисунок 4 1 8 ):
ВЫБРА ТЬ
ОборудованuеВЭксплуатациuОстаткuИОбороты. Перuод,
ОборудованuеВЭкс11луаm01{ИИОстаткиИОбороты. Регuстратор,
ОборудованиеВЭксплуатациuОстаткuИОбороты. Но.меттклатура,
ОборудованuеВЭксплуатациuОстаткuИОбороты. СрокГодности,
ОборудованuеВЭксплуатацuuОстаткuИОбороты. СрокЭксплуатации,
ОборудованиеВЭксплуатацuиОстаткиИОбороты.КолuчествоНачалы1ыi1Остаток,
ОборудованuеВЭкс11луата1{ИИОстаткиИОбороты.КоличествоКонечныi1Ос111аток,
ОборудованuеВЭксплуатациuОстаткиИОбороты.КолuчествоОборот,
ОборудованuеВЭ1.:с11луата1{ИUОстаткиИОбороты.КоличествоПрu.ход,
из
ОборудованиеВЭксплуата1{ииОстаткиИОбороты.КоличествоРасход
2 1 1 Верный старт в 1С www.work-1c.ru
88002344322 Бесплатн ы й з вонок
РегистрНакопления. ОборудованиеВЭк·сn:1уатацuи. Остат1-.:иИОбороты(&ДатаН, &ДатаК.
Регистратор, , ) КАК ОборудованиеВЭ1'сnлуатациuОстат"иИОбороты
Консоль запросов
�
:��::��--� ..<.. 4. . � . .�--�--=--�--�--�---�--��--�- :�---�--- �����:":": . �.:��:�-- - �-�- - ·
�-��}jilffi:XillT:�CC?JйД
.'-.«�;:-�:..:...
."
· ·
· · · --��А�Р���;· ···
..
·
�;f)::.i;� »:)x.;:»»���,Y. :н»�-����::.o)�;.;.·).t')>'�VfS•)\:'•>''»:.;;��·"...,
: c.:,
�"rl<>ft:ot :'<= �,,��..:f"��:« :(':'/.:..'t'}'���v..�=: ,.-.;<J.: х �-:.;,�с, :sx:"«
:
'="� �-х:::-<;
,):oi �= ;} •
���-)�" )�.im·�<'lf'"»' :н-4'> ""''°;;;)�·: • :,���• ;· :),,( .Л.:н.�+-ч.-4.:';.о "S- '°' ·
' C!c "C
c.. -.;.,.,.;.;x: x·!�::: ::�-.:: ;ii.:.
:.>:.�s. .
l �"'::."
ш<c.r:!'a.;.c;�
.
:
t;r" �o.::...<o.::,c �2x:Ш
!'
...
' <>':"$1.io'Z�-·�����r;�.fV'Y�<l:"-�;.,.C�:���'t")<..���'e•· • (,;�..,io;�,::.r.�·"�.,.::,;i..J<-,
:).").:'7'; .":l;.)Y.'7'J1i1'.'�Л"n,r.r.-,· n"C'.•:n�»-"'.·':"·�-."?Al.W.1 ��C7w. .Y.!:>.-?':" � ':";;··�.-:o·" ��- ";">';"Ol..-C- r..
·."(�·i '!"::<
�
::::::::::::::�:-}::-::::::::
:'-...·,,:·;.·.:.'"-"'
·
� :.O�.-!:t"'f>'!"xc:c:::/('o.-)·�t(.-!:Y.C(:y�"'X��4:<.�
·
""... ::[ ....._.
�c,1:x-.::"": ::'(n::=-:::::: :"":".i::::*!"
..;:x-n"f-.>X .
. '.= :.==.т�.:�. �;�_;;_�;��=.'.=.:п���;::�;:�::�����-:-�_�:;;;�=..=т����:�����:�����:��{!�;:;.=.=.:.=.=.т��:��::=�.=.=_=:.�=�:���:�:;�:;:; :::===���:�::�;•·:.-� .:.
::::::::::::,r.:-= .:�r. �·:-·= .�"�
- .- . �....
,:'
::
�.
,
.
· � <.:::.:� -����
·..i($.� �:�
t<--W.4.�Y,1:6...��-.:
·-�;:. �
�·i::�� ;� ·
. t· y, 1' �-,� -;;� ::':
.
: :.С'<�·;:; : "
t-;:"·1.:�:H
: 1 'J: �?X:1 �
: · ... ... .
. .
Рисунок 4 1 8
. . ".""
1
В результате выполнения запроса м ы получили набор строк .
Зададим параметр запроса МетодДополнения, т и п - «движения» и выполним запрос
( Рисунок 4 1 9) .
....
.�!.�
'·
·
=:
$(!$" :v--ь-э.·-=·'"--...:"-.С:
• :
.�. ��-�---
=• .. . . •' �i,{ffй1*fii&<"��-t�$f ."
-�
'f::t' v.<-:t...: ...
:::: о�,,,.". .....,.....
�� ;.-�-.- ::;М:.'м,_«
;
: ;:.:� ('•.�·и:·:�•·-.у•N.-.-.С•Л
.
!'#.g;;щ!",
;�·: �«.«--.pwfнffO:l!N;.....:
:;
.
:
:' .,...:r��w.�w
:;,.,
«
, ;-; =·�,,..
»C
;-,• .
-
!
Kot-ic:тpyt(1"op эаnросе
...
--
J
1
• х
:'"Jl:"'1"')�.6.
W ���Г,.,.�( ,_
_
"Jot-�..A
...-.r.�. "·
,;,.-')� ...... ....
...
_#С°
.
� .•".-.-.<
��-�-�'11.t-�x.�.�-Y: -�:';."'7'--��"··"'
·
"..r:">X"S�:+-+«+�;,_ y,;,._11:м"-·'(''"')(o.·W)"'i«м.,.._.. t>� _. ::,.._,"/.«»•
,.
f"
�
;
,,..
.
�
?;
.1
'
i
.�."-1........
""t�
...
!
!
:О::
�
� . �
...
.>":i( <-- 'С. ,�О.,.)",.• ... ;.•ч�,:О- '�) "
••
-Й��i'1!и.,,�·-•.....Q-:::1
.
1!
Рисунок 4 1 9
;
('
П роанализируем результат запроса ( Рисунок 420) .
. ....,.
Ко'1соль ипросоа
•
�""'��" . с � � С: � . $ ; х и � 4 ·� .:� , ; , �"��.':':� . "�.�.;�-�.� .�� .:.#.. " . .
f ��Ебю.:;. ;.;;..;_.;- .".. . :;:;:::�;Ц
:;; ; .".. �\ot�P���� H <tm�<t�'f.· < ,м.·у• :· •Ж'-<'-�'�'• :' t.;.;�...
� '( ( s·< �·..: . ��f".j'"((( :: •
'�i''�"
�:�� :���������:.;����;�:�����;;,�:::=������ :;��:::::��: .
•"t:.:.r.;.') �..:...:.�.; ';,;�...,;..·.,
.
,,;'lf + : .._ :.
•
.
;.>.;.• :·.:.:·.:.-.с;:..>::: <: s·.:·1'&< • ..:v�xr-(..: :.::1cc.::нc.
';.o:'<?V)'�<?_,AI'���.'".".'
.·t·�,..._"'Y'>7'>.••.,.�oO't'.'o:-.-;·��Y.o'I•(•.·�.( J.С.'Т�,;. <�$.�
<..t....
. �\ ,1:1:..., �....�IO��,.....
7.�7..;:;;;·_.:.01' ;..;;111111 .
• • r M:.t'\1-t--: : >ilf•�-"-.....:-.: : • :-=- · .
..-i: '--,.•.,.�"t>"°"ec. Кc.��C1t:t'-''!'.q•::!'C:�· "':._.::!:•<•:О)",
. ,,,';• 't+....�
·
,'�.;::, ::(.Y..,.,MК4<"!'�
"нc·:::1:•·"x"'::r.:.1�.r:·�:ot'fKUWЛ )i.) )-,:�
•
"
А�4?.!l-<!>.l'""'-O:-L''.:-c.-:�•-=-o�,..-�0:-�71'C"<,i..."(..c...J.<:.."i-�<. ��::и.кс-х:1и.С�с...s;с... :z: ,
,'f'-<
r.:.-::c:,;.(l(:<:«:"���°»': ·:::):·.-�-.::к::�:.:'..-}·•1':-tr.мi;I'...._. :� �·н� . ;-· �.м.,...с-..:.-:•.:.:;�.;...:. ,
{:(,�ф"
.'.X
- • · �AXИi-:':�.:::l:•;Av ":��:).-:o"f'1''1'1\'Ma!):':o"f".".- . Y.<>.'!:HЧ"":'9•.., ..."l':';!t"0::
i �""' ""-:-:�;··�--· .�....<('hN... ' x�:,;t;:
� .:.-w:..:: '! �C-:-:�:��­ 1...-.'llt'n �_;;_: x:-:c.:.: t=.=
�::?"�.=.� . =�;; i :�--......�·-·�-��� � t>..:�: 1:�� �� ��·;_ �
.
;.'t• �::·�):� ::: "
�-1
Рисунок 420
После выбора параметра «МетодДополнения » с типом «Движения » в результат
запроса попали только те записи, у которых задан регистратор, состав колонок не юменился .
Зададим
в
качестве
п араметра
«ДвиженияИ ГраницыПериода>> (Рисунок 42 1 )
2 12 Верный ста рт в lC www.work-lc.ru
«МетодаДополнения »
.
88002344322 Бесплатн ый звонок
значение
-··
: i�
�
�!:l�и
�� �
� ·�·q._,
� -�-����:�
·�· :·· ·�)"•::...:
... �
...
•
:·:� /
.·..-:�: ..,
�
:-� 1
... )'J('A)',,--*".+\o',
:и-; :..,.-И(.)f"ф".:(����
::-;; : -.":;;...М,� х"•-�·
"
,-...."::;""':'*..
�
:.c-..-:').Y.'V!"J':.�
�.;,.. ......
:.
Y"1!f1'· � ;.." · ·
..:
; � ��.:(:с<><·•�""'«"
...
" ··:·-�-.:· �-',\.
�
�
�
�'�
·
·
·
:);�::.=t
jf.!�� :?'.� ..
:�1><��
·
т" : � .
:�.f.-,�!-����."�.[ ;.. ;_W
с....�
'1.l�
Рисунок 42 1
��;� о';
:
:.\;S.-�"";.,_P.·.����M.��;..��� i�1:
�·��•:;:,�::�)
..,.. :.'1:.:)',,x-r....�<11:�.,_,..,._...,.
...,.-.v:-(�
..,_1:·1:0::-·,..>fr.0,("IC"HN
·
• ��"»�-'Jio-c11v.·o···...,.(,).
,.
.:1y....,.,,.._·.o(..)j:-.)1,.,. :v�-:�'"'»<
•.• ��� "� :,::
)!
,�1i.:•"ч
1
1
-..0... 1.f·-1J::-.Л"C.N1�. · :U·" �c.-"'�"
!•
� ·):Y��l<"�;:i...'.'t\.,._.:t.::,..,0-)(°)(,1�"><"':,�.�«,; • ;� .�,/'.�>,•�)M
:·,{�')'O\*-"'•>t":.�·".ф.,.,:o;::oo�•>t·)C
(�"�11'.�f·.O: "<.:�-...т.t-::..:·>:o:....... <v»'.'..:-"Y.::": : :
.
:·X'..X')':C-..W-0..·..,·:-•-'�:0:':.0•-·>c·•OW.<•:�.JIC·'VI: "<.'·-�"Ж·У.:"_._..,. ;'( '.0:.":<'
·"Y-«-.·:.t�4"-8.••o.•:"A}:�·:.:11-.'1e"•··v.t•:"()l\,..-'IW•«
.-y;-"''.:'°���·\oн:n��·-:-...,_"°"'v-1;.. :v">X)IY".,..,;r�
J
1(·:·-.,...,.,,�х.•
К":':·<.· ....�
., �Я
:.�q•.-Л»...,.мr.0'.1-:<>1:--:<�""'o"-it.\.:1x:.·)l�v)Jv)1).· r�r�.:�::>�
-�
В результате выполнения запроса получим еще и з аписи с пустым регистратором, по
начальным и конечным о статкам на начало периода и конец периода, в данном случае - по
каждой номенклатурной позиции ( Ри сунок 422 ) .
:
Комсоnь эonpocos "
··= �· - :: ..t ---�·-�---�. *
��:: t�ййt: :-·:;ЩJf2"'l :
·
···
· ·:1':
. 3»'<-�
•
'::'
�- �.. %.:� :.�:·... ?} �. .�'7:�""·rt: . .�.�-;..:��. . . *-\ -�· ··
...).,":' � �':/�•...
Т�(=� {'Г(• ,.С.: , t�C"f"I((• :<;,
-;'�-=-<;"�·;.о: .....v.v.-eo:;l');f'.<"".V-�·�-=-.,.\��·.:--:-.,."�i..
...��f'.0:.,.-V, . ?• :-""t:.,.S'-7'':'0:.J
.
t�iii·S;
O.<GC6.�:�ll(.(;•{
{"�:/6."'&.«<'(I(�
�·::о'6.
••
"�t�·JO�,i:J-:)!�f'��J: ::::r.�·:"t:i:o,i:·:"- :N"...-��:'t::.'l":l':�">'Y.'>t> �°C:)7.7'·}.»'0l�VZ"!.�°'P» •
�·-r.;r"/ &.'7'A1':7.JO:��.:O:':F."
��"""· · �:'C'•�";,:-."».':" :-"Wt,
j �"A::X7.�.�A"J:'X:;-f�
� �-�·/�6.Ь.«.:с��;,t«·а.•::1ь.оо+м((."t:.Х·7ь.�ю-с:t;,,� .:: тl
':" f> .,..•�"'�'°f'.�� �·.,.
• .,.IJ\.(•.v.\.(';:" -:-.("'.,._'t'f':v.1:t·:":'!'�r.o:•
·":'� S" Y:t
• ;j. :,; 1 .:&)1<_ ::.::-<
..
i
.. .,:·i:.::.·.--: f>o:·"" ,...:.
".с ·�· f'l'"'��l·- -t �'"" "'°'"Ctl'�1<"
.,.�·:. ��'!'. ;o:to щ " t:"':i.o:.P. 1' <t .,.,:o:?.1<-..�t: .,. ?. .,. �. <": .
. . !- .
. t·.:�:J' �.:::�
�-�
:i':
; �c�- �s ·.�;;;_:;· :r
�-�-��·:-.�.
: !%ot:-=«<« f� �:·n
·)f:�::?!t«
: �.н �..
� �i@ '
;; ::_·":'::�
:: ::
$Jiri.
Рисунок 422
Однако записи по началу периода в таблице результатов мы не види м . Это связано с
тем, что на начал о периода ( 1 9 . 0 1 .20 1 4 00: 00) документов в информацио нной базе еще не
было введено, таким образом, в результат попали данные по конечным остаткам . Если бы м ы
задали другие границы периода, то получили бы и начальные ост атки .
2 13 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ы й звонок
5. 2 Бух галте р с к и й у ч ет .
5. 2 . 1 Бу х галте р ски й у ч ет . С п и с а н и е ком п л е ктов и ком пле ктующи х .
Рассмотрим следующую задачу, ее формулировка представлена ниже ( Рисунок 423 ).
«Операция>», е номощыо котороr-о поль'ЮВU'rещ,
ДО!IЖСН Нметь ttOЗMOЖtIOCTb BilCC'П! rЧХН30д.�.·н С 11рои:щО!I ЫЮЙ КОрfХ."С НОНДСIЩИеЙ C•Jttt()B.
При решенни :щ;:щч следует учиты щ�ть н<нможность ш11шчия про1юдок, сфQрмщюнанных
Необхо;�нмо С()Зд_ать докумею'
е nомощыо данного доо:умен·r.�.
Т_ребуется орr-а�111зюва·rь n<'зможиость учета продажи kОмrшеК"rов. В системе
дщ1ж11а
храниться ив формдция о со�rане ю)мщ1ею11 ( какие Н()мснк,щп·урные познщш и
n
КPMI1J.1e.1<1'). В сост11в К<}МП11екта не мoryr входить
друrие K()MIUJC1'."1'bl . Следует ooocneч1 t1'1> уи1Jкал ь1юсть Д('1'аJJ е й в рамках ICOMЛJIC]('f(tB, t . С.
одна и та ;i,·e дета.'lь не до;�жиа ахощпъ в состав ра:шых 1шм1mектоn"
Оnерання с.борю� как r.iкonaя и к >мщuп ш не t)сущеста:1.11 ется. Korд<I П{!куnатель
нр11ходит r10лу•-1а1·ь f.·ом1шеh'1 01:-��е-к"Тnенны n сотру.дню:;: 1-омr1аиш1 в 000 1 ье-н..'"'1
n1ш со
ка1щм 1<0.rшчectlte 11xoJ.1Jп
я
данный
сnециф1111.-ацией отr-ру-жае-r ш."Обходимое кшшчестnо ко шле.ктующн:х.
Прщщжн щ:уществля:rотся документом «I'1н;хо.д1щ.я 1щюшди.ая1)"
указы ваются комrшеК'Iъr и 11.х количеслю.
Докуме1п' реа.�шзуt..'1' следу1t щие 11роводки:
В 111(щич11ой части
докуме. НТ<t
Дт цПрибы..щ и убыткш� -
Кт ((ТОl;ары»
cef.iщ;:mQt1. 'fl{Kmь ,-щн:ывае,t�ых кФm.дi!кmуюuщ.(. В с.:1у•ше прод1,ж:11
ю·нтлеюш1 пеобходш1щ ст1сш11ь f!,!o кrн11иектующие с():!ласиа состаь·у ко.шtи:кта
Дi11 (<. l/оку1штелu;; - Кт «llpt16ы.1111 и убыткzо, иа <:_V.�tмy 6 11родажиы.х цеиа.r.
на
коли'tес.тшю u
Себе...'Тщ 1 м(>Ст.ь рассчитывается как. средняя по Н<):менклатурноn. по:�1щиJ1 на с1.тад.�.
Рисунок 423
Рассмотрим структуру метаданных конфигурации, созданную для решения этой
задач и . В подсистеме бухгалтерского учета нас, прежде всего, и нтересуют объекты, которые
реализуют возможность продажи комплекта:
С правочник «Номенклатура» имеет признак «Комплект» со значением типа
булево, который определяет принадлежность номенклатуры составу комплекта (общий
состав реквизитов справочника был рассмотрен в контексте решения задачи оперативного
учета) (Рисунок 424).
:Е:·�::::: : :·:�1 ;
)(
�NM��l�::�
.: : : �:·::·: : : :. : .: . .. . �· · 1
,,. ;:!�
�:�
. . ... . . · .:·:·:.:�·.:·:·.,. :... �.�. 1
[�- �.·-�-���!:.. . �..
... . . ·· . . .
. .
i
""'"""'""" ' . . ·.:::i.�):11
:И�"n з пь зов
.
: : ::: : : : : : : : : : : : :! !
1
. . . . . ..
�
,,. :::::::::; ������
ан�
... . .
1".ндекс��рова· Не 011-1=ирова-ть
. ...
. . ...
...
Рисунок 424
2 14 Верн ы й старт в lC www.work-lc.ru
88002344322 Бесплатн ы й звонок
Регистр сведений «Состав комплектов» хранит информацию по комплектам
( но менклатура в составе комплекта, количество) (Рисунок 42 5 ).
t:Э
�
.,
-·.�:-
··
::�
Составl<омщ1ектов
.
Измере.·!ия
Кампnект
•··•
�...•
�-··
,
_
Наменl'.лаrура
Кояич��о
есурсы
�
= .Реквизиты
F.J Формы
t.�J Кома.чды
�
�.:
.::.;
Maкer..i
Рисунок 425
{�:
]
: ��
<;·< :f
i
j"
s
:'�
��
. :t
�
.·�
..
·
:;�
·:
.
:.:i
1.
,
,
l . . . . 1.
«Состав комплектов» является периодическим регистром, следовательно, состав
комплектов может изменяться (Рисунок 426).
�
.
1�.• •.:. · . =11
::::�
1�·� ::::::::�
.1 1
,.
:;щ;�������;�;.; :
;•
Ф�:�рмы
li
1
j
1
.
'
:
_,
= -· ·········
::,......,
,
'
�-1''1 зап1•с.•:
; "" '°"""' """""ro"'
;n��.,.,� ;;;.:;���ropy
.
.
j !;
C'
11
j
:·= 1._
.
E.t
' i·
Г�-.?одсrаеw.:к<1е сrмс.·юз :
.·
. .
.
-��=:tll
"". . ..!�,:��:1�«=•«•««««."." �:�""'"'";"".��:.::�:.=. ]···��:::_::'"".!�;:;.;;���::: .:.J
... ..".......
= . ....
.
· ·l;:;i 11
... . _ .
· ш
" �'
- ...« �
Paal?.too
. '1Н<:>е п�дстёз�'->>�ие сruк.ка:
�
.
- --·
.
Рисунок 426
.
Документ «Изменение состава комплектов» регистрирует номенклатуру в
составе комплекта, соответственно, содержит табличную ч асть «Состав» с колонками:
«Номенклатура», «Количество ». При проведении документ делает движения по регистру
«Состав комплектов» ( Рисунок 427).
2 15 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ы й звонок
1;
[�:
f(... �;;:
,:;;��
fl
�
�
�f
j·f
�·:;�
$1Ж
1f�
Д@;:
. �����.-----.
....
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
1
�
·
с--- 1
Oc>;t��1e
,
!
с�
#" У.>%- *""=-�
г;"".
m!Ы:Шt
''f>'iЖ:UИQ!tЗJbliЫte <11'�' !
' ······· ····· ········ ······ ··· ······ ································
·
·
·
д'3М'1Ы6
, /:· � ГЮдсиате.чы
!
= Ксмллект
:::qе<! :ТЕ>.fl�;",:" -,,,",
,
; ·,.-�-
•• •о • • •'
•••
•• · • • .
•
<.№
-№ " N V№J",,,.,.
• • • ••• • • •••� •••o•o•o•• • • • • • ••N"•
rюс ,1ед"1
t.C
"., Ш ii!ll!Ml\!111�11
,.,."11
",
!
�-":·
: ·'���,,�·1
�:" ;��=���1r��:·
·
.
?'
.
Мак:�пь�.
"ввод на
оснооан�
. . ..... ........ .
f;,aea
. . . . . ,... - .. .. "
..
.
.
....
-
• .
. . .. . �
, -
·
-. •,•-··:-�
;
.
-�
§•
:......:
,:
:.:. .:.
. . ..•'... . . •.•..
;.(
�
�
Сос1ае
f�i�
t'
'
Номенклачра
;Кс> личесrеа
11
:f
11
: �
.
;>!;;,ра!<1'.:1рИСW.КР\
.
. . . . . .. . . . ,
' ". �:равка
j (.!
:j !!
'
' 1
·'
."""."""."""""" . " " " ,
f
/t
i
'
Рисунок 427
План счетов «Управленческий» содержит счета учета, которые используются в
�i
момент приходования н о менклатуры (Рисун о к 428).
'�ii-��-;;;�;;�(�E���
4'v;8'8f
41�•,11tr
�
Lrk'
:t:,::�,.: . �
Д;;t1.:.:1'&1я 0 # � �l ]/. ! �G
1
. К." ' Се�:. l С)'бксnто
� -·· ·
.
,
,
,c«- .�.
__
·
. :.., a:...
•
�
(»•
Ак111!!Ы
Товары
. .
Пок1mтеnи.
.
G1 .02
�· .G .ОЗ
1
... . ... ." .. ." О. 1 .04
О 1 . G5
ОснО13t<QеПро'1зводс�во
Обшехо:5Я1�.:: пsенные3а'!))а rы
!(сед;1ТЬ1 ИЗаРмыВыданные
.Товарь1
. . . . . .. . . . . .
.
Тоаары а n)'lИ
. ...... ................ .
.
.
01 .!Ж
' 0 1 .07
Матсрv.аnы
0 1 .G8
Со1Р�дники
Пос1'авщ111<J.1
02 0 1
02
Обязатеn:.сrеа
А<тивныА
: Касса
0 1 {!1
.
. .
Тс6ЩJЫ
8 П)"n1
. .
.
»'°;·
Активы
01
Касса
.
. .
.
· ··· · ···············
.
:
Т�•пеnи
. , Ос!i03Ное лрои.:звсА!:rво
· Общ=3яйс���е м"
. �д;\1ЬI и ЗС\"мьi выда
Материалы
(}1.{)1
Аюианы\1
01
Активны�<
.
.
Аюивн ".
' Роm1вnый
.
fкn.111ный .
ЫЙ
�\!!Н
.
Ркn.tвныtl
. r.3CC11!1 "
, Активн".
Активн.
: ПаССrtВ "
Кред:1n:.1ИЗа:'\мы По Л)'Че!'iные
Hanorn
D1
АктиеныА
01.{)2
{)J
.,,
' Но."'lеНКла ".
Склад
0 1 .С>4
0 1Сб
01 .05
0 1 .с?
0 1 .08
02
02.0 1
. 02.02
.."" . ? ·
"
02.О'З
, Ы.04
Рисунок 428
Из
обработки
проведения
Приходн о й накладн ой можно увидеть, что
приход
происходит н а счет «Товары» и списание со счета «П о ставщики» с аналитикой по складам
(Рисунок 429) .
2 16 Верный старт в 1С www,work-lcru
88002344322 Бесплатн ы й звонок
!··
,
�иж��У.�
п.
�Y.ut:���i;. • ._.
""; � 7а•
п
. :
ин�� � �·�-�а�у
р
� . Дсб5.�У..z�:: � � :
�
Дs�нv.е . 1!.:.<�"""'"
Д.s.юJе няе . :Jepиcz.
-
Д.а:к..11:� �.;,.� . 'К�:--..и-чест:ео
Дsи:R:.м:v.:.е . C/!"D"-4
к����-:т.::.!. ;
1
/
;
_,� rис�·
1!и;:Д:на;е;>.>!"1! �кс:-��емv.я . ;<;;"""'" '
Даvа;
·.
.
·
Дzv.JEe:!-P!e:. З:оне:м_r.:..4 1!�-ра
.,..
...
'! е хСJ:рс .к з.. �и::: о !""-�о.н.е. �!"..л з т,);ри . Fk:�e.и�'!a'2'/-pa :
T �-r.:C':";.: :J. !'.:: �C �:.иG�кHc��cнJr".n�тyp� . K::tY..i.�ier::: -r �c;
....
T e xC:-rpcxa�/..CO!"" :.:Q1oie?$.!".;;: � ��- Су� :
:..'}€. ;
p�·дc· � !i :н-: �8.�r.ci:;;:..-ё. ·r�� �� Е��х�
·.·
·
.
>k
· : �"Y.���<:t ;
Д..
:r ;; K·�"C.L:vr::: T e кC тsx:· x a C r:и c ·.:> rJi 01-se: �r-"":a1':
y�ы У:� С:�с.оr,_Н-=с:-!�Х.r--:а ��,::ы Ци?-:.r:
Д�:.иж�нУ.м.. С·бору.:оsанме:ЭЗкс�.:lуа:!'а.ilУ..V. . Заs;;.и�"Зl!'Z'Ъ
�иж��У.�
""'
.
д.Аv..ж����;,. 05.;)�У='='�ан.и�Э-Зк� r.-;зуа-:-�.иу..м . До��И.'1.k; � } :
�
Д3ихен.ие . '!и�v.ж.е:I01::.
Д�У.Ж�нv,е . :Je:pиcz. .,.. Д&•п\ ;
Дl!,v.же:�яе: . З-.:шe.�r::�zyi:;:a
"
д.1\И.'f.'�!'!У.� . t:;t0x.Г�.;i�.:)C<;"�
Д:sихен.ие. К::-:""..ич е с'l'в::.>
K'.'\.�S::":�.:.�1;.!!'\'.':;3 ;
=�::д:!i.2e::--.иA?.� к�:l..'":eнv.Ji. П;:ихе:.:: ;
"".
и
::
Те:.кС1!рО.К.5.��'И.��!"....Ч��,-.;:з:zуры . C p·:')�l" ::; :tt.t.G��И ;
1'е�С-=�оr>-"С:-;.Ис::-кЯсиен:-:...-:а-=".iР�- К::.>""tи··-ё� •:: "I:вс :.
J / ;:-еr"ИС'":"';.· :1п��-�J1.���е .::: r;и;":�
Дв:v.ж�ни.с;. . Y:..pa:S."!��;i� .=xv.Й . З��ИС..�� а'I"Ь
д..:� "
:
...
!exC -rpc ��C:п.>-:::: <:
н
•
·:.roн.e: �
.r��'Г";-�t:-tl . Rec���R..-1.�·1·ypa�
""
: ;·· :
>t>:;�и.в:t;
к�ж.и�r '-· Те к:::'!.РС· ха С:i"".ис ·Jr..Н•:J:·1� н:·!::.""
.а
": '!;rры ;..f:!( Cr.и<::.·�r..a ·::��� �·r-"":a '!'y;::ьt :хи�.;:
Дьv..ж"!'Н�я.. У�разl!е���..:.:к"Хй . Д\."J.'5С1.:е·:и7Ъ: i ) :
Сче':'Д'1' • П.."1.а.мы:С·.J е":"е:� . У'п��3;:енче:::ю-:й . Т:::еа�ы;
··
�ИЖ�'Н;.:: е. .•.
Д3и:а:енv.е "
Д:�;-!Жени.е . C :.r�-r�z-
,�
П.nbl'!'�;c:'!:i'C'!I . Y!<pa.�r.:'!���c.zc..v.P.- . П�:=:i'a·it�.Y.;
Д3v.жен�е:. � �р ио� .... д��а;
ДJsи.::s:�м..;.-: !'! . К-:..: :""..М."Ч е t: r 1!QД'!
Д3и:s.е�v..е: . С:,Л11'2
....
.
.... Iе�С'I"рОl(.з.Снисо':"��:зм.'��1":.ll s'!'у;.:ы . �:t;;;,и:1-=:ст·�:.:::. ;
.....
Те:хС:трс�:аС:�со!':...:.:ов.е:
.
м.?:Jа.":'"""о;;ы . C/'"!.z...r...a ;
Д!l v.же. ю'!� .
С)'�ХО�'!' Д"Г 1 П..."!.": НЫВИ!I��Х.!!:р�хте:рv.с� . Еи��1�х.с�"!'С . Сr..лад }
I :1
·
.:
Д3v.же.мяе . Суб:хсн.'1'�.С:-r ; �"":&!"!�Y..Z:.�·�Xapa.x.-r�pиc7J.'C':. . Вv�убх.о�"!":: . P.�}lf�·:-t. ·X..."1a"!";..-p � ·�
=
-
1' � 1«: -:-P·� f't�/..:!"!..ИC� r.BcФ�e�·o·:.r..a -:yp::r " F.o�нxr.. �r.:--P a ;
С:к.."":е.д;
· ·· ·· ··· · ···· ····· ······
Рисунок 429
. .
. .
. .... . . . . . . . . . . . ... . . . . ... .
..... . .....
.
. ... . . .
I:
!
'
Но большая часть интересующих нас операций содержится в модуле объекта
документа «Расходная накладная», который содержит запрос, который будет списывать с
регистра бухгалтерии наши комплектующие (Рисунок 430).
��ii!l�OO:itmWМ!№E!�E!E!i&�
�.,..," . � � :.о � * � и
ш
:� � ;::::
;; !'"� я��Я1
;. fii �:te
:::; lt�<щ.ед·�;.а.
������е"с..-
�
l
�
(
·.
�-j::#t Л� N-t1'°"Г«"W0.'f.'I:
i :i. ;
l
i
�
Юt.К Нон:�:-!J"'.Ла�а ,
?!'..АК Ko.,.�v.ч.�::: � -so,
У.АУ.. ey:��s
:
-
Д'Едо!':!·
t-!-!.М':' . Р�сУ.о �кая...��хлз.!!!-iЗ Я . CrJ!o:: � �..Rc!1e�к..."a.�·-;:�
/
Г
.....
:
Fг. �x�.z:.�al:fRa r...�a.n�&.Я":i!иccr�::.f:'!eн!!:..-...a 7;.�ы. :;:.:�u�a
i
1:
:В:о:-:!��1'".Л41J-"Р"'
Рдсх..::д.:.са�з�,;:;.а:д.!:iая:С·:;кс::
.
�!i·::"МР-�1!'-"=З'2)"РЫ .
·
�.АК
�
�
,·
'Ga--:r.
:"":' .�
,
1!
,
�
f::.r-:�.;.i�"�a'l'yp4
(
"
� �СИ!:СI'И!Ъ к�иr.�е�-:-:��
1�
1
запроса.
:
!!;
·
Р э.с,.;о:::пs ая.:f4 Х.."! �!'5а яСт-:.с � к."!он�н �.т.а'!'уры
..
:�
1
.!
i
=
•�
•�
•.m
.>т
�
>.
т
т
.;.,
т
.=
=
=
=
=
=
"'
·'··=
�
····�
· ··�
�
:
�
-:-:
:
-:-:
w
м
�
/.1':�
·
�
1':�
·
=
��
· ··
"'
'=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
�
·
проведения
конструктор
�i
1
i t 1 /; ! // / i i ! !/ 1 / / !/ t / / / ; ! ! 1 / / / / ! / 1 / i// ! ! ! l .i 1 i ! ! 1 11 ! 1 ! 1 1 1 1 ! / ! 1 1 1 i ! / ! / 1 / i 1 ! // / / // /
f БЫЕ F:.ть
COC-'%'aB}":•:o !'r'-"':eJ:.'!' : B::._:;-e 3;].c- c::.'!-!..Ш"DIX . Н��!l!:.И.!"-":.&'%'}'Уа �
�
C'o C":-rз. в:-:�
...."":e:.F.-r ;, �С:��!lо с.::: � .а?".Л:Х . К·:тrч�с"I!!;::О Д�IO::tez;t . Ko..."tv.".f.e: ::"Ж%10 J-.".AJ\ :-:о::J11Че·:тасt
Создадим запрос
обработке
H·::l� 1'!: r.:.a ir;-p a
..:-"":-.:....A
: � Pa.�x ;:'! �;;нa.t(.."ta:iи a�::;� co��cz��x...�s.vypъ:. . :::y z.:и.a. )
� У:�.д!:ЛС;'.FО3NЬ �О
� [.J Оперг,.w111
а .ж��= /Х'«"у�тое
: "; �.J �·
�
.. .._, �} Or-4�
'- i? 1Хо;"6оТ<»
,..�· °;] flnг� !ll't:otl X!j)aY.rep.4C':J«
"'--"""""'·
·��
1
о
З&=ш> ; ) ;
р:тИ
•"П
r
.
�
иFС-в.д.!Ь :1•..)
(,, к.,,.......
�г М!l{ете:=
. fr
Y'[(:�:�::t:
f ���CI'И"I� Ды:нхе:'Z'Ч
н�з
i
Taб.1'4,�-.ie vac"JИ
-� 1'· f1ne>11S С"а�е
.
..,
?"""'",'"F•'i�!1S<«•
Fa=x:::· .c,.ч ,&яR5 r.r.a.a�aяC..,-: и.c:o:r:.F.:::·t��!-!x.-:� '1'YP"=J ·
- ?e�tS'IТЫ:
!!}
�е:..� ·
(;"�.A ( Fa cx .: u.. a.;� a.к"; 4.nнa i:. C :;иco !!:Я.:�9-�r._-: s r,"P:J. . К :;�...r ч � � '2'�.: )
[: j i-!a'l�:.�
.:..: �·� 1 Вео.1.Е�·"'��i.61!0
.... \;). !ЬQ.:т��·�еанv.я
[:·.J �1�e.:eн.�Cxт-a�r.cм:1::otres
..�
�·�•><5 • :..;,<;;"
Об;· абс '1'-�� ;!�о 3� 1!��..-.я {V'rк� � ,
:::::·::::�:::::А·
EJ_ lif!-14::.!.mШ
�""'1r1ol 'IЪ-I
,..,
��Р•JtЗ=А�ьr. :-:п"" ,
,::;. !!�
..У.Й . 9А�·�.! ':" �
. '!Ю.S.R' . У:'!р��-� �'Ч'!С!'
-z°14 Н)-мер1��1
fil :'locnetw:&!��
� J i�A-иi!!tНsitnaд."'Н!R
�
':r"-'"'�Y;'•'
Рисунок 430
для
реализации решения этой задачи, предварительно удалив в
документа
Прежде
«Расходная
всего,
нас
накладная» текст запроса
и нтересуют
данн ые
«С писокНоменклатурьш: номенклатура, коли чество, сумма (Рисунок 43 1 ) .
2 17 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ы й звонок
и
запустив
табличной
части
����f.��ffiR�%.%?:tйf@Ш1ШЫf?f&!{fj7,.,Wff1M%'
.tr
iW
J.fW1tkR:::.··: :{,:�#tt!Яf51JfШf.%:%�
-�-·fШfti1f\::)::��;.:;.;
(?i!���- J. cr���i:� .. � -д.�����· :· Oб�����1i;;�w� �
\:.��� }.:;.����!.��---: _; _r��--��- -i : :: н �
t
t. х.
� .е х : �1:: Ф'@
w; �
.......... j :
� :�5w.s;,"'"il
� :lt"..:."t�
. ....� �
j j � �:��:': ,����j,i '�.f �=
" . ?acxvlf".!Я�n.!t;-18;:
. � : ;:;,;; ?��АН-'Кnuс.1нf'-Л'-с.:.-.J-!НК
;ом
Мf:.JРЬ=
���;;��м"��
-;;-�
��
; >. . : i
ji
·
· ··r;1
� ;�;;.;"
·
.
.
·
i
.
········· ��·-·· -· ··- ·· · ·• .-•· --· ··�·
·
·- -
.-----· � ·- -····"· · ·•·····• ·---··- -----�·-···
,,,_...,,,
�
- �- - -·
--••
•.-.-_._.._,.•_,.._
r•··- ·······-····--·----··· ··--··-·-·•·
-�-
..
ji ::
il
:
1:
'"""" �w�
1
,
i :
EePo::.�Ji.��-ЫY
�
f'k>
..
.
�
��aY��eнtu1
.
=-
':-:�
.
. ..$
: ;_?.�� 1
�:�:�
��фСЖI.<
"..�."
Н:х�
.
СсьмR1..·с!
-�-
N;.;
.
�
._
Р��:оНак..r.аа-:;ая(;.�!-k�еt11'...ч:-,� io.wr�re1.2
P��;;rt;v-"� �AC.�!'icм.et«.."'11)-:-ft)ЬI C�
--" :
5<.
N
J .....".
..... .... "
·
1:
j :
i�
1
i!
!
i
� �т
.....,, НcW°<e:tt<f.I:'!)�
!. ��х
�
1
. ...
.
. . .........:
.
,____ · ··------ --�· ···· ·
. ......
.
····----------- . ...... .. ..•.... ·· · ···· -··-·· ·-· ·- ·· ·--- ---
А����? . i
.
Lл-.·.
-��....."'"· )
««-:
-:-;.(
(
(
�<(<
<<
(
«<
<«<<<<
<<««<WOC<�«<
�«
««««-»"
.«««««««<
«
__
__
_.
.««=-::«-:-:�«««<-�-« �=---�"""'«
«<<<<<«««
<«<
Рисунок 43 1
. �
Сгруппируем записи по номенклатуре, просум мировав зн ачения количества и суммы
( Рисунок 432).
. ......·
. . . . . .-.... ....
·
.
� f ;:->
: =�
>
.
1 C)��fiЭ:}� п�яе.
1 <f"°('fi..�H
·
�� ::
�-:::·:::: � : [�������;,��0-�0!���E;?.���;,���;,��i!�J ···--��:
.. ..
.. .
.
.)�
.
,
. ............ .l �
. .
.....
.
.
... ... .i .� ___ ; f.
: �
. Су1•У•а
Ра=т<а•Нм:1ат<а•Сn>1СокНw.еню;аr,ры .С)'мма
�:.:.<:-:-�:;а·::;::.::;::
.
: : -�- .
Соо.2�-� :
ок
·
·
·
·
·
··
:-:�
«-:.:x
:-:.:-:�:.:
.:.
�
=
=
«-:«·�=�=�
:�..:.c«-:
-:.:
-:.:-;.:
�
-i.:..:
w
�:
:
:
·
c
···-cc
·
:
c
:
c· · ·:
:·:-:�.::.;:-:.:-�=...·
:
::.;:.c..:
: =
:
�
:.:.:-»:·=
=
=
=
«
·
:
�
:
·
�
�
=
«:�::
�::�::�: : ::.z::c:
:
=
· · · ·т··· · :··:
Рисунок 432
�'
'
:::�-: ::;�
,
Добавим условие по ссылке на документ, чтобы данные выводились не по всем
документам в информационной базе, а только по интересующим нас ( Рисунок 433).
�
-�.·��·;��=�=�;;��:�" � �:.
�
·��·ши
�z:::.::��;;;:7:�:.
[
a•G �t:-ri�.ii �-J. i-. aКJ1a.cм�
иь!Шiit!4J;� · ·vi'. · .� 7�_ :,{ ���
:; �
�
.-
�:
:
:
·
:-;
"
�
�
··
; с.:
: На·..е,з
· · ·····
··
· ·
Номе<р(-rрСЮt
f'.uмet«r.arypa
·
·
,
n
, Yc.r"'"''"
�
·
К.:.:мчес;в�
LР�� Н
ссы!J(�
��-н�;.,
� !<_11_ад111З :.
р;;; �;;��� ]
енкr05r,
;
;
_
�-�)
,
�
. .., ,.-;
:
'········
Рисунок 433
Далее поместим все данные во временную таблицу «Данные ТЧ » ( Рисунок 434).
2 18 Верный старт в 1С www.work-lc.ru
:
88002344322 Бесплатн ый звонок
�
.
�
'1
!J
!
�1 ��
. f Т��>!;фi \; i'IЬnli .
'
·
:
j:
�
j
'
&;
�;�; �w::.-М
: : ..
CJ ���e
Г.°!Без r>Звкр.;>юu,w.�•
C..J Pa,;pe'..U<'Жb!f.O
.
< /Выборка �ь-�
'°�) Co5;:;.<k1'•.c ер%1({.�нФ rdJ,1<'•�·
<>аrЦЮ<.оа
')У"""""'""-''Ме вреr.-.нс.' тэбм.u,.
С�1Б:1�'1рсеа� :xJfl�Ч*fY':Ь� l:.ЗН�е дr&: оо:�nеЩ�ЮЩб."� t-<Зf.')еНЕ-Нt1:я
·········· · · · · · · · · · · · ·
·
���т�т---------------------------------------�----.
Имq вр>0r•"'н>+:•'I 'Сблищ,1..
.. f!
,j
;
···· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·· · · ·
,
. "
:
::1
1
!
:]) !
�!
; :
.) j
lc�-=��=-- �-�=-=-===::::=:�==-=�::�I��
,1
'. 'Т��щ�� дri� :;.��fХ";еН��1Я
'
� !
' 1
Рисунок 434
Проиндексируем записи по номенклатуре, так как по этому реквизиту в дальнейшем
мы будем связывать таблиuы ( Рисунок 43 5 ) .
. .. . . . . .. . . .. ..... . . . . .�
. .
: Зaripu :
.
.
.
-+
'*
·. .,,..,.;,:,:..;
, "
-.
-;."
.,;...·
,
.- .
"
..
Рисунок 43 5
Таким образом, м ы получили данные табличной части документа, которыми будем
оперировать. Н а закладке «Пакет запросов» создадим запрос пакета 2, задача разработки
которого - понять, какая ч асть из номенклатурных позиций табличной части является
ком плектом . Для этого необходимо, прежде всего, получить все комплектующие, которые
находятся в регистре сведений «СоставКомплектовСрезПоследних» на момент проведения
документа ( Рисунок 436).
Рисунок 436
В параметре условия нам нужно отобрать только те значения, которые необходимо
рассчитывать, для этого воспользуемся тем же методом, что и ранее - с использованием
2 19 Верный ста рт в 1С www.work-lc.ru 88002344322 Бесплатн ы й звонок
пакетного запроса, который, после получения условия, будет удален. Для этого создадим еще
один запрос пакета и получим в нем данные из временной таблицы «ДанныеТЧ » (Рисунок
437).
f ; ,_+: 1_-r:t PerL�c�1Pac��Т5
: . �· _.,; ШfJl·,1!!11
. .:i.) и�ч Задач"
t� Вре�'енные тaбrn.4f..JЬ:
,
:'•" .".·�:;:::. ..,,..,,.__...,,,,,",
•
"
..
"
О
! i�:�.i.J :
. с�:�.1 1
дэ!iнь1е ТЧ
1".ог.v.чес=
Номенкг.атура
Cy1'\r�a
'
Заг�.>С ,,,'
-··-··"_________,__.._._.._��·-·-""_,_,
_
__
___
__
_
__
�
...-.
-···--......
·
-- ---�·-.-"·'·'"""·'·'"""_",,,_"_"__
"
Рисунок 43 7
Oiмetia
• • ••· ••••·
!
·-;;.:;;·.,г
,•нj
, OJP
f'
. а1:�ка
· ···· ·:...:.:.Н
..::. m.ч•._.н
С копируем текст последнего запроса пакета и вставим его в параметр «Условие »
таблицы «СоставКомплектаСрезПоследних», после чего удалим запрос пакета 3 (Рисунок
438-439).
. Ji
" . . . . . .. . " . " . """"""
:г
! "!ШБРА'!Ъ
.-
��J.
"
.. "."" ..". ... .
..
""
.. ... .. .
" " ""
" "
Расх с.днаяна �ад:-t:ая:С'.::"1Ис ::: N�оие�J::Л а туры: . Rcr-��НFJia�ypa КАК Я.о.м:емт-t:а т;/реi ,
СУЪ111А { Расх::;.дная:Ее..?<W-,адхе.яСnисок�· uиеяКJiатуры . :::ол:ич�ст:ео i
С'УМИА
..""""."".". . . jf·
)( 1
( Р' ас хсд.� а..яЗаr,_."1а.даая'Сг-.ис�:r..?!о.ме н11'.ла�у ры. C�H.l·ta )
ПОМЕСТИТЬ Дамм:ы<!ТЧ
1\'А.К К�ичес:rъс ,
У�: СуМl-ш
из
!1
ГДЕ
СГ F-УП:ПИЮВА::: Ь !!С
Расх�д!iаяi!а'К-"а.днаяСпис�·к..Ч�менк.па -rур� . �оме:tк...-'е.�'у·�о
И"'iДЕJ-:СИЕ06А7Ь ПО
Нсм�.Н.?"w'1 а Т"./Рd
! i ! f ! ll i / / ll ! i / f l l ! i l / l / ! / / / l / ! J f / l / ! i ! l l ! ! i l ! l l ! J l / /l / / / / / l / ! ! ll l ! l ! l l ! ! J / // / I J
1 1 1 ; ; ; 1 1 / / ! t l l!l ! ! l ll ! ! ! l l! ! l ! !l ! ! ! ! l l ! f l / l / ! f ! / 1 / / f f l l // f f l ! l/!!l l! l l ! l l lJ / 1 / /!
··
·
·м.,""""'"""""··��,.,"
,,,",""
.
1
;�;,;,�i;;;�;�,,,,;;�;,:,,.,;,�;.,;..,".,;,;.�L�:;:;,�::=�:;_:;:";�;;�,,��::::�:�:���=�:«,:;,:""���, :«;�:;,;,:;��:�;=,:�;�"�::��= .�;;�,:,:;��,-",�--.:.:. ���-· ...·l.:Jj
Рисунок 43 8
220 Верный старт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
· · · · · · · · · · · · · · · · · · · · · · · · · -· · ···· ·...
··· 1 �
::и Ах:ти&tос;ъ
. .
- Копиц,,спю
+ =
'�
iiШSЫl,��;i
НомерСтроУ..1<
из
Да"""'":rч
КАК
Да...нъ:еIЧ} j
.
1
Рисунок 439
Следует отметить, что подобные действия ускоряют получение результата запроса при
условии наличия в информационной базе большого количества записей.
Следующим шагом нужно связать таблицы данных табличной части с таблицей среза
последних состава комплектов. Для этого на закладке конструктора запроса «Таблицы и
поля» переместим из области «База данных» в область «Таблицы» временную таблицу
m.:х��· ·. · ·"". . . . . . . . .
.1 1 �· ��=.
«ДанныеТЧ » ( Рисунок 440).
1
. , : ;:D �'·
!:
!.·
j
s
:
.
.
.
(;).
'f.:j
. ..
/-;
регис;ры .(
Б\ХТЗft1epl1'1
�.�1 Реr+'!!:трыРасче:та
:.��·
�
.
.
1'� :t;°� # Х · � "'
; ;����.�---······ ·
.
�0
ВDемеr+!ые �лиuы
О [r,W'*!Jiм�
mi
��;
t'
L......
... ... ... . . ..�•...••..,.••_.._...." .•.
.
.
.
:: � :::n�ue:cы
' ! !
.·
: :· ';
�
.
.
.
.•
.
.
� #.
.
.
'·
�!::;maт.1wr:1a
= !<oiJW-le>:"'O
-т
Cyf..y,.-ta
<-;;( Реrис-тра;ор
'* но...ерСwжм
'"';· ·
.
:
.
�
. .
.
·� i �
; ::
i ·� i 1
�.·1· :.'·.. '·,
[1 �
;; •1
::t -� :·:
:�
. =�
.
Рисунок 440
Далее следует проанализировать, каким способом данные таблицы связать. Так как мы
берем данные из состава комплектов для того чтобы узнать, какие записи табличной части
расходной являются комплектом, в качестве «Таблицы 1 » на закладке «Связи» следует
выбрать таблицу
«СоставКомплектовСрезПоследних»;
«Таблицы2 >> - «ДанныеТЧ ».
В
качестве условия связи в первом случае будет «Комплект», во втором - «Номенклатура»
(таким
образом,
мы
посмотрим
в
табличной
части,
какая
номенклатура
является
комплектом).
И спользуем внутреннее соединение, так как здесь нам
нужен только состав
ком плектующих ( если номенклатурная поз иция комплектующим не является, то эти данные в
выборку не попадают, и обратная ситуация : если в составе ком плектующих нет данных из
\
табличной части, то эти данные нам так же не интересны). Таким образом , мы отобрали
221 Верный старт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
только то , что есть в данных табличной части и является ком плектом. Этому удовлетворяет
условие соединения ( Рисунок 44 1 ).
r.: ��:J
Jf�;-4. "}.: :джШffJ.щt:;!j�ФJй:::;: иf::..·$Р� III�@ШliWk�:::�
·�����ЫШШf
i('f:�"._;,..�� �-:. -м:;:"�.:=:�;:.:::: :'�;,;::::' !\��-;-.;"
! :�-:ь-::�-
1j
��; ����ot."'\.�:�:s���.x. .
1:
1�
1...� ; �:� .:;}
�'
"1.К:с"'� ;
1
· · ··· · ·· ··· ··
·
··· ·�;:;;; ���:;;;:;;;
.
..
:.:_ _:.
.:
fШ8�
.•
. :.".
�.
Е .. • i •�'"'." ·1
�� тч
..... .............
..
(i��,,.���"'"'щ
.
i1. Усж"'"" """°"
�
_-: : .
·
-- ·
------- . . .
.
.
..
Рисунок 44 1
.
..
следует
·_,_..,,.=,·л.'· ·
._,_ __-'-.
определить
«СоставКомплектовСрезПоследних »
.. ... .
нас
� ����;��:...;.���-� -� �шN���:":���
полей.
состав
прежде
_
--��:.:.:
Из
всего
нN
таблицы
номенклатура
ru -��:@йiМ4.t:.:�xttrI�1mYfjq:,;z1tt&.лt�t�д�,� �;wr:c::�tJ.tlt5�
-:xt?tt!tt&•ziш��%fE1ш;:�шк1Wt�:td&Zf�!t:�iJ.:t.����::�- .
1:
��
JJ
,
' ::::"««;)••
. <.;;.
rf.'И': �"" '
•
r':',.r.жow,x
IЬ-:.w.a-r.ы
Г8!Х"г.:r,..·Ф
111К -Т»К
-:7 Г..n&-ь.:&-..:У-"еk··
t.J
: : ; �:::;�;:�4:�е:�� i
• •
_:. :-:::�;:.::::
� �--:...
:.. ....,..
. m_..W__1 . .:c· : .·..,,.. .
. �: Jr._t
� P�')t=�=�-��,..,ep.-v
L...
·
!
·
"
ш
.
.· ·· · · ·
. . .. ··. . _. . .. .... · ···
. :
°'-«��.;.: • .V.'<ШШ<.'.·.•.•••
r�.rмt�
. пшш.
ш
,,
!
шн Шипп
(#
�:,.,+:Q"�a..:fl�»(Ж.;"-.�
"'
><"li �
:: �"'°"�
:-:: 5.-еТ...
•
·=
Ро!>:-И>:;.�·:-.а--о.сnмж.1«
·
.
. .
".
.
.
.
...
..
.. ·
�; -��
�: �_,. :
: ···· · ·
�-: Ре�-ж:тµ,.�Сое�;�
·":
r:' ;�
*·
<
: �""м �"х
�
�S*'µ-,,..,� �
·
�· �
№
.с·
А
.;.
'W....h
·
�-;�,�
_, �.МТ:4�
._ r'�:-"....ec7&;)
��=к:�екп-вСuе3Г\кr1С.-�
· ··---
......, Пер.,од
...... Роn•<:ТР-4!1СР
,_. hам8РС"РСЖИ
n*...'t'f(<Ь,1'�
Y-:"tW1-•
;
�
$
х
.. ,�,.
' �+:f 4Nil-.°':)')�
-
�==;;;s;;�� �;;:;;;.;� ,
.Co.:t�Кc...ceГ
.nne•;:t �(\o;)cne.2fti.« �--ж-.�
.ос
� =��"
� rиru-+fr
..
· · "'
•
•.vш
•-"•
•; •;
а
;7f!:,i/:,;i ;�: � �;\
.
н
m.1'
шшш.wшнн-<нw..•ш.••.···шш.v.vшшнннN."ш•ш.•.• •ш.•.v.••шNшш
.•.•.•,•.v.v,..•ниNNNшшшшшшш
Рисунок 442
�
"
"
�
�
�
•
.
! .
.
,...
·· ·
.
�
u?S.·I'
-- !:;
i�
},
�...,, j 1'!:
,
; l 11 ·
��) J. .
:
. i�
1
.: 1t
,;;,;"��: 1
; 1�:.::::.:. ,....���.-�::.:�:��··· .r
•....
."_
·.· : : : ·.
·.·.
. .. . . ... . . . . . . . •
.
. . .. ..
"" ... ""........"...".-" ""." ... ,,..-_"""" . . .. " .. . ".".."�-···"'-·· ·· ·· ···· ...-."-""."".;,:.:. :.:. �:.:.:.:.:::�-�::�:" . ".""."."... ""--·· ·· ·· --- ·· ·
.•.v.v;н;;,,шшmш."-,•••• .v
-
и
-
·
l
� 1
М':: :��- .J
--------------- ·-- ··----·
. ._,_
.. . .,,., .... ... _._,_..,..,.,._,_
f,
---�) !
•
количество (Рисунок 442 ).
i.ocer.,,.д...i ,, · , >. · :.i
i:
---------.....'�.. · i· ,
·:
,:
. .
•
..
и нтересуют
.
а
4'С"з:\:-сnе�« �
ж
С:х:таеКом'\.�"
. ,...._.
.·.·.·.·.··.·.·ш.,·.:.·.·.·,·.-.·...-.·�.·.·.·.·.··'"·"·"·'"""'·''-'-"•"•"•"•'•" .·.·.·.·.•.•,у,•.:."
ш".·.-.:.·.•.·.-ш....ш.·.· • ,.,_.,.. ""�··��
.., ." . . ._.,.. . . ._,_._,_,.,_,_._,_.,..=
.
Далее
. f1q,,№<, ��и-;,, . . '�?"���.L!�·��-Y"'"
""."....."......." ..
;:
.
«ECTЬN U L L » в данных значениях не используем, поскольку условие по типу связи
внутреннего соединения отбирает только те данные, которые присутствуют в обеих таблицах.
Что
касается
поля
«СоставКомплектовСрезПоследних. Количество»,
то
его
значение
показывает количество при расчете на одну един ицу номенклатуры, но в таблице может
содержаться любое положительное количество комплектов, следовательно, необходимо это
количество умножить на количество из данных табл ичной части ( Рисунок 443).
�
lloi"lё
·.: ·
·
»
Все non�
:.::
•.:;
�
�
Да!-<"11>1еТ Ч
=
=
=
Номе'1Клат;..ра
!fit!IH�
С;1'1М�
СсстоаКсr'l'mекrоеСре3Пос.nедНих
.
.. .
".
. . . .... ." .. "...
.
.
. .
..
� .. .
.. .. .. . . . . . . . . .. .. . .. . .."..
--� ---·"... ...
�-----.. -
""""" . " ..
:;.::
>
.,
·------- -
- "
; �
Cr,p<:.t>�'1
Рисунок 443
Н а закладке «Объединения/псевдонимьш конструктора запроса переименуем это поле
в «Количество» ( Рисунок 444).
222 Верный ста рт в 1С www.work-lcru
88002344322 Бесплатн ый звонок
;··�
· · · · "..; 1а4:!ЫЧ
··-···-· . . . ········ . .. .
l . �!':a�
..
.
.
.
.
. . .
.. . . . . . . ...
.
. ...
.
Coc�Кt..w.. �мк.тGl!{'..D""�Г:�·:;.r:alJ1КC.Кore�c�:·
;:.� .. �:���
��!�
.Ae:3��!';��. �:
� :fP3
:'; J
"L.a�:eT'..i ��NеСта:> .
Рисунок 444
Далее поместим данные во временную таблицу «Комплектующие» ( Рисунок 445).
Рисунок 445
Таким образом, в составе таблицы «Комплектующие » получаем данные по количеству
и номенклатуре, которая входит в состав комплекта. Но у н ас могут быть и записи по
номенклатуре, которая в состав комплекта не входит и продается напрямую. Их также
следует добавить, чтобы потом корректно рассчитывать себестоимость. Для этого нам нужны
данные по всей табличной части (для того, чтобы мы могли сделать проводку по счетам
«Покупатели » и «Прибыль») и данные по всем ком плектующим, которые не являются
комплектами по самой номенклатуре из данных табличной части расходной (для корректного
списания себестоимости) . Для этого нам требуется в табли цу «Комплектующие» добавить
поля по номенклатуре, которая не является комплектом .
На закладке «Объединения/Псевдонимы» добавим еще один запрос в составе
временной таблицы «Комплектующие » ( Рисунок 446) .
,,,_°"""
_·
-''"'--"'"""'
r"""
"'"
"": ..; _
'Y
..
_
· �
'- '"""
....
i--
_·,__.; "ё;;����·;l:.r�:;,,�:��·· ·1
_:�_,,...,
я_._
Г
_
"""
'"""
·
..._
_
-
Х - -& >,j,
�· _
�..,�;.,;.··�-'-"""":,_-;;���-----·
�-
�,· "
�_
1-..
'"''*"'
_
:· · _
n::
•
'""'°"
- '--"''"'
··
· _
_
-
...
.... ....
------­
· ·· · ·
··· · ·· ··· · t.� · ����s��·���тоs���·����;.н�:�л�·���····
f, , 1н.:щ11
. Н:;"��>(.М;у�-:а
:1 ;
CoC"":".tsКc-,...,.�-:eat
. ro� Пос.-: е;:.'"41.<. Кl:·�ичеспю. • �ыеТ4 Ксrмчес-тс
. . . J:: , '····;-;;;_:;-;;;;;;. ;;
_
;;_ ;;;;
....;.-;;;_
;;;__ ;;;;, -;;�;_-.=-:===:��==:;;;;==-;;;_==:;;.=:;;.:;;.:;=:;;.
;;; ==::;;;:;;.:;;;
;;. :;;;
;; =
;;. :-;;;.:;:;;;
;; :�;; �:"· · ··· ········ ····· ···
i.:������;;:d_�··�··•·�•n•"�···�"","�ч·••"'�'"""'''�"''"''�••• m•••••-•••�»••••••�••••-��·•••�-�A�•·•�"""�,..",.,",�"".,.,,_"",,,",��:��:�:;;::} i: : i���::�::J� ,,,,,.�"�•.••••�::=�·:.�::;.������;; �.i
.....-��: .
.
..
.. .
..
-
__
·
--
--
--� ......
..;
---...
..
Рисунок 446
И з временной таблицы «ДанныеТЧ » н ас и нтересуют номенклатура и количество
(Рисунок 44 7).
223 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
t;; :ft ,9
f:�i�
�1 ?er�=��:-:1�)1
i6 ?e-rrtcтpь1?��nt
. :. � 5"3t1ee r\>..�ссь:
§} За.аач"
7.� � "ю�
1
·� :::
:
.D.at+t-� тч
!lЧтtи+а
� - i-юlw'Ь"'.#".Л.�'Р·
�
�� !н-=:ш�ш
�.
·
�····��-�·-···
�
i-1< �
v,
'·
).
J
9 # �
1 .:��·
...,
�-=ТЧ �Jif(),Jт.;;:.�
-. �TЧJ(.;;rt.Nee1'ЪO
Рисунок 447
На закладке «Объединения/псевдонимы» назначим значения полям с отсутствующим
значением ( Рисунок 448 ).
�11\. ·�.
{J IЪ
�! 1 : � 1
i � r.ия
..
·
.
� 1 1�2
j
-& t'
&e
�.
х
"* <J-
3 :&'f : : k-t«·�::,:
..•
i
�-- ·
·
fr.) Ко.....ес rео
1 �-- �;.fu��'�J-.Ji�,J·i�:·
�!
tl!· lr ;.*·
� :.�� 2
11
:_ - ��Q��
- r· ·
�
.
43:--� 1
Jt
:,;_
С:
!
[ �:- '
,
: :.:.
,
�-"
·
:
·
Yt:noev.�
<l
nхю�11'!1:�
'
�rer,p.!
j �.... . . Fi:�. КDJ811r!eC nю
• :
·"
К...-с nю 1
'' i
м
···
····
·-
:.... с���...-.е� пс:кr.е��
:�1
� -- -
: &�х: 2
�)
!!:: t
f-! C:x вe�.r�1C�3f"'ie<nei:tfl« Кcr�..:
� тч �.г�
<С'1 :::рс�еп
�, d
--..-- -.t
�t �
t
�
:i:&z;1ИJ';:,·:::'::r•A'мi:k�<+z.;:: t№ffili!&J§;:';if;�e,д:'#!�!tdf;&._,.ifk��-:::::<:.:�"Z�
. :/:-::-�C;;;:;:;;:.:.§".>c;
...... КоJМЧВС 'JВО 1
Г:,q-f»'..-v�
' т�с� �rю.�
.·
��-
___
tt
.
.
·
<OтctJC'J&)"et';
.,
0::;�-;�·R/���'�
�r-= 1
.
. .. .. . . .. . " . ...
�- -
·· ···
•
�
v��:;
.
.
•
n:c:tpev.�r.�
- д..."1tУаТЧ ����
п�;;:�т 'Яl-"4=<"05
·
�� :
•
. ��1 Cocтae�·-tn��·��IЪcne:»-.ю: i<.:i�Neef . , .
i-" Coc-;as (cv.fn�sfЪc: ne�ю: �,
<01L-YT�JШ
" �-,,,,.,.-'"'.- �.,,,,.
Рисунок 448
�J...!
.
��1'1 .�е-кnа':"'�:З
•
�� j
��-1 J !
.
- ��
�-�:"11
&llМEll!ll!l!I
Добавим условие, что комплектом данная номенклатура не является (Рисунок 449).
� Псn·;<
-· ----····· ··-·-· · ··
.,, с:
··
· .......... --------------···
�{Ц!ffi�ШМ)
· · ··-�---. · ·--·· ····--··
·
::
Рисунок 449
Таки м образом, м ы получили данные ком плектующих и данные табличной ч асти
документа, которая не является ком плектом. Далее для комплектующих следует получить
224 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
данные
корректного расчета себестоимости. Для этого добавим запрос п акета 3 и в
для
и сточника
к ачестве
укажем
данных
таблицу
о статков
регистра
бухг алтерии
«Управленческий », из которого нужно получить данные для расчета себестоимости (Рисунок
450).
1i
., '
!j ij
f: --;.. П11ан1:<!Счето11
'!
·1·
!j 1! ,.:, � ::::�::::ия
·* Пr.1!11t>1 ВидоеРа=та
'"
3:J
!;
�i
�! �1
lJ
��!
JI
., J
.де1u:енияССубконj
<.;.·. :!!:)
..,,; li-1
·
.
' [!iJ
У,,;:li�вленчес�u�
Уnравленчесю�й
"-' .�!
! :_�
.
·
'
·
Уп;:�аеленчесКИI� .06<-..:ро'!Ъ!дтКт
"
".".""»�""""·
.�..�
'.�.�=
��--J·-·
.1 --·-.-".
�c·-·-::-::
··
.
·· ··· " ····
·
;
,
----
. -.•
"'==·•
·
"
"'
"
"·....
"
'. "
"
,,,,
,=
=
=
=
""
"'"'
"'
"·
""'
.. .··· ,
..,
.. ..-...-.....
.
•.•
.•
...
.... .•..
"...•.. . .·.·....·..·...·
.•
.....
.."
....
·
•
,
,, ,
. . :"=
..•
·"·'
· '·-
.:"�,::.��:���" ��;:�:У.2.о.�;,:,���,��,З.:::�"'1 -::.::. �,�!���l
..
.
..
Рисунок 450
Обратим внимание н а параметры дан но й таблицы ( Рисунок 4 5 1 ).
1 � »>1'•«�
':(·
Г:�&1с.vвХар��мк
, ..t.;
. . �
Уnµав�.000ро1Ы
IИJJ!§el%\J•l&Шfll
• !
1 1 ·;; : :��:::"'
:::::::::::�:::IIt I . .
"
·
111
'1
•
PernC'JPbl�<>:ranтepии
'"·
. .. ... � ,,,,..
; �>
<
:. >
fJ· n�чer::ie
' "" •$ гr-8'1мо?�"'
f � Pe-�c�:Cs�Zl'К�
·
ч·· ��j �C1PЬ:i-Js.<�nn�st
·-:-; \'f·� Per.,ictpь:E.yx;-a.�rt1;:мv.
''!.
"1 Y�nei�
",. :-;,.: У�--·
па'""'"""
,.,; !;}
". };:]
" л•
У�гемн��.Ql"�1\:1
!
'tf,: � # X � %
� i ;* tli'!-t!fl·Щ•!ii�
j TG(;;"\.'....f>:
.с;>бt"
с ""'"'
шн,;;;;мшш�шншr
У�--="'11\ .Обсроrь1Д'1<т
Рисунок 4 5 1
Заполним параметры виртуальной таблицы следую щим образом (Рисунок 452):
Период: &МоментВремени
Условие счета: Счет
=
225 Верный старт в 1С www.work- lc.ru
ЗНА ЧЕНИЕ(План Счетов. Управл ен ч еский. Товар ы)
88002344322 Беспл атн ый звонок
,.===·
�1
1
! Псnе
j!
•>
�
· ······ ·· ·· · ··
--
.• •
·· · · ·
...." ..
'
lllM*A&i
-------;.=
=
=
:
=�
. �=
=
==
···".:....."....
Рисунок 452
;'
j
;,
"<
�- � -�
��
......:..-. ......·.�::.�-.- �
. "...,,. l .....Отмв.ча �.. Снр;в5Ка i
"····'""'·о
....к
. .......
�
---у<�.
Условие - поскольку аналитика ведется в разрезе номенклатуры и склада, то
условие будет накладываться на субконто l и субконто2 ( Рисунок 4 5 3 ):
Субконото 1 -
1.
2.
Субконто2
данные по номенклатуре;
- &Склад.
....... ....... ... ........ . , �
: }'
Пете
·i;
'.�,'
J1 1
�- • Субконrо 1
L IAIDJ
i
;�
:�
�
�t
Субконто2
Рисунок 453
Получи м данные по номенклатуре по Субконто 1 . Для этого воспользуемся тем же
способом, что и ранее - с использованием временных таблиц в запросе пакета, и создадим
новый запрос пакета, в котором нас будет и нтересовать поле «Номенклатура» из временной
!' ·-···-·· . . . " �?��.".: , rp;��E�;�---�,-����'2.;�"\.
таблицы «Комплектующие» (Рисунок 454).
:
.• 1!
.;
:
!
.,.�в"'�u-�
а \�
·- · ·····---�--
Б:аw шr.�н�
.."
-·
·
····-------. ---
·<t. !:#.1 Реrис-;рыНакоnrоен.•я
�.;. ! '1 Репv.:тры&,.,.,.ал�
I-!'} Peпtc'!pыPaC".fera
+ ...f+ 6.<энесflР<>uессы
�-; Qi Зсда·41
:с' С:, Времf>+!ые табп;.;ць�
·:·· rrJ Дамныетч
; !1"'1a���!_�li" •i i
���;�;�;��-
-,..,,�
•·
О Щ!М· Вf!М
226 Верный старт в lC www.work-lc.ru
Рисунок 454
88002344322 Бесплатн ый звонок
- Q H<
В тексте запроса скопируем фрагмент последнего пакета ( Рисунок 4 5 5 ).
· ----"
--- - -
B F..Y!"PEEHEE
--------
Данt!ь;.еТ-.i . Rом�м к....,атура:
Дакt""...ы�r4
К.�� Да�l"..ыеУ� } )
ССЕДVLЧЕRИЕ Дамн..ь""е "!' t.i
f"'...А.К С: ::: ::: т а�Кс·М:.'"1..� ет..:: то� С�е 3flс·w'"!ед-.�...их
КkК Д� �ные:Т"4
ii
/l i l ! ll! ! ! ff ! i ! l l/! 1 1 ! / ! l ! ! l/! ; ! ll ! i ! ! l/! l ! !/ / i ! t l/J ! ! IJ ! l ! i // J i / //J ! l / / / ! l / / / ! i
i ! ! / ) J J f f f ! J ! /! ! ! l f/ J J l ! / / J J l f // / i ! / / J / l / // J / ! / / : J J j // J / ! / / ) J l // J / J ( f / : 1 1 1 11 1 1 1 :
. .•
- ,
·ш-.-,....,..,..,"
Рисунок 4 5 5
..,
.·.·-·.·-.·-�ш · ·.·w-.•ш•••·"'•"·
!
� �
1
·
. � .
....,....,...•,.·.·и.··.•.·.·•.•.·.·и.•шшш.·.•.·.•.·.··•·"'
L �..) )
·.•.·•······• ·..
....,"
Вставим этот запрос в условие п о Субконто 1 и удалим последний запрос пакета
( Рисунок 456).
,,. :. . tlt."
' Поле
:_..
.
· ..... ; .... ,f".
.". . . . . . "". . . . . . . . . . . ." . . . . ". . . . . . .] ;.,
.
,
"! :
Субконто2
. ...
"."._,., . . .
• • • • • •••••• ••• •• ••••
1,
1 ;
_____."_
_
_
."""" . .
_
_
____
. .... .... .. . ........ . . . . . . . . . . . ..... . ... . . . . .. . . . . . . . . . . . . ................ .......... ............... .... . . . .. ............ ...............
'''''''''''''''''''''''''''''''" ''"'''''''''' '' У ' ' '
.•·
•lil!t�·IВll .
"' "-----------·---------
jj>
.
" ..
.,.
--�
Рисунок 4 5 6
Когда все необходимые параметры виртуальной таблицы остатков бухгалтерского
регистра заданы, для расчета себестоимости нам нужно взять данные по Субконто 1
(номенклатура) и рассчитать себестоимость за каждую единицу: сум му по дебету разделить
на количество по дебету (Рисунок 4 5 7 ) .
227 В е р н ы й ста рт в 1С www.work-lc. ru
88002344322 Бесплатн ый звонок
".� ..�" ..
.
i �. tif;
.
c.:.J
" �·· J
t; ::JJ
:
�
�
.. .
C.�svц��
�. .
: <
n��мсnе...я
.�
.$ Пле..-ь:бид...
'"'еРа\:Чеn
tй�
[!J
Реп�с
:рыС
Рег�с\Рt;t!:-iакоnг��я
е.ед.ени�
i ::J
[
.
�;..ttc1ec 1sv0.:1•.1� �...
_
_
_
а
�
J
:;; �:; �=�
·······
----
.....
Y"'""'ec""'°"'"'""Kr
:] ,
-
__
_
_
__,
l<йrмчеспюРl!30еР"f�.J::: таюкдт ;
1
f
�
!r1
::> ' !11�"�·. уn�о�к.;�[>сТ;>""' C;��;c=J 1 �
(} & х
j
�
;.�·. ·· )
11
"
< .
��
:
)• .(
«Субконто 1 »
&! !
f1
1
��==::.L:f )
·:
".S:-�� - i
Рисунок 4 5 7
поле
�1
·
· ·=
-�···· ···· ···· ·--�
":'
��""" �
�
=
O=
c· -"'
'· '3i<Ll
=
:··=
=
··=
···'
=
· :._
=
·! _:;;;==
·=
;; �
· ···=
···=
··�
==
:;;:.��:�==�====�:
�
·
Переименуем
�-
� i
С�м!-<sаО:: таТОtС
-
IJJ
j�1
__
. --·---l
.,,.�-.;<М
�-� ·��=�
j
Ре:г01:с..�Рl)Счета
_
!.. . Сце'!
·- !... �
.·.• 1 . Субкоо,.,,,l
4 f<D;
n�e:cт&>Ocr,тo-<;
:
S·
j
:�. f
f1n�rь:&1A08�p.&t<:Te::>t'ICМi<
[.j: �(} Ре:оtс;.�Sуп-�л�'"
"
'
�.�-� .:
пак�JЬ;
:
...
: �.) .
..
".
i� Tr Плаrь:Счеt":)s
.1:
,
:$
на
«Номенклатура»
на
закладке
«Объединения/псевдонимьш и приступим к расчету себестоимости (Рисунок 4 5 8 ).
Рисунок 4 5 8
Как
делен ием
определили
суммы
ранее,
по
себестоимость
дебету
единицы
количество
на
по
номенклатуры
дебету.
Но
рассчитывается
значение
поля
«КоличествоОстатокДт» м ожет быть как равным нуmо, так и - в случае ошибок учета отрицательные
иметь
значения.
Для
обработки
таких
ситуаци й
добавим
новое
рассчитываемое поле в запросе пакета и воспользуемся о ператором выбора (Рисунок 459).
:!11:·t�.!J.Н
1V
�
О Ш О •О О I j
п=-�-�------------------------1 г--;":
�н-�lllll шш ш
Ш Оо Нi � - -щ;,�ш�ltlfl#ili;
!+
j
Все nоля
i
"
'
'
'
{:
i
'
i,*•_
*
�
•
r�
.
���;: �==�����
'·1Р'
Ч.1
_Е
, .,..,.
КОН'ЕЦ
<В
. ыр�ние >
,
····�., .. .. .. ...... ...................................................... ..............
:;.-;.;,.;-;·:·.·:·:,,;�,;;- .;.;-;.;.;,;,;,;.;.
.;.;-;.;.;.;.;.;-;,;,;.:-;.;9д-;.;и,;-;,;-;v;«.·:>·:,;.;.:
,;,;·:::,{.;{•;{·
тоем
'··'
<"-�•�• :'
Сд
Опера торы
[ �
�: �
,._)
I �i
C�J Арисрметические операторы
. . CJ Логические опера-юры
''"'· G;J Проч1.1е onepampы
•
---------
1! ; '�!
.
l�!ii�Ii!
'
........................................
�
�1
)j
�
ВЫ РАЗИ ТЬ
Прочее
;{,,
. ::::::: ·:::.
......................................................................... ...................................................................... . • ...........................................................
·:·:::::::· ........
.
J �:
�р;,;;;;; �
�
'!
·
·
.
.
��
;j
·
�<!
�
��
�
.
·
: .,
Отмена
.
·:·:·:·:· x.;,;_
.;,-;.;;: ,:· ·:·:·:,;·«
: ili·:,;,;,;,;.щ;-;·:·:·x·:v-.w.,;;,:.:.:-;-;-:-:-;-:,:«-;-;.;.;.;.;,;,:::,;,;,;,;:::::;,;,:::.:,-,:.;.;,;.;.;.: ;.;.:«,:.:,;,;,:,:.:..:.•,;
-;
,
,;
,
;
x
-;-;,;,:.:.;,:.,;.,:-·.···"
,;.:
«-.
: :««v.�-v.·.,
,;.:,:.;.;,;;,;,;,;,;��;·Щ:« ·Ж·:-;·A«X«·:-);«�-;
-;
�-;
-:;,;
�
� :;
:;;�:;:::�; ;: :;;: ;;:;��;: ;: �:;��:�:,'\>...
· '"·'NN.....·.·.;,.;.;.;.;.:.:«W.М-V
Зададим условие ( Рисунок 460):
228 Верн ы й ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
ВЫБОР
КОГДА УправленческиilОстатки. КоличествоОстатокДт
ИНА ЧЕ
=
О ТОГДА О
У11раrтенческиitОста111ки. СуАн1аОстатокДт lУ11равленческиitОстатки. Количес111воОс111а1110кД111
КОНЕЦ
=
<';
.
Все non.R
-н� " !
У"".: :-L\
,' · :
.--
�••:•• •
�
. . . . .
<Со.
.......-;..;:;;.�
•••••;;, . .
.
. .
.
. .
·
. ...
"......
:�·::2=. аL"�е �че ::�:;�йС==а Т1<.и . f:с.:�иу�е ::: т ЕuС:::т а;:сК:-z
:·-:: � = r <=- ._· �-:: �·ц ;r;._",.... ::-.з':"�·и .
.;-.•• : •• •••• •••• ".-."
;�. ,
... ........
.
·.-
---:�--�·-·.· ·.�
•
1_' 1! :r�.з_= -:: т :-:t :-::у.:::
�
7':'Г�\
�·:-r-=- = ;- "=':_. � � '� J<Y-VC' -: -:- d: 7' t· и . Y�r:�ч�--:: ':"E '..: .J -::: -:: a Y'.:: :--....: т
. . . . . . . т.� . J :
-•••...:
Сr.равк�_�) :
•• • •••••••
..
Рисунок 460
Переименуем это поле в «Себестоимо сть» на закладке «Объединения/псевдонимы»
(Рисунок 46 1 ) .
.
... " .
.
,.
.
..
..
·...
..
.
. . ....... ..
. .. . .
..
.
.
..
.. .
"."•. "
· · · · · · · '· · · · · · · · · · - <
. .....
... .
..
"
.
"
..
..
!ш
.
.. ....
t
·
. �..
.. ... . ....: .1
Щ
. .. . . . .
.
················· ·····
,J ��:e<;
.
···· · · · • · · · · · · · · · · · · · ·· · · · · · · · · · · ··· · ·· · · · · · · · · · · · · · · · ·· · •
;1� iii'lIB· " ." "; " ";;;� �:�;·;;�ri.:"f.::�:;;J;l��,
........,���"""'""''"'',.,_.....
...
....,
..,...• wч-u.._.
.
. .. ... . ....
..
.
� ��М'У.
ГJ-3r:�
.
..._._...,,_,...._....,.. ,..._......._.
• ..,,•
. ....
·
...
.... .
..
�
.
,
.
. .. "
< Нuзаа
�--
.. .
i·. �·�
�!
1]
".,".�,�:}i
�е:!«�
...-..,...... ", ......, .,,.,,...,,....__
.,,.
. . .".
....... ........,....-.,.._..,.""-"..,··•п••.••.•
l:Er:-в�· >
�i.:a
:�!
·'
"''\·i
�"'""�:,..,0�1•и•дт • !J то;дд о v,нР4Е УnомоЕЖ""/-"И.
.......,....,.
.._ ...,.,
.._. ,,......,. •....,
...,. ,.
••,,.""-" ........., ,.•. ..... ...,.,,...,. .,._.,".......,. ...,..,.,,,. ..•._ ...._......
.._
,
..._ ...._.,..,...."
.,.,,. ........ _. __,
•
•
Рисунок 46 1
Следует обратить внимание на возможные значения результата формул ы расчета
себестоимости. Допустим, сум м а по дебету будет равна 1 00, а количество по дебету
-
33,
тогда в результате расчета получим число с неограниченным количеством знаков после
запятой . При округлении и последующем списании сумм ы по дебету путем умножения
количества на себестоимость будут потерян ы копейки. Для обработки этой ситуации можно
связать таблицу «УправленческийОстатки» с временной таблицей «Комплектующие» в
запросе пакета 3 , но прежде, необходимо сгруппировать итоговое объединение таблиц
«Комплектующие ».
Для этого добавим еще один запрос п акета, в котором в качестве источника данных
возьмем все поля из временной таблицы «Комплектующие» ( Рисунок 462).
229 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый з вонок
Рисунок 462
Для того чтобы записи по одной номен клатурной позиции не повторялись, и каждой
из них соответствовала одна строка таблицы, на закладке «Группировка» сгруппируем поля
по номенклатуре ( Рисунок 463 ) .
Рисунок 463
Поместим данные по сгруппированным ком плектующим во временную таблицу
«КомплГрупп » (Рисунок 464).
·r..... .�..,.
. .
. '
(::;ы� nобt::��r::щ;.-�жя
(::Jfa���
_;
С; В...ба-;""" 11"�(>(
<�,= С:z�·ше врем�й таб,v.�1
'У���-г� ·-···································" ····················"····················
..... ����---··'
Рисунок 464
Далее используем эту таблицу в расчете себестоимости единицы номенклатуры: в
случае если требуется списать все (количество по комплектующим сгруппированным
совпадает с количеством по о статкам дебета), списьmаем всю сумму по дебету, иначе рассчитываем от деления суммы на количество о статка и ум ножаем на количество
ко�шлектов.
Для этого на закладке « Пакеты запросов» перенесем пакет «КомплГрупп» на позицию
выше запроса, в котором рассчитываем себестоимость для того чтобы была возможность к
230 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
нему обращаться. Далее выберем временную табли цу «КомплГрупш> в к ачестве источника
данных в запросе п акета р асчета себестоимости (Рисунок 465 ).
i ;1���:��3;�-· .l:§i�:1.Cr����
i l '":i ��
ji :J. T.1 �
.
��
...
.
•
ш
,
.
11
��
i!
�;> 1:) Гlepeчt1CneHИ'R
'
·
·
�
=
=
"
"
·
·
·
·
.�
:
�
1 :_ '�: �;
•
.
:
:
.
�-
'�i� !�iO!.�
'�. f��-�
..
• •
r; i
:.���3�: .�:��i�-�2Ll.2���:ii!.:���=J.�.fi��:.'�.::i��id: .�.: .:�ii����J" 'l��i�ii.�.�;;·· ·
;
t:� � � х • it� "+
wi
, :и
%$ 1
······ ·······
::Д: Пм..ыВи;ю!Оk!>а<'есис""'
11' nn....ь.-Cчe ro!S
i
•i $:. П�аны&1�)!1Р!1счета:
• � Perw.:roьC8eд"""''\
�j
$- �
......
--�-''
Рисунок 465
Изменим условие р ассчитьmае мого поля себестоимости (Рисунок 466) :
ВЫБОР
КОГДА Управленчес1шi1Остатки. КоличествоОстатокДт = О
ТОГДА О
КОГДА Ко.\111лГрупп. Количество = Управл енческиilОстатки. КоличествиОстатокДт
•
ТОГДА УправленческиilОстатки. Су,11.маОстатокДт
ИНА ЧЕ (Упр(lв.1е11ческийОстатки. Cy.iшaOcmanUJкДm /
УправлеttческийОстатки. Коли чествоОстатокДт) *Ко.мплГрупп.Количество
КОНЕЦ
:; К.,i.nn Гр-,:-:;
= ШWW'+'ffi
"
:..;.,.. �!'tt<.�siv.t
.
.
'"tt
� �!:П�:-(�Jc'Ji5tк'A
.......... .
.. . ............ . . ..... .. .. .
сГ
;
•
"
· -:-�
·
,
•
"' -: -'" - '-
�-:-) .... -
""�,
,... ":" 1 -�.·
- · -�-�""
<;-- "' "' ''"" t'" '-'t"" - rь•:•
l > :- � � "° ,- D '-''-f "'
v ;. .:
-.�-
к
-�''->Г'
-
-; '- 71 �1
- -: --;: - ":;_
7;:-,
- ,., , ,.......
; 1 г ".:- ч. ,... ..."·и�
/ ,..",�"·
' " -.,...
- -:;: -
�/•..-.� .. .
...
;...
... j -�;.�
'}7,... f< -;
r _-:
\, - " �"
·
...
t:.:::--.-
:- ;- ::. �-:: - � ..i:- ::--.J
�71
, -
_:::-
...
":'З,::''>}'
k (: ::и•" ....
- -=- � :
--: !1: - ::.,....: :- 1 "'I . 1:.-:.:-;, '� •:-:: t cJ-p
" �· :-'!"в -..
�� !
Рисунок 466
::�
еж
. !�:"!��� J � S!.��::�
.. .
....
..
J
....
Если мы перенесем « *Компл Групп. Кол и ч ество » до знака деления «/», то это поможет
избежать в дальнейшем ошибок округления ( Рисунок 46 7).
231 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ы й звонок
�!):;��r-!�;.\�j@�:1;;�ш:;ш
� ;1щ:щ;1:rд:i&Rдilltliili1willlWrtl�l!�"'
%:
·::""'i1
il
�·.·�
·:/%11�
l№i ШIШflW
1tlW
��1EiliШft�f
�
��
�l���}5;Q
:ir�п t�}J
: � � ............ ................................................................. ......... ....
..
' ъ,..,
i �"�!1�ШЕ�Ф�В1Ш41Шii . .... "" . """" . .. ."."""""
·
·
-� �
1 ;
·-
� �--· .., ..
� � . :. ]
.
·"
.
."" .
�
<
ш
· ·
··· ·
··
. . ...
· ··
·
'
·
· ·· · · · ·
··· ····
·
н-"""· ·:г:�
. : : ·::::; е:вшz�Ш\!�
�
�
. ........................... ................. .... ... . . .. . .. ................ �
.
1
;�
·------···------�
1
i
= *
...... .. ."и3.
.
.
х
.__
.. , . "z.. ,..,,_
"_
_
.
_
_
'!О!"дА �{�рае.nе�чес�.hСс�атки . С:)rмf"".А0ст��о::; !"'"..Д2'
fi�!t'!
К'GЕЕ:.!
. . .. .. . . . .. ......................
:::::::::;:�;; ;.,;..
. .
...
.
"
.
. .
..
· - - · · · · · · · · :- •• •
;..
�
;{
�
�;.;..= ;.;:-�
:
.
...... .
. ...
_______ _____ . ..
·
·
········ ··· ····
.. .
.
··
.
· ···· ·
· · · ·· · · ·
· ··· ·
·
·
· · · · ··
·
··
· · . .. .-. . .-.· . · · - · · ·_-.............. .. ... .. ....... .... ..""""".. .."
. . .. .....
·
·· ····
· · ·
·
·
·
· ·
· ·· ·· ·
.
·
···
.
.
.
.. . .
.
.
.
........
.
о �·
•
....
�'4.:::-;: �ю;:-;.:.;::.:.) l. :..:u�
·
i
.
� "·E�.· ���l: ",� ..:.1.
···········-··········· . ..
<
..
.
.
.
· --··�
i.""
'
-=
·
·
=
·=
· ·=
····
=
· · · · = �------ '
Рисунок 467
В случае, если списываем сумм у по всем количествам комплектов, то ошибки
округления исключены и тогда строка условие:
КомплГрупп.Количество
КОГДА
=
УправленческийОстатки. КоличествоОстатокДт
ТОГДА Управленческий Остатки. СуммаОстатокДт
- уже не имеет смысла.
Удалим ее, получив конечную формулу расчета себестоимости, и перейдем к
связьmанию таблиц ( Рисунок 468).
[j х
,.,-::: ,.,, _
-s.:�
::
,'--
!'·, :... :-•
-v
�
•
:,. :
::...::.
-- i_.
r/...t' �
-;-
:t
•�' •
'
••
"
• l:
'
-
�•
::. -· �i.. a E-:�r:·s c -:!'"�:.:: :'.з:-,... ,� . :\ r� :a.. :=. � .:i :--: v_;:_':' �
.....
...
•
-' _;:
"" --н:-- -:- r
.
.-.- . �
-�· !-:: = -';'.. =
-;- -::. г- " - .-
;-
· �'"' ,.. -=-� �· .· . :
·
_
___ _ __
_
_
:.....
...,. ;.
.;
..м;,..;,.;,.
..,.. .;,.. _
__,
:
�.
h:
..
;,..
_ ,-
�_
a_
..v-1 -. ..... : ; " -: �!" .;:-:-
��"f;r-�
··
; · ���" "]
· ·
· ::.
-!' -�
Рисунок 468
Для связи таблиц возьмем все, что есть из сгруппированных комплектов и найдем
соответствия по номенклатуре в управленческом регистре бухгалтерии. Получим условие
связи (Рисунок 469).
232 Верный старт в 1С www.wo rk-lc.ru
88002344322 Бесплатн ый звонок
Г© i ; ·��
.
�. r.��;� � �A� \� r .. c.��� 1
1
·:·
·
•
1
· --
·
·
·
, ' �t:,�
·
. .
с·r���;�;э:·: с ���й .�:�&.ff:�&tn:��L.�-��! #.
. E��i�t��!f��J.J:::)}�i��Э �I�:rE!:" . 1.-:Jb��:���:-::� . J.:::E��i���������:�:·: :�
· · ··
·:·
· · · · · · · · · · · · · · · · · · · ··· - - · " · ··· · · -·····�·-··· · · ·
.
�:: �-�
.. ..
·· ·�; ,:
= � �JI
__] !
--=
�-.-----�
�----
"
'
"
=
=
,
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
""=
. "=
.""
=
" .=
."
=
. "=
. ".
=
"=
.""
=
"=
. "
=
"=
. "=
.. "
=
""
=•. . . . .
=
=
=
==
Рисунок 469
.
.
..
" ............... ==-=«"""'==
.
====·""""
Добавим поля сгруппированн ых ком плектов к таблице запроса пакета 3 (Рисунок 4 70).
j i ��;�·;;�i�"- "
·
: r--�:;, ·с тг�
:i : :;:
..
i
.+
:
- ��
� Р::ёt-Ь�&.�д.:е;<араtt�тю�-:Т\."t<
Т Г:о-.С'="•
" '"' """"
$ """"' ""' "'"
- m� Рег�с�1"
� � ; f:�1 P�M,iPЫH!XC("'.!:ft'(t�;I
11
�.Jil Реr�стоыЩхrаn�
j 1 �, Е:� Per��P"de'o1e1a
·
�:
tJ �
--·
;.
--
���?.�
· ··
·
�. . . . . .
-
�
Рисунок 470
При этом поле Управлен ческийОстатки.Субконто l м ожно удалить, так как. значение
.
номенклатуры теперь получаем из Ком плГрупп . Номенклатура. Далее переименуем его на
закладке псевдонимов из « Н оменкл атура 1 » в « Н о м е н кл ат ура » (Рисунок 4 7 1 )
Рисунок 47 1
Теперь основная сложность в расчетах себестоимости состоит в том, что поля:
Управл ен ч ескийОстатки. Кол и чест во Остато кДт
Управл ен ч ескийОстатки. СуммаОстатокДт
и
могут быть равны NULL. Для обработки такой
ситуации, применительно ко всем количественным полям условия расчета себестоимости,
используем «ECTЬN U L L » (Рисунок 4 72).
233 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатн ы й звонок
��Шfili _
..
a!!.t!!:!i!\&В!-21
, 1'>00;;; 11�и14.;тr,шнчи1;щ1.:,:ш
J%Ч·Шд·шщN.
uши1;ищw.m ; (;·�
:,
." _...
..
··
· - - ··-·· ·
·
· ··
w:..
Компnrсуm н�w�;·:г"!"ур�
-..:;.;., К.:
�
-t
nnГР>ТТ: Ка r"�'TTl:c
;. ...:." � &..е no�� ..
: ;v:: :
...
�
.-
· · ··· · · · · · · · · · · · · · · · ·· ·· · · · ·· · · · · ··
. ............. . ...... .... . .
ЪЕ.�С'""
. . .. . . . . .
. . . . . . - .. . .. . . . _ _ .
.-""".1." �
:
!
· · ·· ·· · · ···· -
.. . . . _ _ _ _ _ _ _ _ . .
.
······ ·
...
)'-,·,·":;) F' "';- � , · ·, ·. •Y. ;:.3.:::< . �- :e � �У.�С-'.::;. 7.}(И . 1":_.:У.•iо::: '; " :,<_ . : J . -�.:;, ,
.....
':"';... ,...,.;,
��-/\'.:_ Е . :-��·_, _ _ · ·�·:-::::.з,- е�·се : r}<-: c:-a. zт_.t . �_-!l�-3. :'!'�.'!�·-.::. ;:- ,
::-::: :• ·1 : t?"'r..эв-�:-<'!""=:t{"/.""'':T":'!.'Y;.f. i-.·.:-�чc:--r�':- ,,__ '!'.з-- v.;.'!' ,
·,_,��:..:
.
,:, ,.,:;.,и#"""'"'";......,, ,,.,;.,;.,,.,.
,
;.,;.,;,.;.;,.
.,:,.,: •..•..._,;.,;.�._
;-,.; ,. �.
. .. . . . . . . .. . . .. ... .. ...
}�._.;•
,·,
;.,_,
•.,;.,;.,
•.
_..;.• . .
..;...:,....:... ,-.v;• ,
••,.;.,.. ;•N,;.w... н;.,
· · · · · · · · · ··· · · · · · · ··· · · · ·
,
1
'\.
" J'�!"-:�
:-"':"
:·.::7.'E:..li
�-: ?.:
. .
••.
Рисунок 472
При расчете себестоимости необходимо делать проверку на наличие остатков на
складе - хватает
·
л и их для списания, в противном случае
выводить сообщение
пользователю. Для этого добавим в Запрос пакета 3 еще одно рассчитываемое поле «КолОс тат о к»
(Рисунок 473 ).
·
�
· :�}!'
�
�
-· ·-··-····---····--··-··-····
r<0пя
fн
·-·
... .
.
.. . . .
..
·-·
КorY1<,П Г!J'!<ТJn . Нoro1et-'.клarfpa
=
=
......
Кс.""1лГР'!Пf1.Ко111>1Чество
. .. ..
.
.
.
!�1.
< ! "" !
i �- J.j
1
....
. ,.., 1
о х'
..
.·;-'1
. . " · = 111Wdll111·1Ш
•
!'
El<•iilfi!lfl!!�Z:ll I! ;� \
f(•J ЕСТЬNIJLЦУnраеленческийОст<!тки.
' il�Шtй).
1
· � ; !!
.. •
П;:s,1е:
Комn,1 rp-:;nn . Кйличесrео
����L�L !Ynp<!isneжec�10cтaтю�
..
"J,
f(,J ВЫБОР КОГдА ЕСТЬNIJLl{Упрае11о;нче>';J{и�Юс-тажиJ<оnичес[ . ! :
f(-1
-'�"' f'
к,- �:-J;. :-: -т:....�:r-: I
:.:::::
:
: .....: . .,. . ..
.
Коru1чествсОстаn)кД;, f
.... J.�... . j j
·._
:�·:1р3вr:е�че-:- У.�6i:� :та':'У�·r " t�J::;/;Ч:'=С::'F-::С:та':':.УДТ ,
,
, �
: ,Г;.J..
•
;::-:��Е Е _-:, ::.�: , .;,.,_ >'::.ь= �=r.-=�ч:е ::- :"'i�:1� .;уа у�-;,.� . :-:.:: :I,{,...�з.. � с= з.. = : !'·..:= ,
i-".:1!:-.J:�� :, :::: • :..:::.>:}.::.t = : ГЕ�
•
Е. �т:.. :.·�;,:;:: :�·:1р ЭЕ}:-:: н че-�У�1й:...::. т з T?"Z . }-�.:-::zч€L':'в--С'::-:=г 7г У":: т t
:: ::r:�:
. ...... .. . ... . . . . . . . . . . .. . ..... .... . . .... .. ... .. ... ......... . . .. . . . . . .. ,
· · ·' ······-
�
. .. . . . . .. ... . ... . .. ... . . . . . . . . . . .. . . . . . . . . . . .. . . .... . ......... . .
·· · · · · · · · · ··· ·· · · · · · · ·· · · · · · · · · · · ·· · · · ·· · · · · · · ···· ··· · · · · · · ·· · · · · · · · ·· · ···· ·· · ···· · · ··· · · · ·· · · ··
· -·
. . ...................................... : : тF:J
Рисунок 473
Итак, у нас есть данн ые по ком плектующим с их себестоимостью. Теперь нам нужен
запрос, который бы получал данные из табл ич ной части по комплектам . Использовать для
этих целей временную табли цу «ДанныеТЧ » мы не можем, так как там будет одна строка с
общим количеством, что нам не подходит, поэтому создадим еще один запрос пакета и
получим данные из табличной части «ДанныеТЧ » ( Рисунок 474).
234 Верный ста рт в 1С www.wo rk-lc.ru
88002344322 Бесплатн ы й звонок
' гfi '�
.�
j �
:i �
!j
: �
r;.-$
&д:� А:.:?1:·•г-�ых
.
��, ..
-�·: ··f.�} · р������ в;�-��: .-;· �-�} Рег�1с"Т;)ЫР�та
.·:�· ..:;. Еи:s"iеС'Проо�сы
.. :7::
�.?....:
-:. . .:.:.
:,:,1 3а.аа«1•
Sре....�1-Ь!е rвбп�
<-tе
.�
.
;· С'}
.,.:: ;��·
�
t<,эr.1;.
[о�Ц{
':'"'/ЮЩ.
. ... .. .. . ....
�, C;J Ко1Уtм ГруУln
,,,, ,,,,.,, , ,, . ,.,, . , . ,. . ,,. . . . . . """ . """ .. """.. """ ..""".. . . • .... .. ". .".
" .. "
.
•...
,
� ..,."," "
�
.
�-�.:;_ _ _
: ...... .
. ......... ... . ... ......... ........................... ...... . .................. . . ....... .. .....
;
Рисунок 474
Итоговый текст запроса вы глядит следующим образом :
"ВЫБРА ТЬ
РасходнаяНакладнаяСписокНо.менклатуры. Номенклатура КАК Но.ненклатура,
СУММА (РаG�tоднаяНакладнаяС11исокНш·1енклатуры. Количество) КАК Количество,
СУММА (РасходнаяНакладнаяСписокНо.�1енклатуры.Сум.ма) КАК Су.мма
IПОМЕСТИ1Ъ Данные ТЧ
IИЗ
1
Докуjнент. РасходнаяНакладная. СписокНо.менклатуры КАК
РасходнаяНакладнаяСписокНо.менклатуры
I ГДЕ
1
РасходнаяНакладнаяС11исокНо.111енклатуры.Ссылка
=
&Ссылка
! СГРУППИРОВА ТЬ ПО
РасходнаяНакладнаяСписокНоменклатуры. Номенклатура
! ИНДЕКСИРОВА ТЬ ПО
нш"енклатура
1;
l l///111
!l
///1
1
1
1!
1
1//ii//
N
/
/
/
1
11!/l//!t�'!t1Ш///////ll//////1!/l/////////!I/!
I ВЫЬ'РА ТЬ
СоставКомплектовСрезПоследнuх. Н(шенклатура,
СоставКо"1тлеJ.:mовСрезПоследних.Количество
* ДанныеТЧКоличество
Количество
! ПОМЕСТИТЬ Кштлектующие
I ИЗ
1
РегистрСведений. СоставКштлектов. СрезПоследних(
&М0-нентВре.�1ени,
Но.менJ.:л атура В
(ВЫБРА ТЬ
из
235 Верный ста рт в 1С www.work-lc.ru
Да1111ыеТЧ Но.ме11клатура
88002344322 Бесплатн ый звонок
КАК
ДанныеТЧ КА К ДанныеТЧ)) КА К
СоставКо.иплектовСрезПоследних
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Данные ТЧ КА К Данные ТЧ
ПО СоставКо.мплектовСрезПослед11их. Ко.11плеюп
=
Да1111ыеТС /. Но.11ет:латура
\ ОБЪЕДИНИТЬ ВСЕ
I ВЫБРА 7Ъ
Дан11ыеТЧ Но.11енклатура,
Да11ныеТЧ Колuчество
Данные ТЧ КАКДа11ныеТЧ
! ГДЕ
1
НЕ Да11ныеТЧ Но.,ненклатура. Кш.тлект
\;
\///////l/f.11/l!//lllllШIШll!!l1///'//l//l/ll/l!l!!//Ш!//
! ВЫБРА ТЬ
Ко.мплектующие. Но.�1е11клатура,
СУММА (Комплектующие.Ко:1ичество) КАК Количество
\ ПОМЕСТИТЬ Ко.иплГрупп
\ ИЗ
Ко.нплектующие КАК Ко.1т11ектующие
' СГРУППИРОВА ТЬ ПО
1:
Кш.111.11 ектующие. Но.менклатура
1 1111//11///1/1�!////l///////l/;l/////////I!////!///!l//1/l//l//l/l////ll////////
1ВЫБРА 7Ъ
КшнплГрупп. Но.менклатура КАК Номенклатура,
Ко.нплГрупп.Количество,
ВЫБОР
КОГДА « ЕСТЬNULL »(УnравленческийОстатки. КоличествоОстатокДт, О)
<= о
ТОГДА О
ИНА ЧЕ « ЕСТЬNULL »(УnравленческиitОстатки.СулншОстатокДт, О)
/{олтлГрупп.Количество / « ЕСТЬNИ!�L » (УnравленческийОстатки. КоличествоОстатокДт, О)
*
КОНЕЦ КАК Себестои.11ость,
I ИЗ
« ЕСТЬNULL »(УnравленческuitОстатки. КоличествоОстатокДт, О) КАК КолОстаток
/{о.�тлГрупп КАК Ко.11плГру11п
)/ЕВОЕ
СОЬ""'ДИНЕНИЕ РегистрБухгалтерии. Управленческий. Остатки(
236 Верный старт в 1С www.wo rk-lc.ru
88002344322 Бесплатн ы й звонок
&МоментВре"1·1ени,
Счет
=
ЗНА ЧЕНИЕ(ПланСчетов. Управленческui1. Товары),
Субконто2
=
&Склад
И Субконтоl В
(ВЫБРА ТЬ
из
Комплектующuе. Номенк.•1атура
Ко.�тлеюпующuе КАК
Комплектующие)) КА К УправленческuiiОстаткu
ПО Ко.м11лГру1111. Но.менклатура
=
У11равленческui1Остап11ш. Субконтоl
\:
lll/1/'/1 !// ' .-'/1/////////l!l!t �11/l�l!i/111/1!///l////l/f// '////l/ll//I
! ВЫБРА ТЬ
ДанныеТЧНш11енклатура,
Да11ныеТЧ.Су.м.�1а
\ ИЗ
1
ДанныеТЧ КАК Данные ТЧ";
5 .2.2 Бух галт ерский учет. Та бл и цы.
Рассмотрим регистры бухгалтерии и их свойства.
Для этого запустим приложение в режиме « l С : Предприятие» и откроем консоль
запросов. Нас и нтересуют виртуальные таблицы регистра бухгалтерии «Управленческий»
(Рисунок 4 7 5 ).
i :' Ttlo'!�;·;�;::;;;
i 1 �J r1.
'
Конструктор запроса
; ! : /P'
Y!'!.
�·� :�. .::.J�• ].j- ,;'\�-н<���-
!, �' Ьr;. м� ?�..;�3&t.s°':
�:
!;� :
j;
�1
·
.
МI'
:sа•
·
:�: ��::;..=:��
:�: :o""'S"'»:":::-<t-...�:WA�1�Cof
f�· ":-'r��:мк-�ii1:1�
·
f'r. Ус�'-"""""''"� i�·"""""X ;tl<"""
;-.r. ',.':-.(:���:к.41 {:/(.,>:>:·'"·.-:
·
l 1 L�,�E�
i
�
......
.
. . .
..
.
.. . . . .. .
.
;: :�-��_,�!<�����:} , )���;!$
-� �ъ � с. f1.i
·J I '
г:
·t"*
;°; : Иtt1·(:-� .: Г���' :
-�-
,.. �
2 3 7 В е р н ы й ста рт в lC www.work-lc.ru
Рисунок 4 7 5
88002344322 Бесплатн ы й звонок
Рассмотрим параметры виртуальной таблицы остатков регистра «Управленческий».
Цель работы с таблицей - получить остатки по счету в разрезе какой-либо аналитики
( Рисунок 476) .
.. :. л�r.f.'����"
+
=J;
·
'?
:�
:::::�
:.;-.
:Z.·
•· ·· v.:;�""i; . ·
�����;i����?::J o���#.��;;�1.��1;��!.i : �рямЖ
�� # ��
• ит�.,... :
:�,��� -' :.: �i";��\
. т�бrжJ,'>'
·
• �-:·_;.� . :t�
_ ,.�,1___�
l�
·.r;i
� !*'
�
,!,C!i!!!
�
И1�
11
�
··!м
·".'l
\t�
i1
�
i�
D
�
��
!01
0.·11.·.·· ·...."""................"........"·. .·.·.·.·.··.·. .·..·.-.".."··"·.."·"·.·.·.
* Пna""1E"д')t;P�c•�rc
� Pe:иc:: r;:�rUJ�дe��
(i;!) Р0111стµ,1Н�оnr.�•м�
L�i Реп�с���Бр:r аг."!ё<f.""':И
·
;. !�! У1<р"6n,,._<><ИЙ
'i' [�; У11рмле1·� д/3иже!1ИяСС\��10
•· 1�) Уr;рзеш&N<�<><:v.й.Обара;ъ,
с·"; L!f) Y11p&.3лf.t<•ec1<мi\ Оборо�ыдтКт
t' :;т: аш:.SШЕi
l�!tШЩ
-�� 1�· УnрзеЛ&.'м:О<WЙ Ocra1XИY�Y.JUpc1Ы
·::;) L1.J �ir.ра;}ле:-tч�ао:и:\ C)lf>кfйi70
L�J Реп�сц::-ь1Fаl;4е�а
�\ 6'<:<НС-:ОГ\Х!ЦОСС'�'
С�] Задi;N�
•
Рисунок 476
.
.; ' >
..
1
·
OECJ
Период - параметр, который определяет, на какую дату требуется получить
остатки по счету;
( &Моме н т Време н и );
Условие счета - параметр, который определяет, по какому счету требуется
получить остатки;
( Сч ет = ЗНА ЧЕНИЕ(ПланСчетов. Управл ен ческий. Товары ));
Субконто - параметр, который определяет состав и порядок следования
субконто в запросе (может приним ать на вход как список значений, так и массив);
Условие - параметр, который о пределяет условие, накладываемое на субконто
( в данном случае: номенклатура и склад);
Рассмотрим на практике использование параметра «Субконто». Для этого выберем все
поля таблицы и заполним параметры запроса (Рисунок 477).
238 Верный старт в lC www.work-lc.ru 88002344322 Бесплатн ый звонок
...
1 Y�::!r�IOC<P.(i.:;!"!!r;< C}���=
·; :f (�����
,) �1:,-;:�•'ttl!'rX
'7
.?
·
'··
l" Y�a�JФ.;): :��o?�:.:m2
�.) Г:��;;�.-;�
;J P;�:::&:�lFiЙ":':'f:�
f Y��.�:
.,
�:
:�: f'
: J.: �и"���Оtтт:п:�
� Y�ror:€:1:;э(t3�}:;-:-a':'f'J.� Jo'.i;r:;+:�{}cт�r.,-.;r..fu
# r/,it<o•S\!;i:,,;f;,.,..1;
� ��
.1.1 f'�::rь���x
.\� Pff'Y,:�&:-1ra..�«:-м
.;· i� Pw.:���ЗC-(t!a
,· J'* &,_;Гr.с=
\. [,] �!
f ���=:e�"j.�)::.·s':):?: .;',r,r::.���'t 1��кj
1 !h.:as;�-Q;t�'!'t��i.cw�"E(.?-��;·l*.
: Ci--.::a:(W il:
4 Уц:����'6.:::а:ю� �r«-.:;:;c:iw;P��;t�.r.r1<K:
:::J
'}
�
t
i Yr�:=.t...��:
�vt. н!:t:( C�'!!'f..c.'!'!Ж
.f�t
' Уr:,э:r."'1��.;.:Ю.::а�,;.: С:�-и,..���Д!
1 \'r:-o.;rF.'"'"(j-;М(kт1;я �i°vl:'!ё�:I\'
i :�r�=*��W(�':1':):?. Cj�Pщ:н-;r�J;:::t::�l'L:
Рисунок 477
На закладке «Параметры » консоли запроса добавим параметр «СпСубконто » со
значением «СписокЗначений» и заполним список субконто предопределенными видами
субконто: «Номенклатура» и «Склад» ( Рисунок 4 78).
Параметры запроса
о &!
о Wi !Ъ��<>9
-111111.!IПHilJiiШlil1rШ�1Ш�IПIJ1!11iJlil.ШШiiШt
: �-
#
•
:
Рисунок 478
Результат выполнения запроса состоит и з 2-х номенклатурн ых позиций. Следует
обратить внимание на порядок очередности колонок: Субконто 1 ( номенклатура)� Субконто2
(склад) - именно в том порядке, который мы указали в списке значений параметра
«СпСубконто» (Рисунок 4 79).
······
�-:;.
·---
, ,
;;;;;;
.
.;,:
.
...
:,;:,;;;,
..
:.;_:,;
,
Y'npr...���""f� ��:.m�o-:::-r-� �кv.. . Су--б�::с.t.tтс ;: ,
..:.:.:...
...
..;.,;; ;
_
Упре:s.;:: �:�че:с�Сс::-атк;{. l\0::1i'Чe:c·:"sc:Cc":'a::y�:.,
-
.;:;;_,
.
.� .. ..;..:.:.:.
.;;:;
.. ..;;;
.. _
..
�;.�:. ...:,;:.:;
.
.;;:.:::"
У�раЕJ'l'�::: нче: ::: кий.Сстз.'!'КУ. . 'Кс.r;иче r:твс<::�::- ·'!'а.':;:'01'..Д:- ,
У.3';:: а��е�чt.сжий-���а=r.� . Х�7:И�е с�� ��с�а=��К':' ,
Yлp� !:Ji �l"f��G-:i:.�j':G � ·i· �� r..и . KQ;t.И"!�(.�o;�cF d3.E �PHY':'�CC ':'.;:t.'; ..:: 1'
..Д.'l 1
У'прс:-r:.Л�н�е -:: ?-·А�О·:: ':' � �::: к и. }(!:'ыr..�е: -:: ::-l')сf"'азь �рну'!!::ZЙСс-:-а':'�х'К'-:- ,
1: . ..... .. . ... . .
.
:?пр.=.Б..f!�нчес�С�':'а:i:JG! . C>'reuC:;;':'a�·.> K ,
У.n-;·н�:�Jiе�"Ч.ес:к-иУ..Сс"'!:а.'!' �?. . C��2'"!:"-CC'!! :'-7CJC:;.°'\T ,
--····-·· ····-·····
..
... - "_
�
,
.. .
Yв;: � �r. � f
te =�
Jd:;) :;'! 3.':' � .
P
!::.�aC-:.-::-r �::· =x?.:':"' i
.
:,.:-лр� .r:.л.� н :..r е с.�.•,-i!V :-;.':' :::т ки. � С-уt.о.v.t Р а з r,�r,:в;�:'�С:::;тз.-z ('Ж'ДТ ,
"".
..
" " . .
.
.
·"" . """.".""."•. "".""..""..."""""."."""."" .......""""_""."."" """._"".
" .
"
". "
"
"
. . . . ""
. ""
2.CV<J '
Рисунок 479
239 Верный ста рт в 1С www.work-lc.ru
.
"""".".. " " " . " " " . " _ . " " ."-". """"." " " .." ." " " ". " " " . " ""."". " " . " " " " " . "" "
щю :
88002344322 Бесплатн ый з вонок
. .
.
""" """. """ . """ " " " ""
. .,
"
"""
" "" ""
.,
"."._
Поменяем местами очередность следования субконто в списке значений параметра
и
выполним запрос ( Рисунок 480).
Рисунок 480
В таблице результата запроса порядок колонок в запросе поменялся местам и, согласно
очередности в списке значений параметра (Рисунок 48 1 )
.
ъ:-����"1�l�че ..: !f'...ийСС 'r���1 . C\·�r.:c�":"::: 2 ,
У::;:�злепч�схk::Й'� G1"а�:си. К::�ич�G�3�0с'="�Т��.
У::р� �_,"ем� ::хю::Ос. ?а't'хи. K::л;c-i�c:.:r!S::.Ocтe"roкK-r
У-4р::;�"1�.нч е. :: � �ат?оG1 . К ·::�ч�с:'t'�::)(.>ст�'="=: r..:1'1" !
1
.,.�";;:.r:��:�нче·= �.ийОс<r�'t'�! . К·::; л�че: с -r� 0 Ра 3 :0.�р �:,.. - �Ост �т<> ХД'1" ,
У::;-: � зп енч:е ::..� х.ш.�С-с ? В'Г�..и . К-::: ,:и..( ч ес=r:s :: F�� se:prr;_; -rыйo.;:;� e.<r::: ttK r ,
?.:;; s. � ,:, 5!'нч.е .:; �.У.й:Сс "r � � ю1 . C �
·
и
:Cc -r "' 1' .:: r. ,
У:;;: �з.:;е:кч:� сх.v��\)с :rа '!'�.У. . Су:-и�аОс та-rоХД-:- ,
Уr::р��.:!�Н.Че ·��..ЯЙСС'!'ёl:'r'Ю1 .
Yn;:aз.�e.f'SЧ:� �x;a��c'!'a 't' �.Y. .
:
C.Y:·�:и�OC'I'etТ' Ctt"J:�-1" t
Cyy��aP4�3��HY':'�C'rd:'!'"Cf!'..Д.'i" ,
-"
" ---,·�;;��Q;;�·;�·····
, -:
:-сн;
-6'<
:
.С
-:-:-��---�-:
;� 2':""-
.
.
... ....
.........
т j{,:·ri���"i;�;;�
·
т
2 00G '
�'::'� ;.�:>_-��IF.
.. ·-·
. B•cit<:�:.rx E>i �$.!/ t;
····
Рисунок 48 1
1.h'IJ
Удалим из списка значений субконто «Склад» и получим результат запроса (Рисунок
l�' :: ;;;; ; ; ; ;_:;;;:;�,·:;;;;: �
482).
_
;
'1 . 1
.'.
·.• '
·
"
. .=...
;.J
.. ............................... ...... . . .......•. . . . . • . .
"
"
;;;;;_;;; : суб�;;;;�;i' "
. " " " " ), �;, ,;�,;�.;��;�о:;
. .
... ." ""
"
���==�=.�::�::�;:;::: ��=�=��=:��:::�;;� ,
"
""." ".
�7 прё1:аn е t'!:.r�1-· 1":..ий<.;. =: т� '!'Ю<'i: . ��"Чес�:иоОстатс:Х:К�,
,
i
�.!пр.азле �ч::с�=т� :r �л . �:�r-rчec�n:: Р;:..: � э;еµ�:�'7ий0с'l'й'rОкД=,
:(�piJ..ъ.r:ettчt:: .:.:.a<:иV..C.:.:•!:�:1'":""__..1 . ::�o.s-..:.i ;i eC"·.:.· 5of'-::s.з :
н:: µ.l*-y"l'��Qci;,·� 1.'с ,<.К·.; ,
�
Унv�ъ,r.�нчt:: сжийОст-ii-r':"'У. . •:yн.м.a(.;�'l a ·z{.J Jt'. ,
Упр� �""':l! н-че.сю'fЙ"Ост-ё. �� . Суt-!!"!�С='t'�т;;!<"
....
ч'!: ,
......................
����-: ::::.:.�:.������-� �-���-�-���-�:-� _:.:.:.:.��:.����:.:.�· ���:.�
........................................................................
1
.
)" r;;:�. а�.r:енчесЮ'!ЙОс'I'а'!'-:"..И . C'yJ-2"1.aO=•N!1:'I'cr.Д'i"�1
·
····--· ·· · - ········· ·-······---·
!.1'
�
=;.��
. """.""""""".... """..."""""""""""" "". ". """"".""".....""."..""""""""""""" . """"."".".""""."""""......"""..."".. ......"J
Рисунок 482
Ошибка связана с тем , что в полях запроса указаны как субконто 1, так и субконто2
( Рисунок 483 ).
240 Верн ый старт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
i hc"J':J� �'!t:'t,r.(
, ,,� & !в=
····································
, ........... . ......... ........
·
- �·
: �.-
(..�
1Г
l": :; ::
CJ
!."
t ..
c."�1�:v.
Дж·у��h'
;_
�
�
J
Г:ере:ч:.1t: r:ен•��
3 f1:'1з:�ыPc:.{;").".OkPa::1'"�::c..<�T}l(t:
-t-- 'fr tЪt�!-:ыС-..е :ое
:
� �:; # Г:..."1аt'_ыВi.(;х:>еРз�тз
-� � P�K1�Zf.'Н.\�
· -+
'·
·+ ?f.
�·:·�
' ''
·
«
·
�::_:.
�}
У�:,ен�ь::ж�...)сr�-:-�...t-: .О:е�
��}11\-йШИJlll!J!!�
y·=-1��=--�:..�.)(�l!�t� Cr�f.»':т:,"';
y���:�·«=z�r1"t'Jt;"!��� �.!:щy.чe:�.�-!::ft()::..· -=-::�ir.:Kr
Y�::.e:iw.e-;;io:�:Jc!-.1"'!?."� КQ r,i�ч;зса.-;:=·а ззермr:';)1:
�
у:-�5;��
..к.t�Юс :ё :'l(,��.l<cr:���Fas1Sф1r :ь�
9
"$
�j
;
·t::p.a�i:��e-:;11. J�t'l()c;-" : }l;И i<or.�щ�C�3c0C:3't;;!!'1.
'Y":-pзa ;-��w;t'10c�-a�t�.Кo�•� *f�::-;�.:�)c�1:)w;Д-:
-;,
i
P��иcrpti-:Ha.::>цr:etw.�
i:f f'=v.:tPx&t>Тe�··
ti Р�:-и�1'-"'11:-.:Р'"dС�1?.
.?'° fх..Е:�..-ь:;[\зсце:�
......... ... . ... . :
Y�ээ:-.e:-tie:::''<'"4hJta."":' ��-c'ft'-�э)c:a: �
Y:v��:":e.-1-:
� :;io: Y.J
"tr..
....x:!"-r":J<
.
��J.�
.: ;�t:Лт
':-/:-i,.,._.:iз ;�: �w;1.�
.r\. : :?.-:'l(.�.Cy"!,-s:-..::;;t.A·��-:�к К-=-
....
.
·j �
1j
�i
' : ::::::;;;�::::,�::�:�:;:·
:����;
i
�.
. .
�ДIY-f•C
�--�-- --� . .. .. . .·. : .. ..... ..... . . . �
... .;: .... ;.:: ..... ;:: .. :.":�...
Рисунок 483
Удмим
поле
Управлен ч ескийОстаткu. Субко нт о2
из запроса и
вьmолним
его
повторно ( Рисунок 484) .
У�р.ъ ь."!��'Ч.-!СК..0>111G::.'!'О71С.1.� . r.::-е.1;,и�'tС·'!'-ВО�Т"а·� ;JУ.. ,
Уr:ра.ь;:��ч:�с r,:у.�.Й:Q.ста -:-·r:и .
К�Nеств ,� Ос,тат�кД-:- ,
�'::f: 4 �=Р. н � �скийr;� ��7кv. . Кс.r:�ч�с -:- �сО�та � �жк � ,
Yr;p(} &r.ef!�-e. c к.;.�7!G�'I � 7ю:: . Ког..и��с .�:•.-s.с: ?а::t.:::: е:рЕ)"''.l"Ы'Юстu.� -.:> кД� ,
У::р.8ы:�м ч:�сr.;.оJй�-ста-=т� . K ·:> ��-1�c:.. т� c-"Ps з:s�p�"-=W.()c:zia ':' � rtl(::; ,
��аJ!.J:е� ч� с�.:ийС :::;та ·'!'КУ.. С: :л!!-!�Ос-z � '!:с к ,
У:J.р а ь.r.енческ�.s.1-G�'!'с'.»? Ю.-! . Сун.м.31()С' ':'5..'I' -с � � ,
У;:р:н�;;�ич.�сr::иУ:С-с-:r�-:-r.А . Cy,�·.::.eOc:;o�тc r:l<�,
�;;р �вJ:е.нч-�с кийСс"f"а�ки. . С:,?1:>!!·!:1:1-'а:э ь���ут·��Vс'!! атс!t'ДТ' ,
�'r;р�&лен·ч �ск.;..ШС�·rа·:,:ю-:: . Cyi-':..�aPa.з5t:: P f:i:<''Z�C><..: -.r a·2'cr,..К•r
·
,
· ··
·
-- - -
-
Рисунок 484
В таблице результата запро са увидим данные только по Субко нто 1
-
-
-
-
«Номенклатура»,
как и было указано в параметрах. Таким образом, несмотря на то, какие субконто, и в каком
порядке они указаны в запро се, с помощью параметра виртуальной таблицы «Субконто »
можно управлять ими. Это особенно полезно, когда требуется обработать данные по
большому количеству счетов сразу и, например, в случае, когда одна и та же аналитика на
разных счетах является разными видами субконто, но при этом нужно получить един ые
данные. Для решения таких задач можно передать в параметр «Субконто » и список, и
порядок вывода нужных субконто (кроме ситуаций, когда нужного субконто на счете нет).
Рассмотрим параметры виртуальной табли цы оборотов регистра «Управленческий »
(Рисунок 4 8 5 ) :
Начало П ериода;
КонецПериода;
Периодичность;
УсловиеСчета;
Субконто;
241 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатн ы й звонок
Условие;
УсловиеКорСчета;
КорСубконто.
.� 't:t.�.� fЗ . �?j ,.,"
. :• l:w.SrN:oit.
.': . .
'�\
...
�
�
:J.:ж
"f'.a:
rд111!iM<!!!�HЫl!i
�-:i
�
;.
'!�
·4>" {.J ��...
..--n
•
t'::>,c. �w
-.�
·· =�� :\r.•-.:3иJф.С)�1�:�:;.,.
:1.
_..,
:т
;. ·
·�
.$'"
:$ :"l:::!:tW•&.u.o=eP�:-w.�·o
f'erw:.::;)bl(.a•;;'!J."'И'
?ж-.+:-::)Ьl�Х:Х:;"���
:�..: : �О>'.О...: "'";"�6.}А':•Ш"�;о.· ·
�
��}
_,:_
•
:;х:
��;
.. .
: ...:-.�. :
;.���0--...t'.!:t�
У·'\:'���С.-.::l')Ф &;.ot)t.�·.;.l'".C•'.to:»l'>"t(:
-
мнzw.шчgкI!MiШThJ
'» ;·.�j Ynf�{»+.rIOtW� �>юот".Д"t:О:т
<�� �: ·" �.l!tt �'!Y'.......t :<':'; Qc т"·w..v.
�- t11
•.,
;�J
,_..,. .r
�
: ; . �.:.t
+
:.'!!'} у,·�·�l"·т-t·�с-к,.. >Ф ')c1'6'fKv.;M')6c:pc•1�
:� Y:�:�-..,�� C'r'"�--=-•· N;
J'�w.:").wP�� ть
s."�·�f".p�X."\И
]:itЛ..�''"''
. ...
JJ j
.
...-.·�- �===-..�2�:���--
. , ,,_._...,,. . . ,•.•.·п.•.·,_
-·-----�);�:::·:·)::\:·:·:·:·:·:)
:
•
·.•.w ·
�
Рисунок 4 8 5
Некоторые и з этих параметров были рассмотрен ы ранее, кроме Усл овиеКорСч е та
КорСубконто. Обратим вниман ие на
их
и
свойства. Если мы попытаемся задать общий
параметр «Условие », то увидим, что для него доступны поля как по Субконто, так и по
КорСубконто (Рисунок 486) .
-1�;
.......................,
...................... .... .... · · ···················
-- .. --·-···-- ---····-....
... ....................................... . .... ·············· ··· ····
г �
. .
·· ·· ·· · г..·...... ... .....
·
· Ycr.vвrte
.
....
Усн:s>'еК�::iрСчета
! 1<'.орСубю.�.нrо
'
i
1
]
0r.<%м<i
гь,;;����
�
�
· :т
,,,.
о_
_
,
,:
,.
:=
:
:
: »»:«««
::
« :
=
-..
»:«<-:-»:<«-:о� :�:««»»»> �»:-:-�;..'»};."_-:.;.:.:.:.
:
:
:
:
-..
.
�
······,,,,
•....,
....,
=
....,
=
,
,
,
""""""==""""'"""="=
Рисунок 486
Однако для КорСубконто можно задать условие и отдельно. В таком случае результат
будет выведен не по оборотам счета, а по оборотам корреспонденции счетов ( между одни м и
другим счетом ) ( Рисунок 487).
242 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
i
!<l;>�;!lep<()дi}
r� УСr:-оэие(\tе·'!а
J. f1ei:-t.tGДH'<t1G>':Th
Рисунок 487
Что касается порядка работы с «КорСубконто », то о н аналогичен принципам работы с
параметром «Субконто»: точно по такому же принципу можно управлять аналитиками,
их
порядком и определять, какая из н их будет КорСубконто 1 и КорСубконто2. При этом обороты
получаем как по дебету счета, так и по кредиту счета.
Рассмотрим
параметры
виртуальной
таблиuы
« Управлен ческийОборотыДтКт »
( Рисунок 488):
Начало Периода;
КонеuПериода;
Периодичность;
УсловиеСчетаДт;
СубконтоДт;
УсловиеСчетаКт;
СубконтоКт;
Условие.
243 Верный старт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
;·!'- �· Пf.<�'t�f?owи;iJ�.�.:! •<i
�Ш ?":'f'w.:::�-ыC8i!ц...�. M
.·;. f;�) Per:oten:�н:,7$�·.:E"'::�t-:��
.:.� i� f'.:::r:ote;iI016.)'>7Zin::oe-.з:tc.1
·�: j:�J Уr.р.;Ш;>;{�:����№
.�:. f�1 Yr�:r.в;:�:i't6.Y� д.5И"���)'61'1.:,.чс
�· · f?? Yf"1:'�5Ut<m�:n<tf< С&ра�
��- i��J �1y:pA-f
uA&�i>�Qi}$i�J:->!
��·-· j7f: Y1·*·:.;;.P. :::�o/.��:J)cr�ЖY..;... L"t ),.'1·�е���:\-":.О-;r.;н№��;1ы
·f' ��
j 'y�B:!��W.( }€<e.•>fro
.:_.: -�! Pff'Ж:;'\::blf°�c.-.:en:
.:?
!-\.
:;;, [�
5.�.r.€:"":.Г:;"й:L-7.":i'.1-J:
·····-··-···----·------ . .".
··------
Ъ�.-:
Рисуно к 4 8 8
И з таблицы оборотов по дебету и кредиту мы можем получить обороты между
определенным счетом дебета и определенным счетом кредита (если ранее мы получали
обороты между управленческими счетами, независимо от того, где он и находятся, то теперь
мы м ожем указать параметры нахождения либо в дебете, либо в кредите).
Рассм отрим параметры виртуальной таблицы « Управлен че скuйОстаткuИОбороты »
( Рисунок 489):
Начало Периода;
КонецПериода;
Периодичность;
МетодДоп олнения (Движения; Движения И ГраницыПериода);
УсловиеСчета;
Субконто;
Усло вие.
244 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
'� '51 !l...-.t.·.�a<ni1
' :· Ш1 C:'n�(':.v-ci.c:<и
-:�·; f:::�: i.�-:i�yw:��:
':· {:-:1 �-t'�1�C�"":;:
. :. " :J!"X":•:t.:��"F�·:1�
·7.. � ?iv-;t:.�'l:/.:в�iЮН-:i"�
+ L�; Piir���.r.J-�J:
:'Ji. Pi;'f·�:;..._,.&,-»: �11:':'\."'
" ;'fj ·;��-,��
,i �"j ·y��:'l�i� .:Ъt!.:-et-:� aCCr&�""'='C
�· �} y��.�v.� �ful
f· (�1 Y�5.�1+eC'f'"j(� GбQ;x:;::t:tf;.rКт
,�- {'!i-1 ·y:�;��.,��j.o(� О..�:11:х:1
· '�'
. r.11.-1
(· : � ·
Ш\i!J:tiШJltNШШiЪ:�l.=
�:'";1:15;���-,..,с?; с.�"&.��
Реt."�":.�Г.;ес.:е-п
. ...\ Sм�J";уо:.ае-ссь.:
· �} :i:tM'4:
Рисунок 489
Параметр виртуальной таблицы «МетодДополнения» был рассмотрен ранее на
примере
регистров
нако пления
«ДвиженияИГраницы Периода».
и
вКJПОчает
два
Соответственно,
вида
если
во
дополнения:
втором
«Движения »
случае,
детализацию для регистратора, то будут записи с пустым и регистраторами
для
мы
и
укажем
начального и
конечного остатка, если укажем «Движения», то и их не будет.
Рассмотрим
значения
полей
регистра
« Управлен ческийДви.жен ия ССубконто »
(Рисунок 490):
<«И м я измерения»> - поле, содержащее значения балансового измерения
регистра. Количество таких полей равно количеству балансовых измерений, о пределенных
для регистра как объекта конфигурации ;
<«И м я измерения>Дт» - поле, содержащее значения дебетового небалансового
измерения регистра с именем, заданным в конфигурации;
измерения> Кт»
<«И м я
поле,
значения
содержащее
кредитового
небалансового измерен ия регистра с и менем, заданным в конфигурации;
<«Имя общего реквизита»> - поле, содержащее значения общего реквизита с
именем,
заданным
являющихся
в
конфигурации.
разделителями
(режим
Такие
поля
разделения
создаются для
данных
общих
Разделять)
реквизитов.
с
режимом
использования разделяемых данных « НезависимоИСовместно », в которых и участву
данный регистр;
<«И м я реквизита»> - поле, содержащее значения реквизита регистра с
заданным в конфигурации;
<«И м я ресурса»> - поле, содержащее значения балансового ре ур а
по именам ресурсов, как они заданы в конфигураторе;
245 Верный ста рт в 1С www.work-lc.ru 88002344322 Бесплатн ы й звонок
и:�1
<«И мя ресурса>Дт» - поле, содержащее значения дебетового небалансового
ресурса регистра по именам ресурсов, как они заданы в конфигураторе;
<«И мя
ресурса>ОборотКт»
-
поле,
содержащее
значения
кредитового
небалансового ресурса регистра по именам ресурсов, как они заданы в конфигураторе;
«Активность» имеет тип «Булево ». Содержит признак активности записи и
влияния на получение итогов регистра;
«ВидСубконтоДт<Номер
субконто»>
«ПланВ идовХарактеристикСсылка. <имя»>.
имеет
Количество
таких
полей
тип
зависит
от
максимального количества субконто на счете плана счетов. Номер вида субконто начинается
с 1 . Набор и порядок видов субконто соответствуют набору и порядку видов субконто у счета
дебета;
имеет
субконто»>
«ВидСубконтоКт<Номер
«ПланВ идовХарактеристикСсылка. <имя> ».
Количество
таких
полей
тип
от
зависит
максимального количества субконто на счете плана счетов. Номер вида субконто начинается
с 1 . Н абор и порядок видов субконто соответствуют набору и порядку видов субконто у счета
кредита;
«Момент
времен и »
виртуальное
поле,
которое
не
хранится
в
информационной базе. Содержит объект «МоментВременю>, который вкmочает в себя дату и
ссылку на документ-регистратор.
«Период» имеет тип «Дата». Содержит дату записи. Совместно с полями
«Регистратор» и «НомерСтроки» определяет положение данной записи на временной оси;
«Регистратор» имеет тип «ДокументСсылка.<имя»>. Содержит ссьшку на
документ, которому подчинена данная запись;
«НомерСтрокю> имеет тип «Ч исло ». Содержит уни кальный номер данной
записи
в
наборе
записей
регистра,
подч иненных
документу,
указанному
в
поле
«Регистратор»;
«СубконтоДт<Н омер субконто»> имеет тип «Характеристика. <имя»>, тип этого
поля определяется типом субконто. Содержит значение субко нто дебета. Количество таких
полей зависит от максимального количества субконто на счете плана счетов. Номер вида
субконто начинается с 1 . Н абор и порядок видов субконто соответствуют набору и порядку
видов субконто у счета дебета;
«Субко нтоКт<Номер субконто»> имеет тип «Характеристика.<имя»>, тип этого
поля определяется типом субконто . Содержит значение субконто кредита. Количество таких
полей зависит от максимального количества субконто на счете плана счетов. Номер вида
246 Верный ста рт в lC www.wo rk-lc.ru
88002344322 Бесплатн ый звонок
субконто начинается с 1 . Набор и порядок видов субконто соответствуют набору и порялк '
видов субконто у счета кредита;
«СчетДт» имеет тип
«ПланСчетовСсылка. <Имя»>.
Содержит ссылку
на
«ПланСчетовСсылка.<И мя»>.
Содержит
на
дебетуемый счет;
«СчетКт» имеет тип
ссылку
кредитуем ый счет.
.
. ..... ....
= ��.,&.М��:»<.
. ... ... ·············- ······-················ ····---- · ····-········-·--···--··········-�
:.. ш1. ос����
�1 ...
f;J:t:;м:�x
:-: :э !}:жумt-t-tъ:
\
: j
�
�
-;.. �)
rr::1
1':' Т:
,;..
Ф
f:е!::���к:�;;
·r :;:;;:-<�Sиs.(l.."t.�Xж>-'"�·:1:-i�-..';":"»:\.
f:.r:l!:,.:.:C
. -.:e�e
"l}J �r:«'":ЫВ:\�?�.:""!''?.
'tf: ?�Ч.Ъi"'Е����
-:�$1 >'er�1C1!1Ь-H'3i': G·"'\IV,'t• Я
1 /") "1 f°'3":-t..."'!"..Ы&.'>':"?.:�1'F.�
:.- �jJ Yfl:·aer:e:�.,.ec��)
':-'· 1'riJ Уrрм�е�� .!}s1'JКtНo'.;CC')<бt<.otm:<
':.... 1 �:1 }"Тi,����t::-::1:1'1'�·-�:X,')I)�
·� C�j )o��ei-t:;�x;.ti\ C-&u::r�i<.­
·x; ;_�J Y�.-:e:t"":e;::;l(;.�&�п;)C
·:t · 1:fjJ Y1yJ!e,-:�l"'-.:e c�.•i�'\ . 0-:' :1!жl"ИC1t:�-;.;c; �
<>- :�1 УfТ"""''°"'°"""� С:�«С<-ТС
1 ":, � f'::r�'\l)tfc:r.чe-:a
�.. ;: ;, . :•.. �}:.�;[�����·�:.
: �
· .'
У.с,1-�
.·.
:
·, :
... .. .(
Рисунок 490
В этой таблице можно задать условия на счет дебета и счет кредита, а также на
конкретные виды субконто в дебете и кредите.
5.3 П а р а м етры ви ртуал ь н ы х т абл и ц р е гистров расч ет а .
Регистры
расчета
представляют
собой
отдельный
механизм
в
платформе
« l С : Предприятие» и являются темой для отдельного рассмотрения . Это не является целью
данной главы, поскольку регистры расчета имеют отличную от регистров накопления и
бухгалтерии структуру виртуальных таблиц, разработанную под решение периодических
начислений и перерасчетов. В связи с этим, останавливаться подробно на решении
расчетных задач в этой главе мы не будем. Обратим внимание на параметры виртуальных
таблиц регистров расчета.
Регистры расчета предназначены для организации учета результатов вычислений,
выполненных
расчетами,
указанными
в
плане
видов
расчетов.
Как
правило,
они
используются для реализации начислений по оплате труда, оплате больничных листов,
оплате дней отпуска.
Учетные записи регистра расчета могут влиять на состояние других записей регистра.
Различают два характера взаимного влияния учетных записей регистра расчета: кон курешrnя
за период действия и зависимость по базовому периоду. П одробно рассматривать
будем (также отдельной темой является механизм перерасчетов).
247 Верный старт в lC www.work- lc.ru
88002344322 Бесплатн ы й звонок
их .\1Ы
н
Для
работы
с регистрами расчета предназ начены
«Регистры расчета» дерева
ко нфигурации. Посмотрим, какие регистры расчета содержатся в каркасной конфигурации
( Рисунок 49 1 -492).
'<")
:�] Регистры pae><era
И3мерения
k·�
L. Сотр�·дник
.
'";
J
i".
Бриrада
Ре-,-рсы
# Резул�1;п
Рек2шsиiы
б·
=
,
.
{'tt &' X "k '*" [f:t
�51<\!:••е·
ПqдТ:.МСТ'е№\Ы
� с�. ��:
" .
t, .
f\e.�!!G�'P.>I
.
. ..
Парамеrр
$.) llepepacчel'Ь•
?.? <Р.зрмы
С1 l(�;)манд;.1
:·:.':•: М12кеrь•
.,.,. [i:]
ilоnолниrе.оьньJеНа•мсле1111.я
k·�
"{·
.-:;;. il
+
•'-'' t".
Ф,м�щ�ю><аnьмь�е <in�м
--....... .... .._.. ...- -...... .......;
'--�....-.........
fuмерения
Ресур::ы
Рекаи:s11 1'Ь1
· •> Перерасчеты
f\p.�вii
..
C01P'ill1'1ИК
·Еригада
Ресурсы
1 .Результат
"
-�
... ·--
•· ·•
�. •
. " . "
РеУ.еизить1
"" Параr"!етр
�
ОбмеН д;эн�;ь1м1>1
:flpoчee
0!5Щi<1� ре!$�Зl<ТЫ
:.�-� -·-······
..
.
. .
j
Рисунок 49 1
·
::•?
i•"
•-'
f;
Е�1
!!;-]
�.-:":.}
·
�·:··
�
№. О.едеН>1.яОСотру.,.,"""'ах
fim
Состае"Коr..,е:к
,пл
rоз
РеП1<:1РЫ
Регис-.ры
�J
·�)
Осноsнь1еНаЧL-1с.nения
!.. ... Измерени�
1..... Сотруt'4МИК
!. .. Бригада
J
(·:··
+J
'
�-�
z•'
::t�
�
;"
t)
..!!+
:3
•. �
fJ Рее3уnь=т
Рек.аи:з�•ты
>�
::: >·1
П..рераС'<еты
....
1. " И3t�petU11R
.
J Ресурсы
{::)
:л.
�
fl"P""'.eтp
БJ <Рор .ь1
tэ rJИ�·!�·�
·4')
f:J
!
'
Ресурсы
=
.
бухгалтер.1и
Реi'"исrуы pecчent
·,7•
....""
t-1акоnлен11.я
"' 1
Реке�sи1Ъ1
ПерерасчеТhl
'Рс�р,,.,,,,
КомаNд1::t1
•
Проnажи
Рисунок 492
.
�, ,,, ·
·· '·
..
.. . .
!t
!
�
1
!
1
1
1
!
!
". г.-""�����"".-".-.:"Г.'".����. ". J«.���ff.i..'":.;..: I
.. . .. .
j
i �
.
�---�-·-· ---·---�-----····· ···�
Биэl-".ес -nроцессы
;
'
. ..
..
Как видно из свойств регистра «Дополнительные начислени я », при редактиро вании
регистра расчета определяется план видов расчета, п оддержка периода действия и базового
пери ода, периодичность.
Рассм отрим подробнее эти свойства (Таблица 8).
248 Верн ы й ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
Таблица 8
-
свой ства регистра расчета
Назначение
С войство
регистра расч ета
План видов
расчета
характеристика
Основная
регистра
на
ссылка
ПланВидовРасчета, который используется
соответствующий
объект
для создания в идов расчетов. ис пользуем ых в
регистрах расчета. Сс ылка на в ид расчета - одно из основных сво йств записей регистра
расчета,
которое позволяет придать качественные разл и ч ия разным учетным записям
регистра расчета .
Период действия
Если свойство установлено, то взаимное влияние движений данного регистра принимает
конкурирующий характер ( например, начисление заработной платы и оплата больничного
листа не м о гут вы полняться одновременно). Такие расч еты взаимно исключают друг друга
во
времени,
и
система должна
гарантировать,
что
ввод одного
из
них
исключению другого.
приведет
к
Регистр расчета с поддержкой периода действия имеет ограничение на кол ичество записей
с одинаковыми значениями измерений, периода регистрации и в ида расчета.
График
Свойство доступно, если установлено сво йство Период действия . С войство представляет
ссылку на регистр сведений, в котором описывается временная схема исходных данных,
участвующих в расчете. График следует указывать для тех расчетов, которые зависят от
исходных данных,
правилу.
Например,
рас пределенных
в
пределах
периода действия
это м ожет быть график учета рабочего
разбивкой по дня м , учет лекционных часов с разбивкой по часам и
Значение графика
по
определенному
времени
организации с
т.
д.
Свойство доступно, если установлено свойство Пер иод действ ия. В свойстве выб ирается
ресурс регистра сведений, определенного в свойстве График.
Дата графика
Свойство доступно, есл и установлено свойство Пер иод действ ия. В свойстве выб ирается
измерение регистра сведений, определен ного в свойстве График и и м еющее
значению данного
свойства
осуществляется
привязка
к значениям
тип
ресурса
Дата. По
регистра
сведений, указанного в свойстве Значение графика.
Базовый период
Если свойство установлено, то устанавливается связанный характер взаим ного вл ияния
движений данного регистра. Примером связанных движений м ожет служить связь расчета
сум м нач исле ния вы плат по средней от сум м начисления в базовом периоде.
Пер иодичность
О пределяет период, с которым регистрируются движения, и в пределах которого движения
м о гут влиять друг на друга (для регистров, поддерживающих период действия ).
Перерасчеты
П одчиненные объекты регистра, которые позволяют задать правила взаим ного влияния
движений регистров. В группе Связь свойств объекта в свойстве Измерение регистра
указывается основное измерение текущего регистра, которое следует пересч итать при
изменении данных в едущих регистров, указанных в свойстве Данные ведущих регистров.
Например, перерасчет сум м ы удержания по физиче скому л и цу будет формироваться при
изменениях нач ислений ( о плата труда, пре м ии ) .
Е с л и установлено сво йство Базовый период, то формирование данных перерасчетов будет
в ы полнено автоматически.
Если свойство
не установлено, то
формирование данных
перерасчетов должно произ водиться пользователем вруч ную ( пр и проектировании следует
р азработать специальную форму ввода перерасчетов и механизм их в ы полнения ).
249 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
5.4 К онтрол ь разре ш е н и я п ра в доступа н а уровне з ап и с е й . « Разре ш е н н ы е » .
Рассмотрим механ изм кон троля разрешения прав доступа на уровне записей. За это
отвечает признак «Разрешенные» на вкладке «Дополнительно» конструктора запросов,
благодаря которому в ходе исполнения запроса получаем данные, на которые есть права
r•��;,.,���,�·���!;.'"[ir&··.
( Рисунок 493 ) .
1
1
�
�
TotiМJ1>1 � . . , ! .
--··
·
f�<111'МPQ�
···
f.!t.� ml�й
Г:J Пер::�ые
1�
�
.•.
,,,-.
УСЛОВ\>111
·
f1oc'JPQ1m.нъ
(��' Вь.б()р�r;а д;:;;нь-"•:
·
.
' .. " . . . . . . '
.
>у
�
Лак� заnр..
.
()Со:здан1rе врсменr.;:,i\ табл1�1
(.', Уt!<�чтзхеnщ� временно>\ 1;:ti;iиlJl>1
. -···
·
·
·
·
-- -----·-······-··----- --·-····· · -
таб;жцы дmi 1;;.��·1е�ения
i�.;;;
· ·-�
;
:
�
:
:
:;;;:
:
i
rиfi за��'"' ·························································································································-···········--·····················································
;-···-· . .. ·-
�
1
::щ
..
·-··---
Рисунок 493
В случае если используется контроль разрешения прав на уровне записей и свой ство
«Разрешенные» находится в значении « И стин ю>, м ы получим только те записи ре зульт ата
запроса, на которые есть права. В случ ае если используется контроль р азрешения прав на
уровне записей и свойство «Разрешенные» находится в значении «Ложь», будет выведено
сообщение об отсутствии прав работы с програм м о й .
5 . 5 Бл оки ровка д а н н ы х дл я посл ед ующе го и з м е н е н и я
Р ассмотрим механизм бл окировки данных для последующего изм енения. З а это
отвечает отдельное свойство в конструкторе запро сов - «Блокиров ать получаемые данные
для последующего изменения» (Рисунок 4 94 ).
250 Верный старт в 1С www.wo rk-lc.ru
88002344322 Бесплатн ый звонок
1; [1
.
11·
1
!.���;:�:::::::: . .�::tP.����� .
'
0µк
Вы03
Г.1 Первые
ij
11 . .
·
!
C::.J Ee:s 110151-с:ряюшw.с.я
.
1
3<W�· · ·
.i
С.".! Разрешежые
·
д
·'·
1
!
.
:,•) Рыоо;:жа
·
··
r.а;,
! (.) Учичrо::.-.ение sре"!ен.чсй табnиuы
i(", _
.... .... . . ........" ... ..... . ... - .. . ...... . ....... ..... . .
3ar
..
&m::-к11prearь поn)-чаемые да>iные ш;я nсследу!!>щего и::;�не"'и�:;·
Тип
;;IОЩ�!
11
..
.. .
. . .. . .
..
. ..
" .
1
' !. . .
i.!:;,;�, �·��;1_._,,,
1\
'!
,,,
.
.
.
" ....."" ."..
".. ".
.
,,, ,,,
.. ""
.....
..
..,.." . ".. ..
. ..
.
.. . . ..... .......... .... . .. ....."." ".
.
. ......
��i3i�f��J =::�
o
o
«
««
оo
<
==-••««
==ш=�д«««•=
=•••==
<=<
Рассмотрим
номенклатуры.
Для
этого
�;
!
Рисунок 494
механизма
работу
11
ньr(
ipoca
С •G:Jsщ1r.иe врбме�;.юй 1абп11�.ь1
откроем
,ш=
блокировок
конструктор
1��:2f:
запроса
примере
и
..
" .
.
"..•....·-··--·· ....
"" ...
·
g
P
;;:��.;;� :;��;;=;;;: ;;: :'�����
.�
на
-- -
.
таблицы
выберем
поля
.
. ..
J
остатков
табли цы
«ОстаткиНоменклатурьш ( Рисунок 495).
•
.
�·;=--��,· · · · · · ". . . . . . . . . .
::;4 :
:., Н�
".
��
,:-111
t;.;; I'k�.�.,.�T�:
�_} �-....���=
:.... � n�fJ.f���11-n.�.
11.
тv.r.
:о'
�
.. . .
. .
.
·
.. , " .. " · т.;: :>;;
.
'•'
� � �-".�---�: »
-
t.t 'tt / O ti "'*
.
1·tr.�7�!�·:1:;��--�.i�J! " "" . . . . . . · ·�
:�'
�-�·
�
��J
._
f�<·щ.
���\:�x.r.�ty;. p"".t�""':'
;..,-:�
�i:�>Q"�
0-.-:"�:�
�г.�� .� �t!\ЖХ'�
- 0.-: :��\:�x.n�t't'!-Ъf бмп;.")>.а.rкJS·•19.
l .. ().-;:��\:�1С.П�""5,Ъf �t<."l!l'!"yj.\tll
Пn�1J.,t�P"'-·-�rt':
4
1
�'!
..r
F� f ��
�;�
�
bl
Fв�:.·"�'!'l'J:,-H:1Jo:. :":11 �"-::
,, / q?Шд!!Щffl1ЩЦ$
�- :1J O:--т�·i-4-�.te«:k1�"!):A.OS�П>:
........ :f. . .:i .9.�.!�.:.��:�!:!�.:.1�f;t-i.:.�ТP.1...... .. .. ...... . . " ..J.�.J
. .
.. J
"Ж
- ��!!С.\:�х.г.:ну;.
:.> 1Г Пn���
:о' $
- �a!!C.i:��x.r.�ff'>Ъf
.. -�:�.r.::: . ..
�- =�'!'<1:�
';�»(.Г.��
....
1(.-)"-�'.:П'А"
;,)-,-:i,'!"-J;.:�1o1:xr:��Ъf C�.?.
Рисунок 495
Далее перейдем на закладку «Дополнительно», где находится форма работы с
блою1ровками, которая состоит из двух областей : общего списка таблиц ( слева) и таблиц для
изменения (справа). Перенесем таблицу «Остатки Номенклатурь1» из области таблиц в
область «Таблицы для
изменения».
Свойство
«Блокировать получаем ые данные для
последующего изменения» должно находиться в значении «истина>> ( Рисунок 496).
251 Верный ста рт в lC www.work-lc.ru
88002344322 Бесплатн ый звонок
�.:s.\�:':�·-·
·
·· � �)t!Q)'
.J!':ёj.�
. •
·:J(�� '?."""е��<Ш•-IХС�
· ·irio��..:.:�
: :··•�Ь:.:fк:px.auat�->:"A.
�
�
()Се:�� б��·:.(-1. т�ёn-U::4
��· :y�1">:�'J!�--tw.': �=*� T���
Рисунок 496
Механизм блокировки для последующего изменения актуален только для режима с
автоматическими блокировками (в свойствах конфигурации нужно поставить «Режим
управления блокировкой данных» в значение «Автоматический») ( Рисунок 497 ) .
· · · · ··· ·
aй :�:яw
H>.
%i
ш
ff
L-.----��-�
д;,'1".'�l
..�J.. �J..� ..:...�--- . . . . .
.,,............. ..,.,.,,.._._.,,,.. .,.,.
. ......,.._.,,
:..1.:,:..�_...,.,.,.,
._..�,}.,_._ ;
o"N
.V.:N.>.М."
NN�"'-Ч
.fl.c<>- o>.-)n:
�
�-s<:::•:.:
.
"""""�
"
\.'<t-1q:Y.:J.P"A1;;)'...U-i�'": <.> OGC"(�;.u;,'Jf<.111:::
A.t:s:.>ёe- 10�·tфоµ-..�а�1-.1
с.
��·н;си1·урiи..s.1м
.
�:::.
O•.:.-..,. ioel·:1:: ::::: :.::��::.� .:.i·c�·f;з
·З "
<НЧ<>"'
,�,о�,з �н:�ри:и·""'="3
C)c:t""t�e..'1 �1"> ff>�i;:,,....:a
н�c ·ri.=«>�
..;i."t1�)-...:«""'t=-ctc:<.>1-o
.:
0:·1��•.:..
'К�
О.::::-1<.>�:-,�:н Ф<.>�:»-"� r).:•и•::t'..�
[YU N<1
f.1 .0.0.. 1
-- �����f" ��(� ....... .
).��:";
K.'S':":."Sn.?Г.'Ji
О.бн�n'°'� ;
.
.
1
.• "
·------х
;:
-- �·
··
·
�:�::�.�.:::�:.::. ::::::.� · :===���:1�';. .·.�.,�:·.· .·:�-�.·:.�.<С:�!�;·,.·•�1:•.·
г�,�� �- - ��)
'···
··
.
.L
(
.�
Х
: · .!
·
�fi�c· ·�""
fiZ..-i&!f;,Щ№G!Z.
���w... �,!ъ���:::::�!j!i!!!IJlifliflifllJlilJlilJliifl�bl��
· ���-""°"""' r!....
���;;;;;;;;;;;;��
&,.-�J�ii"':b
�
C:.:�.М.C:f.VJV.a-H
-t � (,:J'�ai\8К.+1
=:::.":
.
Fe:ж>·tr"'I �eт::t"�P��•
"'I С<бъе
к�
f-:..е.--:им
YIC�:i;' :\Ь.�-0�&-tl"tS'I ....,Q r,.e1\oN::tG'1М
==�= :::::::::::
6
е><>(\�
и� ,.,..,
;р�-iм ·�npaв;�Ht.t A бnок�еко�
,о.анньUt· �
.·.
1
!
''
''
(��\.-п�;��-���������,:���.��{ '·�:.
1
�
���-.;;;_:�� -� v.;.,a.nчaн.-'rl!O
Рисунок 497
'
''
В случае если мы блокируем получаемые данн ые, таблица блокируется до конца
транзакции. На примере проведения документа это работает следующим образом : в процессе
выполнения обработки проведения запрашиваются о статки номенклатуры, далее до конца
выполнения обработки таблица остатков блокируется
для
внесения изменения и никто из
пользователей не может их редактировать. В случ ае с управляемыми блокировками
пользователь сам управляет изменением записей таблиц.
252 Верный старт в 1С www.work-1c.ru
88002344322 Бесплатн ый звонок
Вы
закончили изучение книги
«Язык запросов 1 С "ОТ ЗУБОВ"».
Надеемся, что вам
понравилось книга, и она поможет вам в вашей практической деятельности.
П редла гаем вам не останавл и ваться н а достигнутом результате!
I.
11.
З а п и с ы в а йтесь на н а ш и онл а й н курсы и п родолжайте д виже н и е вп еред!
Базовый курс «Я любитель»
Основной курс «Я профессионал»
111 . VIP
курс «Я эксперт»
Ссылка для записи : http://work- 1c. ru/Тraining Progra mmer 1 С/
Д о п ол н и т ельн ые
к ур сы :
1.
Язык запросов I C (входит в V I P курс):
http://slюp.work- l c.ru/Zapross/Zapross prd cbdsj
II.
Ком поновка данных (входит в V I P курс) :
http://work- l c.ru/ 1 c-komponovka/
Ш.
Конвертация данных ( входит в VIP курс) :
http://zayavka.work- 1 c.ru/ 1 c-konvertacia/
I V . Администрирование I C (входит в VIP курс):
http://administrirovanie l c.work- 1 c.ru/
V.
Разработка мобильных приложений (входит в V I P курс):
http://mobileapps . work- 1 c.ru/
V I . Зарплата и управление персоналом, редакция 3
http://shop.work- l c.ru/Video НRМ Kurs/ZU P 3 1 S ales
V I I . Расширение конфигурации «Базовый»/ « Эксперт»
https ://shop. work- 1 c.ru/Expansion/SalesExpansion
V I I I.
Курс «Бухгалтерия для Программистов 1 С»
https ://shop. work- 1 c.ru/Video Accaunt Kurs/AccountingForProgrammers
IX.
I С : Бухгалтерия государственного учреждения 2 . 0
https ://shop.work- 1 c.ru/BGU/S alesBGU
Звонliте 8 800 Z.344322
-
звонок бес плат ны й . Може т � н а п и с ат ь,, Jiрп рос ы н а e111 ail
mail@work� 1 c.ru
С уваже.н и е м, п роект <<В е р н ы й ста рт в l C».
253 Верный ста рт в 1С www.work-lc.ru
88002344322 Бесплатн ый звонок
Скачать