Тестовые задания (платформа 8.3.14)
1. Есть некоторое ДеревоЗначений, одно из полей (колонок) которого - "Количество". «Листья» дерева заполнены значениями, «узлы» содержат 0 (количество звездочек обозначает глубину вложенности):
* 0 * * 0 * * * 10 * * * 5 * * * 10 * * 0 * * * 0 * * * * 7
Необходимо "обойти" дерево, записав в поле "Количество" узлов сумму полей "Количество" подчиненных записей, т.е. в итоге должно получиться:
* 32 * * 25 * * * 10 * * * 5 * * * 10 * * 7 * * * 7 * * * * 7
Как будет решаться задача:
- Если известно, что в дереве значений всего три уровня вложенности
- Если количество уровней вложенности не ограничено.
2. Есть таблица значений - остаток товара на складах. Колонки: Товар, ДатаПрихода, КоличествоПрихода, ОстатокНаСкладе1, ОстатокНаСкладе2, ОстатокНаСкладе3... Надо написать процедуру, удаляющую из таблицы все колонки ОстатокНаСкладе за исключением указанной (передается номер, например 3). Колонки Товар, ДатаПрихода и КоличествоПрихода должны остаться.
3.
<?xml version=”1.0”?>
<root>
<element attribute=”…”/>
</root>
Что необходимо записать вместо “…”, чтобы при считывании программно считать значение
He said “Hello, World”
4. Необходимо оптимизировать запрос:
ВЫБРАТЬ
ПартииАктивовОстатки.Актив КАК Актив,
ПартииАктивовОстатки.Партия КАК Партия,
ПартииАктивовОстатки.СуммаОстаток КАК СуммаОстаток
ИЗ
РегистрНакопления.ПартииАктивов.Остатки(&Период,) КАК ПартииАктивовОстатки
ГДЕ
ПартииАктивовОстатки.Актив = & Актив
ИТОГИ
СУММА(СуммаОстаток)
ПО
ОБЩИЕ,
Актив
5. Предыдущий запрос использовался для вывода в табличный документ. Результат запроса содержит несколько тысяч записей. Как ускорить вывод?
6. В документе есть табличная часть «Периоды» содержащая Дату начала периода и Дату окончания периода. Необходимо проверить, что периоды не «пересекаются» друг с другом (но «дырки» между периодами разрешены).
7. Существует регистр накопления.
Измерение: Актив (спр.: «Активы»);
Ресурс: Количество (7,3);
Движения:
Приход 02.01.2008 Акция «Газпром» - 100 шт
Приход 10.01.2008 Акция «Ленэнерго» - 10 шт
Расход 11.01.2008 – Акция «Газпром» - 50 шт.
Необходимо написать запрос выводящий в отчет остатки по заданному активу(может быть и не указан) на каждый день заданного месяца, даже если движений за этот день не было.
Т.е. задан месяц январь 2008. Актив: Акция «Газпром»
Результат:
01.01.2008 – 0
02.01.2008 – 100
03.01.2008 – 100
04.01.2008 -100
…
…
11.01.2008 – 50
…
…
31.01.2008 – 50
Отчет написать с использованием СКД.