Имя: Пароль:
1C
1С v8
Ошибка при формировании отчета в скд
, ,
0 galimovmaks
 
13.08.13
12:57
При формировании отчета в скд с использованием пакето выходит ошибка Ошибка исполнения отчета
по причине:
Поле не найдено "СуммаДолга"



вот текст

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

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход КАК СуммаОтгрузкиЗаПрошлыйПериод,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента.ИЛ_ОсновнойМенеджер КАК Менеджер,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Период,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК СуммаДолгаЗаПрошлыйПериод,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход КАК СуммаОтгрузкиЗаПоследнийМесяц,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК СуммаДолга
ПОМЕСТИТЬ наДатуминусДва
ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&ДатаНачДва, &ДатаКонДва, Месяц, , ) КАК ВзаиморасчетыСКонтрагентамиОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ НаДату КАК НаДату
        ПО ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента.ИЛ_ОсновнойМенеджер = НаДату.Менеджер
        ЛЕВОЕ СОЕДИНЕНИЕ надатуминусОдин КАК надатуминусОдин
        ПО ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента.ИЛ_ОсновнойМенеджер = надатуминусОдин.Менеджер
1 galimovmaks
 
13.08.13
12:58
параметры задаются программно в модуле отчета
вот текст

  Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
     ПараметрСКД=КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НаДату");
        Пар=ПараметрСКД.Значение.Дата;

        Пар1=КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ДатаКонОдин");
        пар1.значение = НачалоМесяца(пар);
        
        Пар2=КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ДатаНачОдин");
        пар2.значение = НачалоМесяца(КонецМесяца(ДобавитьМесяц(пар,-1)));

        Пар3=КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ДатаНачДва");
        пар3.значение = НачалоМесяца(ДобавитьМесяц(пар,-2));
        
        Пар4=КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ДатаКонДва");
        пар4.значение = КонецМесяца(ДобавитьМесяц(пар,-2));

  КонецПроцедуры
2 galimovmaks
 
13.08.13
12:59
очень нужна помощь по исправлению ошибки
3 Naumov
 
13.08.13
13:01
а где результирующий запрос? все три запроса во временную таблицу складируют
4 galimovmaks
 
13.08.13
13:06
вот здесь я объединяю


ВЫБРАТЬ
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход КАК СуммаОтгрузкиЗаПрошлыйПериод,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента.ИЛ_ОсновнойМенеджер КАК Менеджер,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Период,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК СуммаДолгаЗаПрошлыйПериод,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход КАК СуммаОтгрузкиЗаПоследнийМесяц,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК СуммаДолга
ПОМЕСТИТЬ наДатуминусДва
ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&ДатаНачДва, &ДатаКонДва, Месяц, , ) КАК ВзаиморасчетыСКонтрагентамиОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ НаДату КАК НаДату
        ПО ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента.ИЛ_ОсновнойМенеджер = НаДату.Менеджер
        ЛЕВОЕ СОЕДИНЕНИЕ надатуминусОдин КАК надатуминусОдин
        ПО ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента.ИЛ_ОсновнойМенеджер = надатуминусОдин.Менеджер
5 Naumov
 
13.08.13
13:10
поместить за чем?
6 galimovmaks
 
13.08.13
13:27
вот исправил. теперь просто виснет. формирование отчета на 0%

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

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

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента.ИЛ_ОсновнойМенеджер,
    НаДату.СуммаДолга,
    наДатуминусДва.СуммаОтгрузкиЗаПрошлыйПериод,
    надатуминусОдин.СуммаОтгрузкиЗаПоследнийМесяц,
    надатуминусОдин.СуммаДолгаЗаПрошлыйПериод
ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты КАК ВзаиморасчетыСКонтрагентамиОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ НаДату КАК НаДату
        ПО ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента.ИЛ_ОсновнойМенеджер = НаДату.Менеджер
        ЛЕВОЕ СОЕДИНЕНИЕ надатуминусОдин КАК надатуминусОдин
        ПО ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента.ИЛ_ОсновнойМенеджер = надатуминусОдин.Менеджер
        ЛЕВОЕ СОЕДИНЕНИЕ наДатуминусДва КАК наДатуминусДва
        ПО ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента.ИЛ_ОсновнойМенеджер = наДатуминусДва.Менеджер
7 galimovmaks
 
13.08.13
13:28
выдает ошибку недостаточно памяти
8 xypc
 
13.08.13
13:37
думаю, что памяти недостаточно, т.к. никаких условий не накладываешь, слишком много информации берётся сразу
9 Naumov
 
13.08.13
13:58
ВЫБРАТЬ
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК СуммаДолга,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента.ИЛ_ОсновнойМенеджер КАК Менеджер,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Период
ПОМЕСТИТЬ НаДату
ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(, &НаДату, День, , ) КАК ВзаиморасчетыСКонтрагентамиОстаткиИОбороты
;

Этот запрос конопатит с начала учета и до указанной даты. на кой он так?
Еще и группирует по периодам.
Срок такому запросу - вечность.
10 Naumov
 
13.08.13
13:58
3-й запрос вообще без единого параметра и ограничения.
11 galimovmaks
 
13.08.13
14:02
третретий запрос он только объединяет остальные.
12 galimovmaks
 
13.08.13
14:06
Этот запрос конопатит с начала учета и до указанной даты. на кой он так?
Еще и группирует по периодам.
Срок такому запросу - вечность.

получает данные на конкретную дату
13 Naumov
 
13.08.13
14:06
в третьем запросе
Выбрать
...
ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&ДатаНачДва, &ДатаКонДва, Месяц, , ) КАК ВзаиморасчетыСКонтрагентамиОстаткиИОбороты

Где тут только объединение?
14 galimovmaks
 
13.08.13
14:06
третретий запрос он только объединяет остальные

точнее четвертый, который последний
15 Naumov
 
13.08.13
14:07
(12) А почему таблица оборотов, а не остатков, если данные на дату нужны?
16 Naumov
 
13.08.13
14:07
Или что нужно?
17 galimovmaks
 
13.08.13
14:13
из первого запроса данные на дату
из второго из прошлого месяца полностью
из третьего из позапрошлого месяца
18 Naumov
 
13.08.13
14:47
(17) НУ и на кой в 1-м запросе таблица оборото, а не остатков. Да еще и с дополнением?
а в двух других Дополнение на кой собсно, если период и так месяц ставишь?
Ошибка? Это не ошибка, это системная функция.