Имя: Пароль:
1C
1С v8
СКД, два периода
0 Альбатрос
 
11.02.13
06:17
запрос:

ВЫБРАТЬ
   ТоварыНаСкладахОстаткиИОбороты.Номенклатура
ПОМЕСТИТЬ сток
ИЗ
   РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(
           &НачалоПериода,
           &КонецПериода,
           Период,
           ,
           НЕ Номенклатура В
                   (ВЫБРАТЬ
                       ПродажиОбороты.Номенклатура
                   ИЗ
                       РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ПродажиОбороты
                   ГДЕ
                       ПродажиОбороты.КоличествоОборот > 0)) КАК ТоварыНаСкладахОстаткиИОбороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ПродажиОбороты.ДокументПродажи.Ответственный,
   ПродажиОбороты.КоличествоОборот,
   ПродажиОбороты.СтоимостьОборот,
   ПродажиОбороты.Номенклатура,
   ВЫБОР
       КОГДА ПродажиОбороты.Номенклатура В (сток.Номенклатура)
           ТОГДА ИСТИНА
       ИНАЧЕ ЛОЖЬ
   КОНЕЦ КАК БылиПродажи,
   ВЫРАЗИТЬ(ПродажиОбороты.ДокументПродажи.Сделка КАК Документ.ЗаказПокупателя).Ответственный КАК Отв,
   ПродажиОбороты.ДокументПродажи.Сделка,
   ПродажиОбороты.ДокументПродажи,
   ПродажиОборотыВозвраты.ДокументПродажи КАК ДокументПродажиВозврат
ИЗ
   РегистрНакопления.Продажи.Обороты(&НачалоЗапроса, &КонецЗапроса, , ДокументПродажи ССЫЛКА Документ.РеализацияТоваровУслуг) КАК ПродажиОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ сток КАК сток
       ПО ПродажиОбороты.Номенклатура = сток.Номенклатура
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&НачалоЗапроса, &КонецЗапроса, , ДокументПродажи ССЫЛКА Документ.ВозвратТоваровОтПокупателя) КАК ПродажиОборотыВозвраты
       ПО ПродажиОбороты.ДокументПродажи.Сделка = ПродажиОборотыВозвраты.ДокументПродажи.Сделка


В итоге, второй пакет игнорирует указанные периоды и берет период из первого пакета? Почему так? Как надо правильно?
1 Cube
 
11.02.13
06:21
2 Альбатрос
 
11.02.13
06:24
(1) Доброе утро, Уважаемый) Надо было продолжить )
3 Cube
 
11.02.13
06:32
(2) А че ты мне ВЫкаешь?))
(0) "второй пакет игнорирует указанные периоды и берет период из первого пакета"
С чего ты взял? Вроде, в запросе все правильно, кроме отсутствия ещё одной связи таблиц ПродажиОбороты и ПродажиОборотыВозвраты по номенклатуре...
4 Альбатрос
 
11.02.13
06:37
http://savepic.ru/4036898.jpg

Дата документа продажи должна быть из второг периода, а она из первого...
5 Альбатрос
 
11.02.13
06:37
замазал, мля)
6 Timon1405
 
11.02.13
06:46
1) убрать автозаполнение
2) явно прописать &НачалоПериода, &НачалоЗапроса на соответственных вкладках "компоновка данных"
3) сделать оставшуюся компоновку вручную
если в запросе появились фигурные скобки - ты на верном пути)
7 Alexaha
 
11.02.13
06:49
(0) потому что параметры ты задаешь одинаковые
сделай их разным их возьми в фигурные скобки

ааа,..уже ответили :)
8 Альбатрос
 
11.02.13
06:59
(6) хм... убрал автозаполнение, на закладке "набор данных" стало неактивно добавление нового поля.
9 Альбатрос
 
11.02.13
07:01
(8) это я ступил, все активно
10 Альбатрос
 
11.02.13
07:04
Всем спасибо, получилось!
11 Альбатрос
 
11.02.13
11:44
Мужики, чуток другая проблема. Завел вычисляемое поле, назначил выражение:

ВЫБОР КОГДА ДокументПродажиВозврат = NULL ТОГДА СтоимостьОборот ИНАЧЕ -СтоимостьОборот КОНЕЦ

Так вот, всегда на ложь отрабатывает, хотя это не так. Что неправильно?
12 ll13
 
11.02.13
11:45
ДокументПродажиВозврат = NULL >> ДокументПродажиВозврат ЕСТЬNULL
13 Cube
 
11.02.13
11:46
(12) + Есть Null с пробелом :)
14 Альбатрос
 
11.02.13
11:48
(12) (13) Спасибо! =)
15 Альбатрос
 
12.02.13
04:17
следующая проблема:

Нужно посчитать процентное соотношение проданого "непродаваемого" товара к общему числу продаж по каждому менеджеру. Тут я забуксовал. Попробовал так:

ВЫБОР КОГДА  ДокументПродажиВозврат ЕСТЬ NULL ТОГДА (СтоимостьОборот*100)/СУММА(СтоимостьОборот) ИНАЧЕ 0 КОНЕЦ

Ругается на использование агрегатной функции в условии.
Как сделать по-другому?
16 Alexaha
 
12.02.13
06:40
(15) кури вычисляемые поля
17 echo77
 
12.02.13
06:45
Кури ресурсы и видеокурс по СКД. Выражение в ресур придется помещать
18 Альбатрос
 
12.02.13
07:28
(16) Вот как раз через них и не получается...
19 Альбатрос
 
12.02.13
07:54
(17) Поделитесь ссылочкой
20 Alexaha
 
12.02.13
08:56
(18) если тебе нужен процент, то разверни дерево ресурса на закладка выбранные поля и поэкспериментируй со свойствами ресурса, может что и подойдет, например: процент в иерархии, процент в группе, процент общий
21 Альбатрос
 
12.02.13
09:27
(20) я уже сделал, Вы оказались правы, хороший вариант через вычисляемые поля и Вычислить =). Теперь другая проблема, не срабатывает форматирование строки, указываю точность 2 у вычисляемого поля, а он все равно кучу знаков выводит после запятой. Изменение цвета текста для него же работает...
22 Alexaha
 
12.02.13
09:39
(21)  указываю точность 2 у вычисляемого поля - где именно?
23 Альбатрос
 
12.02.13
09:46
(22) На закладке "Вычисляемы поля", в "параметры"
24 Alexaha
 
12.02.13
09:47
(23) Оформление ))
25 Альбатрос
 
12.02.13
09:49
(24) Вот блин ))) Спасибо ))
26 Альбатрос
 
12.02.13
10:51
Следующая проблема:
шибка в элементе отбора: глобальные элементы отбора обязательно должны использовать поля "ПараметрыДанных.НачалоПериода Равно 12.02.2013 0:00:00"
27 Альбатрос
 
12.02.13
10:51
Почему так?
28 Альбатрос
 
12.02.13
11:05
апну таки...
29 Альбатрос
 
12.02.13
11:08
параметры задал в отборе. при установке параметров пользователем вот такая ошибка:
Ошибка в элементе отбора: глобальные элементы отбора обязательно должны использовать поля "ПараметрыДанных.НачалоПериода Равно 12.02.2013 0:00:00"
30 Альбатрос
 
12.02.13
11:08
чо означает, х.. пойми...
31 Альбатрос
 
12.02.13
11:27
вверх
32 Альбатрос
 
12.02.13
11:48
Вообщем, пришлось на форме рядом с ТП отбора поставить ТП параметров. Если параметры пихать в отбор, то ошибка. Как по-другому обойти, я хз...
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.