![]() |
![]() |
![]() |
|
Как управлять вычислением итогов в СКД? | ☑ | ||
---|---|---|---|---|
0
Гений 1С
гуру
21.04.08
✎
14:35
|
Т.е. если у меня написано Сумма(КоличествоСтавок), могу ли я указать что считать нужно только по уникальным значениям по измерениям Должность?
Данные: Допустим по должности слесарь - количество ставок 2. Должность Сотрудник КоличествоСтавок Слесарь Вася 2 Слесарь Маша 2 Итог по количеству ставок получается - 4 А итог должен быть 2. |
|||
1
Гений 1С
гуру
21.04.08
✎
14:57
|
и где зубры СКД? попрятались по норам?
|
|||
2
Регистратор
21.04.08
✎
17:05
|
а почему не
Среднее(КоличествоСтавок) кроме того если Слесарь Вася 2 Слесарь Маша 3 Итог по количеству ставок получается - 5 А итог должен быть (???) не просматривается логика вычисления кроме среднее |
|||
3
Defender aka LINN
21.04.08
✎
17:14
|
(2) ИМХО, тут имеется в виду КОЛИЧЕСТВО(Ставка)... Хотя при чем тут "только по уникальным значениям" я так и не вкурил.
|
|||
4
Регистратор
21.04.08
✎
17:25
|
а тогда КоличествоСтавок не должен быть ресурсом а должен иметь тип измерение (или надо еще раз включить это же поле но с псевдонимом)
а ресурсом поставить 1 КАК КоличествоУникальное Ну и для группировок Должность, Сотрудник, КоличествоСтавок вывести ресурс КоличествоУникальное |
|||
5
Гений 1С
гуру
21.04.08
✎
17:47
|
Вот пример:
Должность ФИО КоличествоСтавок Слесарь Вася 2 Слесарь Маша 2 Повар Саша 3 Повар Даша 3 Повар Дуня 3 Если брать функцию Максимум, итого по подразделению будет равно 3, а мне нужно чтобы было равно 5 по подразделению и 2 или 3 по должности. |
|||
6
Гений 1С
гуру
21.04.08
✎
17:50
|
ОК, экскурс в предметную область.
По каждому подразделению по каждой должности в штатном расписании хранится, сколько должно быть ставок и контролируется, чтобы число сотрудников на этой должности в этом подразделении не превышало число ставок. Пример: Должность ФИО КоличествоСтавок КоличествоСотрудниковНаДолжности Слесарь Вася 2 1 Слесарь Маша 2 1 Повар Саша 3 1 Повар Даша 3 1 Повар Дуня 3 1 Итого по подразделению - количество ставок 5, количество сотрудников на должности тоже 5. Все окей. Но вот это 5 я не могу получить по полю "Количество ставок", блин, никак... Хоть вызывай функцию из общего модуля, чтобы она по должности и подразделению посчитала это число ставок. |
|||
7
Гений 1С
гуру
21.04.08
✎
17:50
|
(2) Читайте (6) я описал предметную область подробно.
|
|||
8
Гений 1С
гуру
21.04.08
✎
17:51
|
(4) С архитектурой все нормально, если сомневаетесь, спросите у Нуралиева... ;-)
|
|||
9
Immortal
21.04.08
✎
17:55
|
(3) +1
Гений, какая нахер сумма, если ты КОЛИЧЕСТВО различных (по сотрудникам ) ставок считаешь? |
|||
10
Регистратор
21.04.08
✎
17:57
|
так и берем
гуппировка по полям Должность, Плановоеоличество - > ресурс Сумма(ФактическиЗанято) Получим Слесарь 2 -> 2 Повар 3 -> 3 Если нало чтоб детализация по ФИО была тогда придется делать левое соединение по полю Должность (и возможно еще какимто полям) чтоб подтянуть итог по фактическим занятым должностям |
|||
11
Гений 1С
гуру
22.04.08
✎
09:49
|
(10) Слушай, структуру отчета я тебе показал. Там должно быть должность, сотрудник, количество ставок по должности и количество занятых штатных единиц сотрудником. Ты же мне предлагаешь другой отчет, это не решение.
|
|||
12
Гений 1С
гуру
22.04.08
✎
09:51
|
(9) Давай не заниматься тавтологией. Если такой умный, скажи как посчитать количество?
Подразделение Количество Количество или Сотрудник ставок должностей Цех№5 5 5 Слесарь Вася 2 1 Слесарь Маша 2 1 Повар Саша 3 1 Повар Даша 3 1 Повар Дуня 3 1 А сейчас он мне в итоге по подразделению выдает количество ставок 13! |
|||
13
Гений 1С
гуру
22.04.08
✎
09:53
|
Подразделение--Количество--Количество
или Сотрудник--ставок------должностей Цех№5----------5-----------5 --Слесарь Вася-2-----------1 --Слесарь Маша-2-----------1 --Повар Саша---3-----------1 --Повар Даша---3-----------1 --Повар Дуня---3-----------1 |
|||
14
Dionisious
22.04.08
✎
09:54
|
попробуй количество ставок вынести в отдельный набор данных и связь настроить. СКД в этом случае как то хитро агрегатные функции считает. Не уверен что поможет но попробовать стоит.
|
|||
15
Гений 1С
гуру
22.04.08
✎
09:57
|
(14) издеваешься? Там офигенно некислый запрос в этом ЗУПЕ.
Проще в общий модуль вынести. Но неужели никто из зубров не защитит честь СКД, неужели она для агрегирования не может взять только уникальные значения, т.е. ей нужно просуммировать Слесарь--2 Повар----3 А не суммировать тупо, как она сейчас суммирует: Слесарь--2 Слесарь--2 Повар----3 Повар----3 Повар----3 |
|||
16
Dionisious
22.04.08
✎
10:00
|
(15) при чем тут СКД? Как бы ты это в простом запросе реализовал?
Хотя можно еще два раза присоединять таблицу ставок. А в итогах в зависимости от условия брать МАКСИМУМ от из нужной таблицы. |
|||
17
Гений 1С
гуру
22.04.08
✎
10:04
|
(16) Блин, ну есть же в СКД опция - считать итоги только по определенным группировкам, так почему бы не быть опции - считать только по различным значениям этих группировок. СКД - не запрос, а его обработчик.
|
|||
18
Регистратор
22.04.08
✎
10:05
|
(15) есть 3 утверждения
1. Можно получить запросом фактически занятое количество должностей в подраздении (и пр. условиях). Назовем таблица ФАКТ 2.К исходной талице ("должность, сотрудник, количество ставок по должности и количество занятых штатных единиц сотрудником") соединяется внешним соединением таблица ФАКТ из пункла 1 (вероятно по полям должность и подразделение) 3.Получим таблицу где кроме исходных "должность, сотрудник, количество ставок по должности и количество занятых штатных единиц сотрудником" будет поле кактически занятых должностей (конкретно дл данного подразделения и должности) помоему тут все довольно просто и этого достаточно для получения нужных итогов |
|||
19
Dionisious
22.04.08
✎
10:07
|
(17) Итоги по группировкам - превращаются во вполне нормальную структуру выбора в запросе. СКД не только обработчик запроса но и его построитель.
А так я же тебе сказал как средствами СКД можно попробовать сделать, но тебе лень запрос переписывать. Ну что же - ругай СКД может полегчает. |
|||
20
Гений 1С
гуру
22.04.08
✎
10:10
|
(18)(19) Граждане, я сделаю левое соединение, не вопрос, но итоги то все-равно будут не правильные, как вы не понимаете. Даже если я запрос перепишу.
Вот я получаю детальные записи: --Слесарь Вася-2-----------1 --Слесарь Маша-2-----------1 --Повар Саша---3-----------1 --Повар Даша---3-----------1 --Повар Дуня---3-----------1 Если я использую Сумма(КоличествоСтавок) то получаю: Цех№5----------13-----------5 Если я использую Максимум(КоличествоСтавок) то получаю: Цех№5-----------3-----------5 И что? |
|||
21
Dionisious
22.04.08
✎
10:11
|
(20) сейчас попробую набросать примерчик для ЗУПа.
|
|||
22
Гений 1С
гуру
22.04.08
✎
10:12
|
(19) "как то хитро агрегатные функции считает" - это наводка, да? типо совета взять бубен и побить в него.
|
|||
23
Гений 1С
гуру
22.04.08
✎
10:12
|
(21) ок, пасибо. ;-)
|
|||
24
Dionisious
22.04.08
✎
10:32
|
Получилось. Как тут блин в тект то все это сохранить?
|
|||
25
Dionisious
22.04.08
✎
10:35
|
<?xml version="1.0" encoding="UTF-8"?>
<DataCompositionSchema xmlns="http://v8.1c.ru/8.1/data-composition-system/schema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:dcscom="http://v8.1c.ru/8.1/data-composition-system/common" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:v8="http://v8.1c.ru/8.1/data/core"> <dataSource> <name>ИнформационнаяБаза</name> <dataSourceType>Local</dataSourceType> </dataSource> <dataSet xsi:type="DataSetQuery"> <name>Работники</name> <field xsi:type="DataSetFieldField"> <dataPath>Активность</dataPath> <field>Активность</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Активность</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>НомерСтроки</dataPath> <field>НомерСтроки</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Номер строки</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>Период</dataPath> <field>Период</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Период</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>Регистратор</dataPath> <field>Регистратор</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Регистратор</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>ГрафикРаботы</dataPath> <field>ГрафикРаботы</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>График работы</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>ГрафикРаботыЗавершения</dataPath> <field>ГрафикРаботыЗавершения</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>График работы завершения</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>Должность</dataPath> <field>Должность</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Должность</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>ДолжностьЗавершения</dataPath> <field>ДолжностьЗавершения</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Должность завершения</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>ЗанимаемыхСтавок</dataPath> <field>ЗанимаемыхСтавок</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Занимаемых ставок</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>ЗанимаемыхСтавокЗавершения</dataPath> <field>ЗанимаемыхСтавокЗавершения</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Занимаемых ставок завершения</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>ОбособленноеПодразделение</dataPath> <field>ОбособленноеПодразделение</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Обособленное подразделение</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>ОбособленноеПодразделениеЗавершения</dataPath> <field>ОбособленноеПодразделениеЗавершения</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Обособленное подразделение завершения</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>Организация</dataPath> <field>Организация</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Организация</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>ПериодЗавершения</dataPath> <field>ПериодЗавершения</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Период завершения</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>ПодразделениеОрганизации</dataPath> <field>ПодразделениеОрганизации</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Подразделение организации</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>ПодразделениеОрганизацииЗавершения</dataPath> <field>ПодразделениеОрганизацииЗавершения</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Подразделение организации завершения</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>ПричинаИзмененияСостояния</dataPath> <field>ПричинаИзмененияСостояния</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Причина изменения состояния</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>ПричинаИзмененияСостоянияЗавершения</dataPath> <field>ПричинаИзмененияСостоянияЗавершения</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Причина изменения состояния завершения</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>Сотрудник</dataPath> <field>Сотрудник</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Сотрудник</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>УдалитьОбособленноеПодразделение</dataPath> <field>УдалитьОбособленноеПодразделение</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Удалить обособленное подразделение</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>УдалитьПриказ</dataPath> <field>УдалитьПриказ</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Удалить приказ</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>УдалитьПричинаИзмененияСостояния</dataPath> <field>УдалитьПричинаИзмененияСостояния</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Удалить причина изменения состояния</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>УдалитьТабельныйНомер</dataPath> <field>УдалитьТабельныйНомер</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Удалить табельный номер</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>УдалитьФизлицо</dataPath> <field>УдалитьФизлицо</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Удалить физлицо</v8:content> </v8:item> </title> </field> <dataSource>ИнформационнаяБаза</dataSource> <query>ВЫБРАТЬ РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации, РаботникиОрганизацийСрезПоследних.Должность, РаботникиОрганизацийСрезПоследних.Сотрудник ИЗ РегистрСведений.РаботникиОрганизаций.СрезПоследних({&ДатаОтчета}) КАК РаботникиОрганизацийСрезПоследних</query> </dataSet> <dataSet xsi:type="DataSetQuery"> <name>ШтатноеРасписание</name> <field xsi:type="DataSetFieldField"> <dataPath>Период</dataPath> <field>Период</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Период</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>ВалютаТарифнойСтавки</dataPath> <field>ВалютаТарифнойСтавки</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Валюта тарифной ставки</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>ВидТарифнойСтавки</dataPath> <field>ВидТарифнойСтавки</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Вид тарифной ставки</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>ГрафикРаботы</dataPath> <field>ГрафикРаботы</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>График работы</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>Должность</dataPath> <field>Должность</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Должность</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>КоличествоСтавок</dataPath> <field>КоличествоСтавок</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Количество ставок</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>МаксимальнаяТарифнаяСтавка</dataPath> <field>МаксимальнаяТарифнаяСтавка</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Максимальная тарифная ставка</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>МинимальнаяТарифнаяСтавка</dataPath> <field>МинимальнаяТарифнаяСтавка</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Минимальная тарифная ставка</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>ОсобыеУсловияТруда</dataPath> <field>ОсобыеУсловияТруда</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Особые условия труда</v8:content> </v8:item> </title> </field> <field xsi:type="DataSetFieldField"> <dataPath>ПодразделениеОрганизации</dataPath> <field>ПодразделениеОрганизации</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Подразделение организации</v8:content> </v8:item> </title> </field> <dataSource>ИнформационнаяБаза</dataSource> <query>ВЫБРАТЬ ШтатноеРасписаниеОрганизацийСрезПоследних.ПодразделениеОрганизации, ШтатноеРасписаниеОрганизацийСрезПоследних.Должность, ШтатноеРасписаниеОрганизацийСрезПоследних.КоличествоСтавок ИЗ РегистрСведений.ШтатноеРасписаниеОрганизаций.СрезПоследних({&ДатаОтчета}) КАК ШтатноеРасписаниеОрганизацийСрезПоследних</query> </dataSet> <dataSetLink> <sourceDataSet>ШтатноеРасписание</sourceDataSet> <destinationDataSet>Работники</destinationDataSet> <sourceExpression>Должность</sourceExpression> <destinationExpression>Должность</destinationExpression> </dataSetLink> <dataSetLink> <sourceDataSet>ШтатноеРасписание</sourceDataSet> <destinationDataSet>Работники</destinationDataSet> <sourceExpression>ПодразделениеОрганизации</sourceExpression> <destinationExpression>ПодразделениеОрганизации</destinationExpression> </dataSetLink> <totalField> <dataPath>КоличествоСтавок</dataPath> <expression>Сумма(КоличествоСтавок)</expression> </totalField> <parameter> <name>ДатаОтчета</name> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Дата отчета</v8:content> </v8:item> </title> <valueType> <v8:Type>xsd:dateTime</v8:Type> <v8:DateQualifiers> <v8:DateFractions>DateTime</v8:DateFractions> </v8:DateQualifiers> </valueType> <value xsi:type="xsd:dateTime">0001-01-01T00:00:00</value> <useRestriction>true</useRestriction> </parameter> <defaultSettings xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system"> <dcsset:selection> <dcsset:item xsi:type="dcsset:SelectedItemField"> <dcsset:field>КоличествоСтавок</dcsset:field> </dcsset:item> </dcsset:selection> <dcsset:filter> <dcsset:item xsi:type="dcsset:FilterItemComparison"> <dcsset:use>false</dcsset:use> <dcsset:left xsi:type="dcscor:Field">ТипУчета</dcsset:left> <dcsset:comparisonType>Equal</dcsset:comparisonType> <dcsset:right xsi:type="dcscor:DesignTimeValue">Перечисление.ТипыУчета.</dcsset:right> </dcsset:item> <dcsset:item xsi:type="dcsset:FilterItemComparison"> <dcsset:use>false</dcsset:use> <dcsset:left xsi:type="dcscor:Field">СкладКомпании</dcsset:left> <dcsset:comparisonType>Equal</dcsset:comparisonType> <dcsset:right xsi:type="dcscor:DesignTimeValue">Справочник.СкладыКомпании.</dcsset:right> </dcsset:item> <dcsset:item xsi:type="dcsset:FilterItemComparison"> <dcsset:use>false</dcsset:use> <dcsset:left xsi:type="dcscor:Field">Номенклатура</dcsset:left> <dcsset:comparisonType>Equal</dcsset:comparisonType> <dcsset:right xsi:type="dcscor:DesignTimeValue">Справочник.Номенклатура.</dcsset:right> </dcsset:item> <dcsset:item xsi:type="dcsset:FilterItemComparison"> <dcsset:use>false</dcsset:use> <dcsset:left xsi:type="dcscor:Field">ХарактеристикаНоменклатуры</dcsset:left> <dcsset:comparisonType>Equal</dcsset:comparisonType> <dcsset:right xsi:type="dcscor:DesignTimeValue">Справочник.ХарактеристикиНоменклатуры.</dcsset:right> </dcsset:item> </dcsset:filter> <dcsset:outputParameters> <dcscor:item> <dcscor:use>false</dcscor:use> <dcscor:parameter>TitleOutput</dcscor:parameter> <dcscor:value xsi:type="dcsset:DataCompositionTextOutputType">Output</dcscor:value> </dcscor:item> <dcscor:item> <dcscor:use>false</dcscor:use> <dcscor:parameter>Title</dcscor:parameter> <dcscor:value xsi:type="v8:LocalStringType"/> </dcscor:item> <dcscor:item> <dcscor:use>false</dcscor:use> <dcscor:parameter>DataParametersOutput</dcscor:parameter> <dcscor:value xsi:type="dcsset:DataCompositionTextOutputType">Output</dcscor:value> </dcscor:item> <dcscor:item> <dcscor:use>false</dcscor:use> <dcscor:parameter>FilterOutput</dcscor:parameter> <dcscor:value xsi:type="dcsset:DataCompositionTextOutputType">Output</dcscor:value> </dcscor:item> </dcsset:outputParameters> <dcsset:item xsi:type="dcsset:StructureItemTable"> <dcsset:row> <dcsset:groupItems> <dcsset:item xsi:type="dcsset:GroupItemField"> <dcsset:field>ПодразделениеОрганизации</dcsset:field> <dcsset:groupType>Items</dcsset:groupType> <dcsset:periodAdditionType>None</dcsset:periodAdditionType> <dcsset:periodAdditionBegin xsi:type="xsd:dateTime">0001-01-01T00:00:00</dcsset:periodAdditionBegin> <dcsset:periodAdditionEnd xsi:type="xsd:dateTime">0001-01-01T00:00:00</dcsset:periodAdditionEnd> </dcsset:item> </dcsset:groupItems> <dcsset:order> <dcsset:item xsi:type="dcsset:OrderItemAuto"/> </dcsset:order> <dcsset:selection> <dcsset:item xsi:type="dcsset:SelectedItemAuto"/> </dcsset:selection> <dcsset:item> <dcsset:groupItems> <dcsset:item xsi:type="dcsset:GroupItemField"> <dcsset:field>Должность</dcsset:field> <dcsset:groupType>Items</dcsset:groupType> <dcsset:periodAdditionType>None</dcsset:periodAdditionType> <dcsset:periodAdditionBegin xsi:type="xsd:dateTime">0001-01-01T00:00:00</dcsset:periodAdditionBegin> <dcsset:periodAdditionEnd xsi:type="xsd:dateTime">0001-01-01T00:00:00</dcsset:periodAdditionEnd> </dcsset:item> </dcsset:groupItems> <dcsset:order> <dcsset:item xsi:type="dcsset:OrderItemAuto"/> </dcsset:order> <dcsset:selection> <dcsset:item xsi:type="dcsset:SelectedItemAuto"/> </dcsset:selection> <dcsset:item> <dcsset:groupItems> <dcsset:item xsi:type="dcsset:GroupItemField"> <dcsset:field>Сотрудник</dcsset:field> <dcsset:groupType>Items</dcsset:groupType> <dcsset:periodAdditionType>None</dcsset:periodAdditionType> <dcsset:periodAdditionBegin xsi:type="xsd:dateTime">0001-01-01T00:00:00</dcsset:periodAdditionBegin> <dcsset:periodAdditionEnd xsi:type="xsd:dateTime">0001-01-01T00:00:00</dcsset:periodAdditionEnd> </dcsset:item> </dcsset:groupItems> <dcsset:order> <dcsset:item xsi:type="dcsset:OrderItemAuto"/> </dcsset:order> <dcsset:selection> <dcsset:item xsi:type="dcsset:SelectedItemAuto"/> </dcsset:selection> </dcsset:item> </dcsset:item> </dcsset:row> </dcsset:item> </defaultSettings> </DataCompositionSchema> |
|||
26
Dionisious
22.04.08
✎
10:36
|
(25)+ это в xml и в макет СКД.
|
|||
27
Гений 1С
гуру
22.04.08
✎
11:02
|
(26) А ты не можешь внешнюю обработку на slil.ru залить?
|
|||
28
Dionisious
22.04.08
✎
11:09
|
||||
29
Гений 1С
гуру
22.04.08
✎
11:46
|
(28) Мда, с наборами данных тема понятно, но переписывать 1с-кий запрос на два набора данных - это палево, проще функцию общего модуля юзать, которая для заданной должности и организации вычислит итог.
|
|||
30
Гений 1С
гуру
22.04.08
✎
11:46
|
Неужели в рамках одного запроса ничего нельзя сделать?
|
|||
31
Гений 1С
гуру
22.04.08
✎
13:06
|
(28) Кстати, на самом деле твой отчет всего лишь хитрый обход проблемы.
Я создал отчет с двумя наборами данных, но он по-прежнему выдает неправильные суммы и я понял почему. У тебя два набора ШР (Должность-> Количество ставок) И второй набор Сотрудники(Должность, Сотрудник ->) Ты берешь главной таблицей таблицу ШР, а зависимой Сотрудник. Если сделать наоборот, то получаются такие же кривые суммы, так что существенно это проблему не решает. Ладно, пока забью, буду дергать 1С за усы. Пока что СКД в этом плане лажается. |
|||
32
Dionisious
22.04.08
✎
13:21
|
(31) что бы получить полное соединение можно в набор ШР добавить соединение по свернутой таблице работников. ИМХО - вполне приличное решение. Да и мой запрос почти покрывает твою задачу чудок доработать и отчет готов.
|
|||
33
Гений 1С
гуру
22.04.08
✎
14:24
|
(32) Но ты не решил проблему, а уклонился от нее, хорошо что в данном случае можно решить задачу перестановкой левой и правой таблицы, а если так не решить? Если нужно брать уникальные суммы из левой и правой таблицы? Так что вопрос пока еще открыт.
|
|||
34
Dionisious
22.04.08
✎
14:30
|
(33) пример задачи приведи.
|
|||
35
Гений 1С
гуру
22.04.08
✎
14:37
|
1 2 3 4 5
--------- А Z 5 2 7 Б Y 2 4 1 А X 5 6 9 А Y 5 3 1 --------- Итого: -,-,7,15,17 Значение в колонке 3 зависит только от колонки 1. Значение в колонке 4 зависит от колонки 1 и 2. Значение в колонке 5 зависит только от колонки 2. Мне нужно подсчитать общий итог: В колонке 3 должно быть 7, а не 17. В колонке 5 должно быть 17, а не 18. Перестановками наборов данных не решишь. |
|||
36
Dionisious
22.04.08
✎
15:21
|
(35) Не поверишь решиось еще проще.
|
|||
37
Dionisious
22.04.08
✎
15:21
|
П1 Итого
П2 П3 П5 А 5 17 X 5 9 Y 5 1 Z 5 7 Б 2 17 X 2 9 Y 2 1 Z 2 7 Итого 7 17 |
|||
38
Dionisious
22.04.08
✎
15:21
|
Даже не надо связи нстраивать.
|
|||
39
Dionisious
22.04.08
✎
15:23
|
Наборы данных:
1 ВЫБРАТЬ П1, П3 ИЗ (ВЫБРАТЬ "А" КАК П1, 5 КАК П3 ОБЪЕДИНИТЬ ВЫБРАТЬ "Б" КАК П1, 2 КАК П3 ) КАК Д 2 ВЫБРАТЬ П2, П5 ИЗ (ВЫБРАТЬ "X" КАК П2, 9 КАК П5 ОБЪЕДИНИТЬ ВЫБРАТЬ "Y" КАК П2, 1 КАК П5 ОБЪЕДИНИТЬ ВЫБРАТЬ "Z" КАК П2, 7 КАК П5 ) КАК Д Ресурсы: П3, П5 - сумма. |
|||
40
Dionisious
22.04.08
✎
15:24
|
Так что СКД рулит. Сейчас попробую с тремя наборами.
|
|||
41
Dionisious
22.04.08
✎
15:30
|
Идеально:
П1 Итого П2 П3 П4 П5 А 5 11 17 X 5 6 9 Y 5 3 1 Z 5 2 7 Б 2 4 1 Y 2 4 1 Итого 7 15 17 Правда тут пришлось связи настроить. Третий набор данных: ВЫБРАТЬ П1, П2, П4 ИЗ (ВЫБРАТЬ "А" КАК П1, "Z" КАК П2, 2 КАК П4 ОБЪЕДИНИТЬ ВЫБРАТЬ "Б" КАК П1, "Y" КАК П2, 4 КАК П4 ОБЪЕДИНИТЬ ВЫБРАТЬ "А" КАК П1, "X" КАК П2, 6 КАК П4 ОБЪЕДИНИТЬ ВЫБРАТЬ "А" КАК П1, "Y" КАК П2, 3 КАК П4 ) КАК Д Две связи: 3 - 1 ПО П1=П1 3 - 2 ПО П2=П2 |
|||
42
Dionisious
22.04.08
✎
15:31
|
Ище вариант результата:
П1 П2 П3 П4 П5 А X 5 6 9 А Y 5 3 1 А Z 5 2 7 Б Y 2 4 1 Итого 7 15 17 |
|||
43
Гений 1С
гуру
22.04.08
✎
16:43
|
(42) счас переварю. Но все таки считаю, что только для того, чтобы получить итог, курочить запрос на наборы - это маразм. Может она и рулит, но рулеж этот в маразматическом стиле.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |