Имя: Пароль:
1C
1С v8
Ошибка компоновки данных
,
0 Miss1C
 
26.09.12
15:36
Отчет отрабатывает нормально, но только я выставляю группировке "Иерархический", вылетает ошибка:

{Форма.ФормаОтчета(15)}: Ошибка при вызове метода контекста (Инициализировать): Ошибка компоновки данных
   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,,ДанныеРасшифровки,Истина);
по причине:
Ошибка компоновки данных
по причине:
Ошибка инициализации
по причине:
Ошибка создания набора данных
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(8, 2)}: Неоднозначное поле "РазрезПланирования.Ссылка"
<<?>>РазрезПланирования.Ссылка В(&Ссылки)
1 Classic
 
26.09.12
15:38
Запрос давай
2 motkot
 
26.09.12
15:39
(0) что такое "РазрезПланирования"?
3 Kashemir
 
26.09.12
15:41
У тебя очевидно есть похожие поля. Например ВТ РазрезПланирования и КакаяТоТаблица.РазрезПланирования.

Просто переименуй одно из них.
4 Miss1C
 
26.09.12
15:42
ВЫБРАТЬ РАЗРЕШЕННЫЕ
   Номенклатура.Ссылка КАК Номенклатура,
   ЕСТЬNULL(РазрезПланирования.Ссылка, ЗНАЧЕНИЕ(Справочник.РазрезПланирования.ПустаяСсылка)) КАК РазрезПланирования,
   ЕдиницыИзмерения.Объем / 10 КАК КоэффициентОбъема,
   ЕдиницыИзмерения.Вес / 1000 КАК КоэффициентВеса
ПОМЕСТИТЬ НоменклатураПоРазрезамПланирования
ИЗ
   Справочник.Номенклатура КАК Номенклатура
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения
       ПО Номенклатура.ЕдиницаХраненияОстатков = ЕдиницыИзмерения.Ссылка
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РазрезПланирования.НоменклатураПланирования КАК РазрезПланирования
       ПО (Номенклатура.Бренд = РазрезПланирования.Разрез
               ИЛИ Номенклатура.Производитель = РазрезПланирования.Разрез
               ИЛИ Номенклатура.Ссылка = РазрезПланирования.Разрез)
ГДЕ
   (НЕ Номенклатура.ЭтоГруппа)

СГРУППИРОВАТЬ ПО
   Номенклатура.Ссылка,
   ЕдиницыИзмерения.Объем / 10,
   ЕдиницыИзмерения.Вес / 1000,
   ЕСТЬNULL(РазрезПланирования.Ссылка, ЗНАЧЕНИЕ(Справочник.РазрезПланирования.ПустаяСсылка))

ИНДЕКСИРОВАТЬ ПО
   Номенклатура
;

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

ИНДЕКСИРОВАТЬ ПО
   РазрезПланирования,
   КомандаТорговогоПредставителя,
   МаршрутКоманды
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
   ФактПродаж.РазрезПланирования,
   ФактПродаж.КомандаТорговогоПредставителя,
   ФактПродаж.МаршрутКоманды,
   ФактПродаж.Номенклатура,
   ФактПродаж.ПоказательФакт,
   ФактПродаж.СуммаФакт,
   ФактПродаж.Регистратор,
   РуководительКомандыСрезПоследних.Супервайзер,
   СоставТорговых.ТорговыйПредставитель,
   ВЫБОР
       КОГДА ФактПродаж.КомандаТорговогоПредставителя = ЗНАЧЕНИЕ(Справочник.Команды.ПустаяСсылка)
           ТОГДА "<< без команды>>"
       ИНАЧЕ ФактПродаж.КомандаТорговогоПредставителя.Наименование + ВЫБОР
               КОГДА ФактПродаж.КомандаТорговогоПредставителя.Наименование <> ""
                   ТОГДА " (" + ВЫБОР
                           КОГДА РуководительКомандыСрезПоследних.Супервайзер.Наименование = ""
                               ТОГДА "<< без СВ>>"
                           ИНАЧЕ РуководительКомандыСрезПоследних.Супервайзер.Наименование
                       КОНЕЦ + ")"
               ИНАЧЕ ВЫБОР
                       КОГДА РуководительКомандыСрезПоследних.Супервайзер.Наименование = ""
                           ТОГДА "<< без СВ>>"
                       ИНАЧЕ РуководительКомандыСрезПоследних.Супервайзер.Наименование
                   КОНЕЦ
           КОНЕЦ
   КОНЕЦ КАК ПредставлениеКоманды,
   ВЫБОР
       КОГДА ФактПродаж.МаршрутКоманды = ЗНАЧЕНИЕ(Справочник.МаршрутыКомманд.ПустаяСсылка)
           ТОГДА "<< без маршрута>>"
       ИНАЧЕ ФактПродаж.МаршрутКоманды.Наименование + ВЫБОР
               КОГДА ФактПродаж.МаршрутКоманды.Наименование <> ""
                   ТОГДА " (" + ВЫБОР
                           КОГДА СоставТорговых.ТорговыйПредставитель.Наименование = ""
                               ТОГДА "<< без ТП>>"
                           ИНАЧЕ СоставТорговых.ТорговыйПредставитель.Наименование
                       КОНЕЦ + ")"
               ИНАЧЕ ВЫБОР
                       КОГДА СоставТорговых.ТорговыйПредставитель.Наименование = ""
                           ТОГДА "<< без ТП>>"
                       ИНАЧЕ СоставТорговых.ТорговыйПредставитель.Наименование
                   КОНЕЦ
           КОНЕЦ
   КОНЕЦ КАК ПредставлениеМаршрута,
   ВЫБОР
       КОГДА ФактПродаж.РазрезПланирования = ЗНАЧЕНИЕ(Справочник.РазрезПланирования.ПустаяСсылка)
           ТОГДА "<< без разреза планирования>>"
       ИНАЧЕ ФактПродаж.РазрезПланирования.Наименование
   КОНЕЦ КАК ПредставлениеРазреза,
   ФактПродаж.ПериодДень,
   ФактПродаж.ПериодНеделя,
   ФактПродаж.ПериодМесяц,
   ФактПродаж.ПериодКвартал,
   ФактПродаж.ПериодПолугодие,
   ФактПродаж.ПериодГод
ИЗ
   ФактПродаж КАК ФактПродаж
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РуководительКоманды.СрезПоследних(&КонецПериода, ) КАК РуководительКомандыСрезПоследних
       ПО ФактПродаж.КомандаТорговогоПредставителя = РуководительКомандыСрезПоследних.Команда
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           СоставКоманд.Команда КАК Команда,
           СоставКоманд.МаршрутКоманды КАК МаршрутКоманды,
           ТорговыеВКомандах.ТорговыйПредставитель КАК ТорговыйПредставитель
       ИЗ
           (ВЫБРАТЬ
               КомандыИМаршруты.Команда КАК Команда,
               КомандыИМаршруты.МаршрутКоманды КАК МаршрутКоманды,
               МАКСИМУМ(КомандыИМаршруты.Период) КАК Период
           ИЗ
               РегистрСведений.СоставКомандТорговыхПредставителей.СрезПоследних(&КонецПериода, Активность) КАК КомандыИМаршруты
                   ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Команды КАК Команды
                   ПО КомандыИМаршруты.Команда = Команды.Ссылка
                   ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.МаршрутыКомманд КАК МаршрутыКомманд
                   ПО КомандыИМаршруты.МаршрутКоманды = МаршрутыКомманд.Ссылка
           
           СГРУППИРОВАТЬ ПО
               КомандыИМаршруты.Команда,
               КомандыИМаршруты.МаршрутКоманды) КАК СоставКоманд
               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоставКомандТорговыхПредставителей.СрезПоследних(&КонецПериода, Активность) КАК ТорговыеВКомандах
               ПО СоставКоманд.Команда = ТорговыеВКомандах.Команда
                   И СоставКоманд.МаршрутКоманды = ТорговыеВКомандах.МаршрутКоманды
                   И СоставКоманд.Период = ТорговыеВКомандах.Период) КАК СоставТорговых
       ПО ФактПродаж.КомандаТорговогоПредставителя = СоставТорговых.Команда
           И ФактПродаж.МаршрутКоманды = СоставТорговых.МаршрутКоманды
5 motkot
 
26.09.12
15:42
(3) +
6 motkot
 
26.09.12
15:44
(4) Справочник.РазрезПланирования.НоменклатураПланирования КАК РазрезПланирования переделать
7 motkot
 
26.09.12
15:44
(6) КАК РазрезПланирования переименовать
8 Aprobator
 
26.09.12
15:44
ну сказали же уже что делать. Нафиг сюда еще запрос то постить?
9 Classic
 
26.09.12
15:45
(4)
Не называй поля так же, как таблицы
10 motkot
 
26.09.12
15:46
(8) ну ее попросили же запостить
11 Classic
 
26.09.12
15:47
(4)
Там нет строки
"РазрезПланирования.Ссылка В(&Ссылки)"
12 1Сергей
 
26.09.12
15:47
(10) надо было попросить сиськи показать
13 Classic
 
26.09.12
15:47
(12)
Запрос увидеть больше шансов
14 Aprobator
 
26.09.12
15:48
(13) тебя это возбуждает?
15 Kashemir
 
26.09.12
15:49
(12) Вы поосторожнее - судя по левому верхнему углу фотографии - склонна к суициду :)
16 Classic
 
26.09.12
15:50
(14)
Вы с какой целью интересуетесь?
17 motkot
 
26.09.12
15:51
(11) судя по всему это даже не актуально
18 Kashemir
 
26.09.12
15:54
(11) Это СКД. Очевидно что для поля РазрезПланирования.* разрешено накладывание отборов (явно включено "автозаполнение" полей) и при попытке положить такой отбор возникает конфуз.
19 motkot
 
26.09.12
15:55
(18) я про другое, то что СКД и так ясно исходя из (0)
20 Aprobator
 
26.09.12
15:56
(16) даже не надейся.
(18) при построении иерархии возникает - написано же. СКД ее сама строит. По каким принципам фиг знает. Она вообще много чего интересного творит. С недавних пор из за этого я перестал использовать автозаполнение в СКД полностью.
21 Kashemir
 
26.09.12
15:58
(20) Значит дело еще усугубляется тем что условие не пользовательское, а принадлежит самой схемы при сборке запроса получения иерхархии. В любом случае нужно переименование (3).
22 Kashemir
 
26.09.12
15:59
Вообще проще всего взять консоль отчетов с ИТС (СКД) и посмотреть на уже скомпонованный запрос.
23 Miss1C
 
26.09.12
16:00
Переименовала все равно не помогает


ВЫБРАТЬ РАЗРЕШЕННЫЕ
   Номенклатура.Ссылка КАК Номенклатура,
   ЕСТЬNULL(РазрезСпр.Ссылка, ЗНАЧЕНИЕ(Справочник.РазрезПланирования.ПустаяСсылка)) КАК РазрезПланирования,
   ЕдиницыИзмерения.Объем / 10 КАК КоэффициентОбъема,
   ЕдиницыИзмерения.Вес / 1000 КАК КоэффициентВеса
ПОМЕСТИТЬ НоменклатураПоРазрезамПланирования
ИЗ
   Справочник.Номенклатура КАК Номенклатура
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения
       ПО Номенклатура.ЕдиницаХраненияОстатков = ЕдиницыИзмерения.Ссылка
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РазрезПланирования.НоменклатураПланирования КАК РазрезСпр
       ПО (Номенклатура.Бренд = РазрезСпр.Разрез
               ИЛИ Номенклатура.Производитель = РазрезСпр.Разрез
               ИЛИ Номенклатура.Ссылка = РазрезСпр.Разрез)
ГДЕ
   (НЕ Номенклатура.ЭтоГруппа)

СГРУППИРОВАТЬ ПО
   Номенклатура.Ссылка,
   ЕдиницыИзмерения.Объем / 10,
   ЕдиницыИзмерения.Вес / 1000,
   ЕСТЬNULL(РазрезСпр.Ссылка, ЗНАЧЕНИЕ(Справочник.РазрезПланирования.ПустаяСсылка))

ИНДЕКСИРОВАТЬ ПО
   Номенклатура
;

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

ИНДЕКСИРОВАТЬ ПО
   РазрезПланированияСП,
   КомандаТорговогоПредставителя,
   МаршрутКоманды
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
   ФактПродаж.РазрезПланированияСП,
   ФактПродаж.КомандаТорговогоПредставителя,
   ФактПродаж.МаршрутКоманды,
   ФактПродаж.Номенклатура,
   ФактПродаж.ПоказательФакт,
   ФактПродаж.СуммаФакт,
   ФактПродаж.Регистратор,
   РуководительКомандыСрезПоследних.Супервайзер,
   СоставТорговых.ТорговыйПредставитель,
   ВЫБОР
       КОГДА ФактПродаж.КомандаТорговогоПредставителя = ЗНАЧЕНИЕ(Справочник.Команды.ПустаяСсылка)
           ТОГДА "<< без команды>>"
       ИНАЧЕ ФактПродаж.КомандаТорговогоПредставителя.Наименование + ВЫБОР
               КОГДА ФактПродаж.КомандаТорговогоПредставителя.Наименование <> ""
                   ТОГДА " (" + ВЫБОР
                           КОГДА РуководительКомандыСрезПоследних.Супервайзер.Наименование = ""
                               ТОГДА "<< без СВ>>"
                           ИНАЧЕ РуководительКомандыСрезПоследних.Супервайзер.Наименование
                       КОНЕЦ + ")"
               ИНАЧЕ ВЫБОР
                       КОГДА РуководительКомандыСрезПоследних.Супервайзер.Наименование = ""
                           ТОГДА "<< без СВ>>"
                       ИНАЧЕ РуководительКомандыСрезПоследних.Супервайзер.Наименование
                   КОНЕЦ
           КОНЕЦ
   КОНЕЦ КАК ПредставлениеКоманды,
   ВЫБОР
       КОГДА ФактПродаж.МаршрутКоманды = ЗНАЧЕНИЕ(Справочник.МаршрутыКомманд.ПустаяСсылка)
           ТОГДА "<< без маршрута>>"
       ИНАЧЕ ФактПродаж.МаршрутКоманды.Наименование + ВЫБОР
               КОГДА ФактПродаж.МаршрутКоманды.Наименование <> ""
                   ТОГДА " (" + ВЫБОР
                           КОГДА СоставТорговых.ТорговыйПредставитель.Наименование = ""
                               ТОГДА "<< без ТП>>"
                           ИНАЧЕ СоставТорговых.ТорговыйПредставитель.Наименование
                       КОНЕЦ + ")"
               ИНАЧЕ ВЫБОР
                       КОГДА СоставТорговых.ТорговыйПредставитель.Наименование = ""
                           ТОГДА "<< без ТП>>"
                       ИНАЧЕ СоставТорговых.ТорговыйПредставитель.Наименование
                   КОНЕЦ
           КОНЕЦ
   КОНЕЦ КАК ПредставлениеМаршрута,
   ВЫБОР
       КОГДА ФактПродаж.РазрезПланированияСП = ЗНАЧЕНИЕ(Справочник.РазрезПланирования.ПустаяСсылка)
           ТОГДА "<< без разреза планирования>>"
       ИНАЧЕ ФактПродаж.РазрезПланированияСП.Наименование
   КОНЕЦ КАК ПредставлениеРазреза,
   ФактПродаж.ПериодДень,
   ФактПродаж.ПериодНеделя,
   ФактПродаж.ПериодМесяц,
   ФактПродаж.ПериодКвартал,
   ФактПродаж.ПериодПолугодие,
   ФактПродаж.ПериодГод
ИЗ
   ФактПродаж КАК ФактПродаж
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РуководительКоманды.СрезПоследних(&КонецПериода, ) КАК РуководительКомандыСрезПоследних
       ПО ФактПродаж.КомандаТорговогоПредставителя = РуководительКомандыСрезПоследних.Команда
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           СоставКоманд.Команда КАК Команда,
           СоставКоманд.МаршрутКоманды КАК МаршрутКоманды,
           ТорговыеВКомандах.ТорговыйПредставитель КАК ТорговыйПредставитель
       ИЗ
           (ВЫБРАТЬ
               КомандыИМаршруты.Команда КАК Команда,
               КомандыИМаршруты.МаршрутКоманды КАК МаршрутКоманды,
               МАКСИМУМ(КомандыИМаршруты.Период) КАК Период
           ИЗ
               РегистрСведений.СоставКомандТорговыхПредставителей.СрезПоследних(&КонецПериода, Активность) КАК КомандыИМаршруты
                   ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Команды КАК Команды
                   ПО КомандыИМаршруты.Команда = Команды.Ссылка
                   ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.МаршрутыКомманд КАК МаршрутыКомманд
                   ПО КомандыИМаршруты.МаршрутКоманды = МаршрутыКомманд.Ссылка
           
           СГРУППИРОВАТЬ ПО
               КомандыИМаршруты.Команда,
               КомандыИМаршруты.МаршрутКоманды) КАК СоставКоманд
               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоставКомандТорговыхПредставителей.СрезПоследних(&КонецПериода, Активность) КАК ТорговыеВКомандах
               ПО СоставКоманд.Команда = ТорговыеВКомандах.Команда
                   И СоставКоманд.МаршрутКоманды = ТорговыеВКомандах.МаршрутКоманды
                   И СоставКоманд.Период = ТорговыеВКомандах.Период) КАК СоставТорговых
       ПО ФактПродаж.КомандаТорговогоПредставителя = СоставТорговых.Команда
           И ФактПродаж.МаршрутКоманды = СоставТорговых.МаршрутКоманды
24 Miss1C
 
26.09.12
16:03
(22)Зачем консоль отчетов, можно и так проверить, но когда выставить группировке "Разрез планирования" Иерархия, выдает ошибку
25 motkot
 
26.09.12
16:03
(23) в (20)
26 Kashemir
 
26.09.12
16:07
(24) СКД  как и построитель перекраивает запрос под текущие настройки вывода. Потому вид результирующего отчета может значительно отличаться от базового. Потому лучше посмотреть как раз на финально собранный запрос, что позволяет сделать построитель - проблема будет очевиднее.
27 motkot
 
26.09.12
16:10
(24) если не хочется консоль отчетов, то почему бы не начать со снятия "Автозаполнения"?
28 Kashemir
 
26.09.12
16:11
(27) Ты готов объяснять как добавить поля / условия в {} ? :)
29 Kashemir
 
26.09.12
16:13
Но вообще если не хочется брать консоль отчетов, можно и в отладчике добраться до финального запроса после получения макета.

Примерно так:

МакетКомпоновки = КомпоновщикМакета.Выполнить(ЭтотОбъект.СхемаКомпоновкиДанных, НастройкиТекущейКомпоновки, НоваяРасшифровка);

ТекстЗапроса = МакетКомпоновки.НаборыДанных[0].Запрос;
30 motkot
 
26.09.12
16:14
(28) готов, но хотелось бы компенсацию, а ты?
31 Kashemir
 
26.09.12
16:16
(30) У меня нет столько времени :)
32 motkot
 
26.09.12
16:24
(31) не стоит думать о других плохо, это я про тонкий намек про время. почему бы и не потратить за компенсацию (они же разные бывают)?
33 Kashemir
 
26.09.12
16:26
(32) Здесь нет никакого намека. Расписывать тему использования условных выражений да еще в переписке - банального много текста и соответственно времени.
34 motkot
 
26.09.12
16:33
(33) ну один может, другой нет, все просто.
35 Miss1C
 
26.09.12
16:41
(34)Напиши условное выражение только для поля Разрез планирования
36 Kashemir
 
26.09.12
17:09
(35) Гугл подсказывает - http://www.softmaker.kz/articles.php?cat=5&id=7#70 - Расширение языка запросов.
37 Ns33
 
26.09.12
17:26
1. Поле
ЕСТЬNULL(РазрезПланирования.Ссылка, ЗНАЧЕНИЕ(Справочник.РазрезПланирования.ПустаяСсылка)) КАК РазрезПланирования,

2. Имя таблицы соединения
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РазрезПланирования.НоменклатураПланирования КАК РазрезПланирования
38 Miss1C
 
26.09.12
17:42
(37)Вот на это и ругается, потому что идет проверка справочник РазрезПланирования.Ссылка Значение (Справочник.РазрезПланирования.ПустаяСсылка) можно как то заменить?

ЕСТЬNULL(РазрезПланирования.Ссылка, ЗНАЧЕНИЕ(Справочник.РазрезПланирования.ПустаяСсылка)) КАК РазрезПланирования,
39 Kashemir
 
26.09.12
17:44
(38) Так в чем проблема то:

ЕСТЬNULL(РазрезПланирования.Ссылка, ЗНАЧЕНИЕ(Справочник.РазрезПланирования.ПустаяСсылка)) КАК МОЙ_РазрезПланирования
40 Miss1C
 
26.09.12
18:26
(38)Создала новый отчет, выбрала Ссылку со справочника Разрезы планирования и Ссылку со спр Номенклатура, по Номенклатуре иерархия нормально отрабатывает а по Разрезам та же ошибка, в какую сторону копать?
41 Kashemir
 
26.09.12
18:30
(40) Покажи запрос из макета (29)
42 vmv
 
26.09.12
18:31
(40) Не Чурайся разыменовать все поля в запросах СКД, исполльзуя КАК

как разыменуешь все получиться, а копаться в тонне супервазерского запроса, извените, если б еще мужик писал, то было бы логично, а так - наверняка там рюшки всякие и прочая чушь)
43 vmv
 
26.09.12
18:33
а вот и пример рющек

ТОГДА " (" + ВЫБОР
                           КОГДА СоставТорговых.ТорговыйПредставитель.Наименование = ""
                               ТОГДА "<< без ТП>>"
                           ИНАЧЕ СоставТорговых.ТорговыйПредставитель.Наименование
                       КОНЕЦ + ")"

за такое я предлагаю песателю сгонять за щаурмой, чтобы привыкал к скорой смене парофиля деятельнгости)
44 Miss1C
 
26.09.12
18:34
Процедура ДействияФормыСформировать(Кнопка)
   ЭлементыФормы.Результат.Очистить();
   
   Скрипт=Новый COMОбъект("MSScriptControl.ScriptControl");
   Скрипт.Language="javascript";
   ТочкаСтарт=Скрипт.eval("new Date().getTime()");
   
   КомпоновщикМакета=Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпоновкиДанных=КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,КомпоновщикНастроек.Настройки,ДанныеРасшифровки);
   ПроцессорКомпоновкиДанных=Новый ПроцессорКомпоновкиДанных;
   // Здесь, при необходимости, следует добавить инициализацию внешних данных, если используется источник данных типа Объект.
   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,,ДанныеРасшифровки,Истина);
   ПроцессорВывода=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат);
   ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
   
   Если СвернутьГруппировки Тогда
       ЭлементыФормы.Результат.ПоказатьУровеньГруппировокСтрок(0);
   КонецЕсли;
   
   ТочкаФиниш=Скрипт.eval("new Date().getTime()");
   ЭлементыФормы.НадписьВремяФормирования.Заголовок=" Время формирования отчета: "+ПолучитьПредставлениеВремени(ТочкаФиниш-ТочкаСтарт)+" мс";
   
   ЭлементыФормы.ДействияФормы.Кнопки.БазовыеНастройки.Пометка=Ложь;
   ЭлементыФормы.ПанельОсновная.ТекущаяСтраница=ЭлементыФормы.ПанельОсновная.Страницы.Отчет;
КонецПроцедуры
45 Miss1C
 
26.09.12
18:35
(43)см (40) Кажется дело в справочнике
46 Kashemir
 
26.09.12
18:36
(45) В чем проблема было уже в (3) указано. Но если надо носом ткнуть в проблему - то нужно видеть куда (29).
47 Kashemir
 
26.09.12
18:37
(44) Это что такое ? Зачем ?
48 vmv
 
26.09.12
18:38
ну ввобще-то надо менять терминологию идентификаторов/сионимов а то "Разрез" у меня ассоцициируется исключительно с бедром, какой подонок ввел этот термин в жосткое программирование, да еще и в запроси тулят - ужас!
49 Miss1C
 
26.09.12
18:39
(46)

ВЫБРАТЬ РАЗРЕШЕННЫЕ
   Разрез.Ссылка КАК Разрез,
   Номенклатура.Ссылка
ИЗ
   Справочник.РазрезПланирования КАК Разрез,
   Справочник.Номенклатура КАК Номенклатура

Если справочник номенклатура, иерархия нормально отрабатывает, если РазрезПланирования, ошибка та же что и в (0)
50 Miss1C
 
26.09.12
18:40
(48))
51 Kashemir
 
26.09.12
18:40
ВЫБРАТЬ РАЗРЕШЕННЫЕ
   Разрез.Ссылка КАК МОЙРазрез,
   Номенклатура.Ссылка КАК МОЯНоменклатура
ИЗ
   Справочник.РазрезПланирования КАК Разрез,
   Справочник.Номенклатура КАК Номенклатура
52 Miss1C
 
26.09.12
18:41
(51))))
53 Kashemir
 
26.09.12
18:42
(52) Довольна ? :)
54 vmv
 
26.09.12
18:42
полная безусловная комбинация двух массивных таблиц - ета очень плоха, да и какая может быть иерархия у комбинации разных таблиц, хотя если разрез достаточно глубок - можно подумать
55 vmv
 
26.09.12
18:44
(53) ты не понимаешь у нее привычка носить мини сразу с двумя разрезами, вот и заклинило, но регигиозно правильно тока слева
56 Miss1C
 
26.09.12
18:44
(53)Тоже самое
{(7, 2)}: Неоднозначное поле "РазрезПланирования.Ссылка"
<<?>>РазрезПланирования.Ссылка В(&Ссылки)
57 Kashemir
 
26.09.12
18:45
(55) Та может она православная :)

(56) "Не верю".
58 Miss1C
 
26.09.12
18:46
(57)Серьезно, думаю что со справочником проблемы
59 Miss1C
 
26.09.12
18:46
(57)иерархия стоит все как у номенклатуры
60 Kashemir
 
26.09.12
18:47
(59) Может все же отладчиком сумеешь остановится на макете и показать запрос (29) ? Постарайся, заставь себя как нибудь :)
61 vmv
 
26.09.12
18:48
шо за (&Ссылки) где разыменование через КАК во всех пакетах?

должно быть (&мСсылки) или (&ТзСсылки) или еще как-то понятние

если ты также готовишь как пишешь запроси аби как и без фантазии,
то о чем еще можно говорить)
62 Miss1C
 
26.09.12
18:54
(60)

ВЫБРАТЬ РАЗРЕШЕННЫЕ
   Разрез.Ссылка КАК МойРазрез,
   Номенклатура.Ссылка КАК МояНоменклатура,
   Разрез.Наименование КАК Наименование,
   Номенклатура.Представление КАК МояНоменклатураПредставление,
   Номенклатура.Наименование КАК Наименование1
ИЗ
   Справочник.РазрезПланирования КАК Разрез,
   Справочник.Номенклатура КАК Номенклатура
63 vmv
 
26.09.12
18:58
ВЫБРАТЬ РАЗРЕШЕННЫЕ
   Номенклатура.Ссылка КАК Номенклатура,
   ЕСТЬNULL(РазрезПланирования.Ссылка, ЗНАЧЕНИЕ(Справочник.РазрезПланирования.ПустаяСсылка)) КАК РазрезПланирования,
   ЕдиницыИзмерения.Объем / 10 КАК КоэффициентОбъема,
   ЕдиницыИзмерения.Вес / 1000 КАК КоэффициентВеса
ПОМЕСТИТЬ НоменклатураПоРазрезамПланирования
ИЗ
   Справочник.Номенклатура КАК Номенклатура
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения
       ПО Номенклатура.ЕдиницаХраненияОстатков = ЕдиницыИзмерения.Ссылка
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РазрезПланирования.НоменклатураПланирования КАК РазрезПланирования


разыменуй тут во вложенных и иди уже борщ вари, ну все же было видно с первого сообщения, я ждал пока покажут обнаженный бюст - опят обман!
64 Miss1C
 
26.09.12
19:00
(63)Если сделать (62) дальше разберусь
65 vmv
 
26.09.12
19:01
ВЫБРАТЬ РАЗРЕШЕННЫЕ
   Номенклатура.Ссылка КАК Номенклатура,
   ЕСТЬNULL(РазрезПланирования.Ссылка, ЗНАЧЕНИЕ(Справочник.РазрезПланирования.ПустаяСсылка)) КАК РазрезПланирования,
   ЕдиницыИзмерения.Объем / 10 КАК КоэффициентОбъема,
   ЕдиницыИзмерения.Вес / 1000 КАК КоэффициентВеса
ПОМЕСТИТЬ НоменклатураПоРазрезамПланирования
ИЗ
   Справочник.Номенклатура КАК Номенклатура
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения
       ПО Номенклатура.ЕдиницаХраненияОстатков = ЕдиницыИзмерения.Ссылка
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РазрезПланирования.НоменклатураПланирования КАК ТаблРазрезПланирования

так надо, все
66 Kashemir
 
26.09.12
19:02
(62) Тю - а где ж условие на которое ругается РазрезПланирования.Ссылка В(&Ссылки) ? Может у тебя больше 1 набора в схеме ?
67 Miss1C
 
26.09.12
19:03
(66)В том то и дело что нет
68 Aprobator
 
26.09.12
19:03
а справочник РазрезПланирования не подчиненный случаем?
69 Miss1C
 
26.09.12
19:04
(66)Я еще с (40) писала
70 vmv
 
26.09.12
19:04
(66) хвост ругается на голову, ощибка была в том, что имя соединияемой таблицы совпадало с именем поля которыми кормилась вся СКД.

женщины часто думают, что главное хвос, а нужно всегда смотреть сначала в голову, а уже потом хныкать по поводу хвостов

"баби такие баби"(с) КО
71 Kashemir
 
26.09.12
19:04
(67) Значит где-то притаились чОрные вертолеты :(
72 Miss1C
 
26.09.12
19:05
(68)Нет
73 PR
 
26.09.12
19:05
Хорошая фотка :))
74 Kashemir
 
26.09.12
19:06
(70) Та глянь на (40) + (49) - чистого листа все равно лажа пробивается.
75 Miss1C
 
26.09.12
19:06
(73)Спасибо
76 Miss1C
 
26.09.12
19:07
(70)Приколисты)
77 Miss1C
 
26.09.12
19:15
Нашла в чем проблема
78 Miss1C
 
26.09.12
19:16
Какой то хороший программист когда создавал справочник, назвал реквизит названием справочника
79 Miss1C
 
26.09.12
19:23
Теперь Рома меня точно возьмет к себе на работу)
80 PR
 
26.09.12
19:30
(79) Ну, после такого конечно :)) Как не взять :)) Тут многие не знают, как модуль числа взять :))
81 Miss1C
 
26.09.12
19:33
(80)Зарплата 120?
82 PR
 
26.09.12
19:35
(81) Это долларов? В час? Или в процентах от базы? Что у нас база? :))
83 Miss1C
 
26.09.12
19:36
Рублей, но от долларов не откажусь)
84 PR
 
26.09.12
19:38
120 рублей в час? Да нормально, я считаю, я даже готов накинуть сверху :))
85 PR
 
26.09.12
19:39
Неужели твой парень отпустит тебя в Москву? :))
86 Feanorko
 
26.09.12
19:47
(85) а был ли мальчик? :)
87 PR
 
26.09.12
20:15
(86) Ну, думаю, об этом знает только девочка :))
88 Miss1C
 
27.09.12
10:02
Как можно обойтись, чтобы не переименовывать реквизит справочника, потому что на него много ссылок, может как то в запросе по другому написать?
89 Aprobator
 
27.09.12
10:08
(88) попробуй сам справочник кинуть в подзапрос, там дать противному реквизиту псевдоним и уже с ним работай.
90 Miss1C
 
27.09.12
10:13
(89)Сейчас попробую, но думаю результат будит тот же
91 Miss1C
 
27.09.12
10:15
(89)Когда указывала псевдоним, 1С выругалось на не однозначность полей
92 Aprobator
 
27.09.12
10:16
(91) замкнутый круг.
93 Miss1C
 
27.09.12
10:19
(92)Получается что да
94 Miss1C
 
27.09.12
10:20
(92)Выбрала Ссылку через табличную часть, вроде не ругается, проверяю
95 Miss1C
 
27.09.12
10:28
Где DrShad уверена у него будут идеи)
96 Kashemir
 
27.09.12
10:29
(95) DrShad  хорошо в СКД разбирается ? :)
97 Kashemir
 
27.09.12
10:29
(94) А если таб часть будет пустая ?
98 Kashemir
 
27.09.12
10:30
(94) Может проще самой иерархию построить - у Хрусталевой есть пример.
2 + 2 = 3.9999999999999999999999999999999...