Имя: Пароль:
1C
1С v8
Почему запрос выводит нуль?
0 worker-good
 
28.01.14
17:27
Перенес во внешнюю печатную форму процедуру из типового документа АктСверкиВзаиморасчетов, лишнее убрал а он выводит нуль, почему?

// Заполнение таблицы "По данным организации" по информации из бухгалтерского учета
Функция ЗаполнитьПоДаннымБухгалтерскогоУчета(ФильтрСписокСчетов = неопределено) Экспорт
    
    КоличествоСчетов = СсылкаНаОбъект.СписокСчетов.Количество();
    Если ФильтрСписокСчетов = неопределено Тогда
        ФильтрСписокСчетов = Новый массив();
        Для каждого СтрокаСчета Из СсылкаНаОбъект.СписокСчетов Цикл
            Если НЕ ЗначениеЗаполнено(СтрокаСчета.Счет) или СтрокаСчета.УчаствуетВРасчетах = Ложь Тогда
                Продолжить;
            Иначе
                ФильтрСписокСчетов.Добавить(СтрокаСчета.Счет);
            КонецЕсли;
        КонецЦикла;
        
    
    КонецЕсли;
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ДатаНачала",    ?(НЕ ЗначениеЗаполнено(СсылкаНаОбъект.ДатаНачала),Неопределено, Новый граница (СсылкаНаОбъект.ДатаНачала,ВидГраницы.Включая)));
    Запрос.УстановитьПараметр("ДатаОкончания", ?(НЕ ЗначениеЗаполнено(СсылкаНаОбъект.ДатаОкончания),неопределено,новый граница(КонецДня(СсылкаНаОбъект.ДатаОкончания), ВидГраницы.Включая)));
    Запрос.УстановитьПараметр("Организация",   СсылкаНаОбъект.Организация);
    Запрос.УстановитьПараметр("Контрагент",    СсылкаНаОбъект.Контрагент);
    Запрос.УстановитьПараметр("Валюта",        ?(НЕ ЗначениеЗаполнено(СсылкаНаОбъект.ВалютаДокумента), неопределено,СсылкаНаОбъект.ВалютаДокумента));
    Запрос.УстановитьПараметр("ФильтрСписокСчетов", ФильтрСписокСчетов);
    
    АналитикаРасчетов = новый Массив();
    АналитикаРасчетов.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты);
    АналитикаРасчетов.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры);
    Запрос.УстановитьПараметр("АналитикаРасчетов",    АналитикаРасчетов);
    
    Запрос.УстановитьПараметр("ДоговорКонтрагента", ?(НЕ ЗначениеЗаполнено(СсылкаНаОбъект.ДоговорКонтрагента),Неопределено,СсылкаНаОбъект.ДоговорКонтрагента));
            
    
    Запрос.УстановитьПараметр("ДатаНачала", ?(НЕ ЗначениеЗаполнено(СсылкаНаОбъект.ДатаНачала),Неопределено, Новый граница (СсылкаНаОбъект.ДатаНачала,ВидГраницы.Исключая)));
    Запрос.Текст = ?(НЕ ЗначениеЗаполнено(СсылкаНаОбъект.ДатаНачала),
    "ВЫБРАТЬ
    |    0 КАК ОстатокНаНачало,
    |    0 КАК ОстатокНаКонец",
    
    "ВЫБРАТЬ
    |    ВЫБОР
    |        КОГДА &Валюта = НЕОПРЕДЕЛЕНО
    |            ТОГДА ХозрасчетныйОстаткиНаНачало.СуммаОстаток
    |        ИНАЧЕ ХозрасчетныйОстаткиНаНачало.ВалютнаяСуммаОстаток
    |    КОНЕЦ КАК ОстатокНаНачало,
    |    0 КАК ОстатокНаКонец
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Остатки(
    |        &ДатаНачала,
    |        Счет В ИЕРАРХИИ (&ФильтрСписокСчетов),
    |        &АналитикаРасчетов,
    |        Организация = &Организация
    |            И ВЫБОР
    |                КОГДА &Валюта = НЕОПРЕДЕЛЕНО
    |                    ТОГДА ИСТИНА
    |                ИНАЧЕ Валюта = &Валюта
    |            КОНЕЦ
    |            И Субконто1 = &Контрагент
    |            И ВЫБОР
    |                КОГДА &ДоговорКонтрагента = НЕОПРЕДЕЛЕНО
    |                    ТОГДА ИСТИНА
    |                ИНАЧЕ Субконто2 В ИЕРАРХИИ (&ДоговорКонтрагента)
    |            КОНЕЦ) КАК ХозрасчетныйОстаткиНаНачало")
    + "
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |0,
    |    ВЫБОР
    |        КОГДА &Валюта = НЕОПРЕДЕЛЕНО
    |            ТОГДА ХозрасчетныйОстаткиНаНачало.СуммаОстаток
    |        ИНАЧЕ ХозрасчетныйОстаткиНаНачало.ВалютнаяСуммаОстаток
    |    КОНЕЦ
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Остатки(
    |        &ДатаОкончания,
    |        Счет В ИЕРАРХИИ (&ФильтрСписокСчетов),
    |        &АналитикаРасчетов,
    |        Организация = &Организация
    |            И ВЫБОР
    |                КОГДА &Валюта = НЕОПРЕДЕЛЕНО
    |                    ТОГДА ИСТИНА
    |                ИНАЧЕ Валюта = &Валюта
    |            КОНЕЦ
    |            И Субконто1 = &Контрагент
    |            И ВЫБОР
    |                КОГДА &ДоговорКонтрагента = НЕОПРЕДЕЛЕНО
    |                    ТОГДА ИСТИНА
    |                ИНАЧЕ Субконто2  В ИЕРАРХИИ (&ДоговорКонтрагента)
    |            КОНЕЦ) КАК ХозрасчетныйОстаткиНаНачало
    |ИТОГИ
    |    СУММА(ОстатокНаНачало),
    |    СУММА(ОстатокНаКонец)
    |ПО ОБЩИЕ";
    
    Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ОБЩИЕ");
    Выборка.Следующий();
    Возврат Выборка.ОстатокНаНачало;

КонецФункции
1 Господин ПЖ
 
28.01.14
17:27
оно не было лишним?
2 PR
 
28.01.14
17:28
|            КОНЕЦ) КАК ХозрасчетныйОстаткиНаНачало")
    + "
    |

Шо це за хрень?
3 worker-good
 
28.01.14
17:29
(2) Так в типовой написано, ничего не менял
4 mikecool
 
28.01.14
17:29
проверь - что у тебя в параметрах, будь мужиком
5 worker-good
 
28.01.14
17:30
Привожу полный текст функции, без удаления:
Функция ЗаполнитьПоДаннымБухгалтерскогоУчета(ФильтрСписокСчетов = неопределено) Экспорт
    
    КоличествоСчетов = СсылкаНаОбъект.СписокСчетов.Количество();
    Если ФильтрСписокСчетов = неопределено Тогда
        ФильтрСписокСчетов = Новый массив();
        Для каждого СтрокаСчета Из СсылкаНаОбъект.СписокСчетов Цикл
            Если НЕ ЗначениеЗаполнено(СтрокаСчета.Счет) или СтрокаСчета.УчаствуетВРасчетах = Ложь Тогда
                Продолжить;
            Иначе
                ФильтрСписокСчетов.Добавить(СтрокаСчета.Счет);
            КонецЕсли;
        КонецЦикла;
        
        //Если ФильтрСписокСчетов.Количество() = 0 Тогда
        //    ОбщегоНазначения.СообщитьОбОшибке("Неверно задан список счетов, по которым производится сверка!",,,СтатусСообщения.Важное);
        //    Возврат;
        //КонецЕсли;
    
    КонецЕсли;
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ДатаНачала",    ?(НЕ ЗначениеЗаполнено(СсылкаНаОбъект.ДатаНачала),Неопределено, Новый граница (СсылкаНаОбъект.ДатаНачала,ВидГраницы.Включая)));
    Запрос.УстановитьПараметр("ДатаОкончания", ?(НЕ ЗначениеЗаполнено(СсылкаНаОбъект.ДатаОкончания),неопределено,новый граница(КонецДня(СсылкаНаОбъект.ДатаОкончания), ВидГраницы.Включая)));
    Запрос.УстановитьПараметр("Организация",   СсылкаНаОбъект.Организация);
    Запрос.УстановитьПараметр("Контрагент",    СсылкаНаОбъект.Контрагент);
    Запрос.УстановитьПараметр("Валюта",        ?(НЕ ЗначениеЗаполнено(СсылкаНаОбъект.ВалютаДокумента), неопределено,СсылкаНаОбъект.ВалютаДокумента));
    Запрос.УстановитьПараметр("ФильтрСписокСчетов", ФильтрСписокСчетов);
    
    АналитикаРасчетов = новый Массив();
    АналитикаРасчетов.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты);
    АналитикаРасчетов.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры);
    Запрос.УстановитьПараметр("АналитикаРасчетов",    АналитикаРасчетов);
    
    Запрос.УстановитьПараметр("ДоговорКонтрагента", ?(НЕ ЗначениеЗаполнено(СсылкаНаОбъект.ДоговорКонтрагента),Неопределено,СсылкаНаОбъект.ДоговорКонтрагента));
    
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ХозрасчетныйОбороты.Период КАК Дата,
    |    ДанныеПервичныхДокументов.НомерРегистратора КАК Номер,
    |    ХозрасчетныйОбороты.Регистратор КАК Документ,
    |    ХозрасчетныйОбороты.Субконто2 КАК Договор,
    |    ВЫБОР
    |        КОГДА &Валюта = НЕОПРЕДЕЛЕНО
    |            ТОГДА ХозрасчетныйОбороты.СуммаОборотДт
    |        ИНАЧЕ ХозрасчетныйОбороты.ВалютнаяСуммаОборотДт
    |    КОНЕЦ КАК Дебет,
    |    ВЫБОР
    |        КОГДА &Валюта = НЕОПРЕДЕЛЕНО
    |            ТОГДА ХозрасчетныйОбороты.СуммаОборотКт
    |        ИНАЧЕ ХозрасчетныйОбороты.ВалютнаяСуммаОборотКт
    |    КОНЕЦ КАК Кредит,
    |    ЕСТЬNULL(ДанныеПервичныхДокументов.Номер, НЕОПРЕДЕЛЕНО) КАК НомерВходящегоДокумента,
    |    ЕСТЬNULL(ДанныеПервичныхДокументов.Дата, НЕОПРЕДЕЛЕНО) КАК ДатаВходящегоДокумента,
    |    ХозрасчетныйОбороты.КорСчет,
    |    ХозрасчетныйОбороты.КорСубконто1,
    |    ХозрасчетныйОбороты.КорСубконто2,
    |    ХозрасчетныйОбороты.КорСубконто3,
    |    ХозрасчетныйОбороты.Валюта,
    |    ХозрасчетныйОбороты.ВалютнаяСуммаОборот,
    |    ВЫБОР
    |        КОГДА ХозрасчетныйОбороты.КорСубконто1 ССЫЛКА Справочник.ПрочиеДоходыИРасходы
    |            ТОГДА ХозрасчетныйОбороты.КорСубконто1.ВидПрочихДоходовИРасходов
    |        ИНАЧЕ НЕОПРЕДЕЛЕНО
    |    КОНЕЦ КАК ВидПрочихДоходовИРасходов,
    |    ХозрасчетныйОбороты.Счет
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Обороты(
    |            &ДатаНачала,
    |            &ДатаОкончания,
    |            Регистратор,
    |            Счет В ИЕРАРХИИ (&ФильтрСписокСчетов),
    |            &АналитикаРасчетов,
    |            Организация = &Организация
    |                И ВЫБОР
    |                    КОГДА &Валюта = НЕОПРЕДЕЛЕНО
    |                        ТОГДА ИСТИНА
    |                    ИНАЧЕ Валюта = &Валюта
    |                КОНЕЦ
    |                И Субконто1 = &Контрагент
    |                И ВЫБОР
    |                    КОГДА &ДоговорКонтрагента = НЕОПРЕДЕЛЕНО
    |                        ТОГДА ИСТИНА
    |                    ИНАЧЕ Субконто2 В ИЕРАРХИИ (&ДоговорКонтрагента)
    |                КОНЕЦ,
    |            ,
    |            ) КАК ХозрасчетныйОбороты
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДанныеПервичныхДокументов КАК ДанныеПервичныхДокументов
    |        ПО (ДанныеПервичныхДокументов.Организация = &Организация)
    |            И ХозрасчетныйОбороты.Регистратор = ДанныеПервичныхДокументов.Документ
    |ГДЕ
    |    ВЫБОР
    |            КОГДА ХозрасчетныйОбороты.КорСчет В ИЕРАРХИИ (&ФильтрСписокСчетов)
    |                ТОГДА ВЫБОР
    |                        КОГДА &ДоговорКонтрагента = НЕОПРЕДЕЛЕНО
    |                            ТОГДА НЕ ХозрасчетныйОбороты.КорСубконто1 = &Контрагент
    |                        ИНАЧЕ НЕ(ХозрасчетныйОбороты.КорСубконто1 = &Контрагент
    |                                    И ХозрасчетныйОбороты.КорСубконто2 = ХозрасчетныйОбороты.Субконто2)
    |                    КОНЕЦ
    |            ИНАЧЕ ИСТИНА
    |        КОНЕЦ
    |    И НЕ(ВЫБОР
    |                    КОГДА &Валюта = НЕОПРЕДЕЛЕНО
    |                        ТОГДА ХозрасчетныйОбороты.СуммаОборотДт
    |                    ИНАЧЕ ХозрасчетныйОбороты.ВалютнаяСуммаОборотДт
    |                КОНЕЦ = 0
    |                И ВЫБОР
    |                    КОГДА &Валюта = НЕОПРЕДЕЛЕНО
    |                        ТОГДА ХозрасчетныйОбороты.СуммаОборотКт
    |                    ИНАЧЕ ХозрасчетныйОбороты.ВалютнаяСуммаОборотКт
    |                КОНЕЦ = 0)
    |
    |УПОРЯДОЧИТЬ ПО
    |    Дата,
    |    Документ";
    
    Выборка = Запрос.Выполнить().Выбрать();
    
    НаборДвижений = СсылкаНаОбъект.ПоДаннымОрганизации.Выгрузить();
    НаборДвижений.Колонки.Добавить("Валюта", Новый описаниеТипов("СправочникСсылка.Валюты"));
    НаборДвижений.Колонки.Добавить("ВалютнаяСумма", ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(15,2));
    
    Пока Выборка.Следующий() Цикл

        Если Выборка.Дебет = 0 И Выборка.Кредит = 0 Тогда
            Продолжить;
        КонецЕсли;

        МетаданныеДокумента = СсылкаНаОбъект.ПолучитьМетаданныеДокумента(Выборка.Документ);
        
        НоваяСтрока = НаборДвижений.Добавить();
        НоваяСтрока.Документ           = Выборка.Документ;
        НоваяСтрока.Договор            = Выборка.Договор;
        НоваяСтрока.Дата               = Выборка.Дата;
        НоваяСтрока.Дебет              = Выборка.Дебет;
        НоваяСтрока.Кредит             = Выборка.Кредит;
        НоваяСтрока.Валюта             = Выборка.Валюта;
        НоваяСтрока.ВалютнаяСумма      = Выборка.ВалютнаяСуммаОборот;

        Если СсылкаНаОбъект.ВыводитьПолныеНазванияДокументов Тогда
            Если Выборка.НомерВходящегоДокумента = Неопределено тогда
                НоваяСтрока.Представление = МетаданныеДокумента.Представление()+" №"+Символы.НПП +Выборка.Номер;
            Иначе
                НоваяСтрока.Представление = МетаданныеДокумента.Представление() +" ("+ ?(НЕ ЗначениеЗаполнено(Выборка.НомерВходящегоДокумента),"_______", Выборка.НомерВходящегоДокумента) +" от "+
                ?(НЕ ЗначениеЗаполнено(Выборка.ДатаВходящегоДокумента), "'  .  .    '", Формат(Выборка.ДатаВходящегоДокумента, "ДФ=dd.MM.yyyy"))+")";
            КонецЕсли;    
        Иначе
            
            // Сформируем строку представления
            Представление = "";
            
            Если Выборка.КорСчет.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.ПрочиеДоходыИРасходы) Тогда
                
                Если НЕ ЗначениеЗаполнено(Выборка.ВидпрочихДоходовИРасходов) Тогда
                    
                ИначеЕсли Выборка.ВидПрочихДоходовИРасходов = Перечисления.ВидыПрочихДоходовИРасходов.КурсовыеРазницы Тогда
                    Представление = "Курсовые разницы";
                ИначеЕсли Выборка.ВидПрочихДоходовИРасходов = Перечисления.ВидыПрочихДоходовИРасходов.ШтрафыПениНеустойкиКПолучениюУплате Тогда
                    Представление = "Санкции";
                ИначеЕсли Выборка.КорСубконто1 = Справочники.ПрочиеДоходыИРасходы.СуммовыеРазницы Тогда
                    Представление = "Суммовые разницы";
                ИначеЕсли Выборка.КорСубконто1 = Справочники.ПрочиеДоходыИРасходы.КурсовыеРазницыПоРасчетамВУЕ Тогда
                    Представление = "Курсовые разницы по расчетам в у.е";
                КонецЕсли;
                
            КонецЕсли;
            
            Если не ПустаяСтрока(Представление) Тогда
                // Строка уже отработана
                
            ИначеЕсли Выборка.Счет.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.РасчетыПоКраткосрочнымКредитамИЗаймам)
                или Выборка.Счет.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.РасчетыПоДолгосрочнымКредитамИЗаймам) Тогда
                Если Выборка.Дебет > 0 Тогда
                    Представление = "Возврат займа";
                ИначеЕсли Выборка.Кредит > 0 Тогда
                    Представление = "Займ";
                Иначе
                    Представление = "Операции по займам";
                КонецЕсли;
            ИначеЕсли Выборка.Счет.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.РасчетыПоПретензиям)
                или Выборка.Счет = ПланыСчетов.Хозрасчетный.РасчетыПоПретензиям
                или Выборка.Счет.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.РасчетыПоПретензиямВал)
                или Выборка.Счет = ПланыСчетов.Хозрасчетный.РасчетыПоПретензиямВал
                или Выборка.Счет.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.РасчетыПоПретензиямУЕ)
                или Выборка.Счет = ПланыСчетов.Хозрасчетный.РасчетыПоПретензиямУЕ
                тогда
                Представление = "Претензия";
                
            ИначеЕсли Выборка.КорСчет.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.Касса)
                или Выборка.КорСчет.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.РасчетныеСчета)
                или Выборка.КорСчет = ПланыСчетов.Хозрасчетный.РасчетныеСчета
                или Выборка.КорСчет.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.ВалютныеСчета)
                или Выборка.КорСчет = ПланыСчетов.Хозрасчетный.ВалютныеСчета
                или Выборка.КорСчет.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.СпециальныеСчета)
                тогда
                
                Если (Выборка.Кредит >0) Тогда
                    
                    Если Выборка.Счет.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.РасчетыСПоставщикамиИПодрядчиками) Тогда
                        Представление = "Возврат средств";
                        
                    ИначеЕсли Выборка.Счет.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.РасчетыСПокупателямиИЗаказчиками) Тогда
                        Представление = "Оплата";
                        
                    Иначе
                        Представление = "Перевод средств";
                    КонецЕсли;
                    
                ИначеЕсли (Выборка.Дебет >0) Тогда
                    Если Выборка.Счет.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.РасчетыСПоставщикамиИПодрядчиками)
                        или Выборка.Счет.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами)
                        Тогда
                        
                        Представление = "Оплата";
                        
                    ИначеЕсли Выборка.Счет.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.РасчетыСПокупателямиИЗаказчиками) Тогда
                        Представление = "Возврат средств";
                        
                    Иначе
                        Представление = "Перевод средств";
                    КонецЕсли;
                КонецЕсли;
                
            ИначеЕсли ТипЗнч(Выборка.Документ) = Тип("ДокументСсылка.КорректировкаПоступления") Тогда
                Представление = "Корректировка прихода";
            ИначеЕсли ТипЗнч(Выборка.Документ) = Тип("ДокументСсылка.КорректировкаРеализации") Тогда
                Представление = "Корректировка продажи";
            ИначеЕсли Выборка.КорСчет.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.Продажи) И (Выборка.Дебет > 0) Тогда
                Представление = "Продажа";
            ИначеЕсли Выборка.КорСчет.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.ПрочиеДоходыИРасходы)
                И НЕ Выборка.Счет.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.РасчетыСПоставщикамиИПодрядчиками)
                И (Выборка.Дебет > 0) Тогда
                Представление = "Продажа";
            ИначеЕсли (Выборка.Счет.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.РасчетыСПоставщикамиИПодрядчиками)
                ИЛИ Выборка.Счет.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами))
                И (Выборка.Кредит <> 0) Тогда
                Представление = "Приход";
            ИначеЕсли Выборка.Счет.ПринадлежитЭлементу(ПланыСчетов.Хозрасчетный.РасчетыСПокупателямиИЗаказчиками) Тогда
                Если ТипЗнч(Выборка.Документ) = Тип("ДокументСсылка.РеализацияТоваровУслуг") И Выборка.Дебет <> 0 Тогда
                    Представление = "Продажа";
                ИначеЕсли (Выборка.Кредит <> 0) Тогда
                    Представление = "Оплата";
                КонецЕсли;
            КонецЕсли;
            
            Если ПустаяСтрока(Представление)Тогда
                Если Выборка.Дебет > 0 тогда
                    Представление = "Принято";
                ИначеЕсли Выборка.Дебет < 0 тогда
                    Представление = "Сторно: принято";
                ИначеЕсли Выборка.Кредит > 0 тогда
                    Представление = "Передано";
                Иначе
                    Представление = "Сторно: передано";
                КонецЕсли;
            КонецЕсли;
            
            Если Выборка.НомерВходящегоДокумента = Неопределено тогда
                Если Представление = "Продажа" И ТипЗнч(Выборка.Документ) <> Тип("ДокументСсылка.ОперацияБух") Тогда
                    Представление = Представление + " (" + ОбщегоНазначения.ПолучитьНомерНаПечать(Выборка.Документ) + " от " + Формат(Выборка.Дата, "ДФ=dd.MM.yyyy") + ")";
                Иначе
                    Представление = Представление + " ("+Формат(Выборка.Дата, "ДФ=dd.MM.yyyy") + ")";
                КонецЕсли;
            ИначеЕсли (Выборка.НомерВходящегоДокумента = "" И Представление = "Оплата") Или Найти(Представление, "разницы") > 0 Тогда
                Представление = Представление + " (" + Формат(Выборка.Дата, "ДФ=dd.MM.yyyy")+")";
            Иначе
                Представление = Представление +" ("+ ?(НЕ ЗначениеЗаполнено(Выборка.НомерВходящегоДокумента),"_______", Выборка.НомерВходящегоДокумента) +" от "+
                ?(НЕ ЗначениеЗаполнено(Выборка.ДатаВходящегоДокумента), "'  .  .    '", Формат(Выборка.ДатаВходящегоДокумента, "ДФ=dd.MM.yyyy"))+")";
            КонецЕсли;                      
            
            НоваяСтрока.Представление = Представление;
        КонецЕсли;
        
    КонецЦикла;
    
    
    
    
    
    
    
    
    

    
    Запрос.УстановитьПараметр("ДатаНачала", ?(НЕ ЗначениеЗаполнено(СсылкаНаОбъект.ДатаНачала),Неопределено, Новый граница (СсылкаНаОбъект.ДатаНачала,ВидГраницы.Исключая)));
    Запрос.Текст = ?(НЕ ЗначениеЗаполнено(СсылкаНаОбъект.ДатаНачала),
    "ВЫБРАТЬ
    |    0 КАК ОстатокНаНачало,
    |    0 КАК ОстатокНаКонец",
    
    "ВЫБРАТЬ
    |    ВЫБОР
    |        КОГДА &Валюта = НЕОПРЕДЕЛЕНО
    |            ТОГДА ХозрасчетныйОстаткиНаНачало.СуммаОстаток
    |        ИНАЧЕ ХозрасчетныйОстаткиНаНачало.ВалютнаяСуммаОстаток
    |    КОНЕЦ КАК ОстатокНаНачало,
    |    0 КАК ОстатокНаКонец
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Остатки(
    |        &ДатаНачала,
    |        Счет В ИЕРАРХИИ (&ФильтрСписокСчетов),
    |        &АналитикаРасчетов,
    |        Организация = &Организация
    |            И ВЫБОР
    |                КОГДА &Валюта = НЕОПРЕДЕЛЕНО
    |                    ТОГДА ИСТИНА
    |                ИНАЧЕ Валюта = &Валюта
    |            КОНЕЦ
    |            И Субконто1 = &Контрагент
    |            И ВЫБОР
    |                КОГДА &ДоговорКонтрагента = НЕОПРЕДЕЛЕНО
    |                    ТОГДА ИСТИНА
    |                ИНАЧЕ Субконто2 В ИЕРАРХИИ (&ДоговорКонтрагента)
    |            КОНЕЦ) КАК ХозрасчетныйОстаткиНаНачало")
    + "
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |0,
    |    ВЫБОР
    |        КОГДА &Валюта = НЕОПРЕДЕЛЕНО
    |            ТОГДА ХозрасчетныйОстаткиНаНачало.СуммаОстаток
    |        ИНАЧЕ ХозрасчетныйОстаткиНаНачало.ВалютнаяСуммаОстаток
    |    КОНЕЦ
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Остатки(
    |        &ДатаОкончания,
    |        Счет В ИЕРАРХИИ (&ФильтрСписокСчетов),
    |        &АналитикаРасчетов,
    |        Организация = &Организация
    |            И ВЫБОР
    |                КОГДА &Валюта = НЕОПРЕДЕЛЕНО
    |                    ТОГДА ИСТИНА
    |                ИНАЧЕ Валюта = &Валюта
    |            КОНЕЦ
    |            И Субконто1 = &Контрагент
    |            И ВЫБОР
    |                КОГДА &ДоговорКонтрагента = НЕОПРЕДЕЛЕНО
    |                    ТОГДА ИСТИНА
    |                ИНАЧЕ Субконто2  В ИЕРАРХИИ (&ДоговорКонтрагента)
    |            КОНЕЦ) КАК ХозрасчетныйОстаткиНаНачало
    |ИТОГИ
    |    СУММА(ОстатокНаНачало),
    |    СУММА(ОстатокНаКонец)
    |ПО ОБЩИЕ";
    
    Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ОБЩИЕ");
    Выборка.Следующий();
    Возврат Выборка.ОстатокНаНачало;
    
    //ОстатокНаКонец  = Выборка.ОстатокНаКонец;
    
    //Если ВалютаДокумента = мВалютаРегламентированногоУчета И НЕ ВыводитьПолныеНазванияДокументов  Тогда
    //    НаборДвижений.Свернуть("Дата,Документ,Представление,Договор,Валюта","Дебет, Кредит, ВалютнаяСумма");
    //    Для каждого СтрокаДвижений Из НаборДвижений Цикл
    //        Если СтрокаДвижений.ВалютнаяСумма >0 тогда
    //            
    //            СтрокаДвижений.Представление = СтрокаДвижений.Представление+" ("+Формат(СтрокаДвижений.ВалютнаяСумма, "ЧЦ=15; ЧДЦ=2")+" "+строка(СтрокаДвижений.Валюта) +")";
    //        ИначеЕсли СтрокаДвижений.ВалютнаяСумма <0 тогда
    //            Множитель = ?(СтрокаДвижений.Дебет + СтрокаДвижений.Кредит>0, -1,1);
    //            
    //            СтрокаДвижений.Представление = СтрокаДвижений.Представление+" ("+Формат(Множитель*СтрокаДвижений.ВалютнаяСумма, "ЧЦ=15; ЧДЦ=2")+" "+строка(СтрокаДвижений.Валюта) +")";
    //
    //        КонецЕсли;
    //    КонецЦикла;
    //    
    //Иначе
    //    НаборДвижений.Свернуть("Дата,Документ,Представление,Договор","Дебет, Кредит");    
    //КонецЕсли;
    //
    //Если ВыводитьПолныеНазванияДокументов Тогда    
    //    НаборДвижений.Свернуть("Дата,Документ,Представление,Договор","Дебет, Кредит");
    //КонецЕсли;
    //
    //Если РазбитьПоДоговорам Тогда        
    //    НаборДвижений.Сортировать("Договор,Дата,Документ,Представление", Новый СравнениеЗначений);
    //Иначе    
    //    НаборДвижений.Сортировать("Дата,Документ,Представление,Договор", Новый СравнениеЗначений);
    //КонецЕсли;
    //
    //
    //ПоДаннымОрганизации.Загрузить(НаборДвижений);


КонецФункции
6 worker-good
 
28.01.14
17:30
(4) В параметрах все работает отладчиком проверял!
7 zak555
 
28.01.14
17:32
сделай в БД анализ субкото с разворотом по счетам и сюда запости
8 mikecool
 
28.01.14
17:35
(6) тогда это чудо... а чудес не бывает
9 worker-good
 
28.01.14
17:37
(8) Все хорошо в параметрах, все передается, причем этот же код в типовом документе работает с теми же параметрами, а вот во внешней форме выдает нуль!
10 zak555
 
28.01.14
17:38
СуммаОстаток -- сворачивает
11 worker-good
 
28.01.14
17:42
12 worker-good
 
28.01.14
17:48
(10) Как это СуммаОстаток сворачивает?
13 worker-good
 
28.01.14
17:57
Люди Добрые! Помогите Кто Чем Может...
14 worker-good
 
29.01.14
09:13
Какие-нибудь идеи есть у кого-нибудь еще?
15 worker-good
 
29.01.14
09:55
(4) Ты был прав, 1 параметр испортил всю картину
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс