Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ошибка при отчете
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
SaIIIka007
Запрошиваю отчет Розница, далее выставляю нужные даные -> сформировать, и выкакивает ошибка такого типа

Если Запрос.Выполнить(ТекстЗапроса)=0 тогда
Отчет.Розница.Форма.Модуль(719)}: Функция КонСтоимость = КонОст( <<?>> Стоимость);
Запрос[18] : Переменная 'Стоимость' не опеределена
Если Запрос.Выполнить(ТекстЗапроса)=0 тогда
{Отчет.Розница.Форма.Модуль(719)}: Функция ПрихСтоимость = Приход( <<?>> Стоимость);
Запрос[19] : Переменная 'Стоимость' не опеределена
Если Запрос.Выполнить(ТекстЗапроса)=0 тогда
{Отчет.Розница.Форма.Модуль(719)}: Функция РасхСтоимость = Расход( <<?>> Стоимость);
Запрос[20] : Переменная 'Стоимость' не опеределена
Если Запрос.Выполнить(ТекстЗапроса)=0 тогда
{Отчет.Розница.Форма.Модуль(719)}: Функция НачПродСтоимость = НачОст( <<?>> ПродСтоимость);
Запрос[21] : Переменная 'ПродСтоимость' не опеределена
Если Запрос.Выполнить(ТекстЗапроса)=0 тогда
{Отчет.Розница.Форма.Модуль(719)}: Функция КонПродСтоимость = КонОст( <<?>> ПродСтоимость);
Запрос[22] : Переменная 'ПродСтоимость' не опеределена
Если Запрос.Выполнить(ТекстЗапроса)=0 тогда
{Отчет.Розница.Форма.Модуль(719)}: Функция ПрихПродСтоимость = Приход( <<?>> ПродСтоимость);
Запрос[23] : Переменная 'ПродСтоимость' не опеределена
Если Запрос.Выполнить(ТекстЗапроса)=0 тогда
{Отчет.Розница.Форма.Модуль(719)}: Функция РасхПродСтоимость = Расход( <<?>> ПродСтоимость);
Запрос[24] : Переменная 'ПродСтоимость' не опеределена
[/color][/color]

Подскажите причину ошибки и как ее исправить?

Конфигурация ТиС
Kaliban
Цитата(SaIIIka007 @ 16.12.11, 9:38) необходимо зарегистрироваться для просмотра ссылки
Запрошиваю отчет,.... и выкакивает ошибка такого типа

Эта пять!

Ну а по вопросу - надо в код смотреть.
Попробуйте отчет из демки накатить на рабочую конфу.Копию резервную предварительно сделав.
SaIIIka007
Цитата(Kaliban @ 16.12.11, 10:12) необходимо зарегистрироваться для просмотра ссылки
Попробуйте отчет из демки накатить на рабочую конфу.Копию резервную предварительно сделав.


Для особо одаренных по подробней.... happy.gif
-=VJ=-
Цитата(SaIIIka007 @ 16.12.11, 9:38) необходимо зарегистрироваться для просмотра ссылки
Подскажите причину ошибки и как ее исправить?


Вроде бы она очевидна - не существует переменных, которые вы собираетесь суммировать.
Ardi
Всё плохо. Нужно срочно покупать восьмёрку. С 1-ого января оно совсем заглючит. Это первые звоночки.
Kaliban
Ну судя по ошибкам у вас необъявлены 2 переменные в запросе.
Кто и зачем правил отчет - для меня тайна.
Что делать.
В типовой поставке сразу ставится 2 базы, одна чистая (Торг. склад для Украины) и одна демка (Торг. склад для Украины Демо )
Если демки нет - ставите ее с установочного диска.
Запускаете демку - проверяете отчет по рознице, если сформировался едем дальше.

Дальше.
В рабочей базе:
1. конфигуратор-Администрирование-сохранить данные.
2. Конфигуратор-конфигурация-объединение конфигураций.
3. Выбираете файл 1cv7.md из каталога куда установлена демка.
3. В появивщемся окошке снимаем все галки.
4. открываем отчеты ставим галку напротив "Розница"
5. жмем ок со всем соглашаемся.
6. Файл-сохранить.
7.......
9. PROFIT
SaIIIka007
незнаю. Что то при обьединении конфирурации нет отчета
Вот код точета. Должно работать, когда поля которые нужно заполнять в отчете пустые
[Здесь было что то не по правилам]

// ===============================
// ОПИСАНИЕ МОДУЛЬНЫХ ПЕРЕМЕННЫХ
          
Перем СписокПодбора,СправочникПодбора;
// СписокПодбора - список, в который отбираются элементы
//                            (используется для множественных фильтров)
// СправочникПодбора - строка - идентификатор справочника, из которого осуществляется отбор
//                            (используется для множественных фильтров)            
                              
Перем СписокТоваров; // список товаров, удовлетворяющих фильтру по категориям
Перем СписокКонтрагентов; // список контрагентов, удовлетворяющих фильтру по категориям

Перем ВП;        // валюта печати

Перем Т;        
Перем Обновить;
Перем Расшифровка;
// используются для стандартного механизма кнопок "Обновить" и "Настройка"


// ===============================
// "СЛУЖЕБНЫЕ" ПРОЦЕДУРЫ И ФУНКЦИИ
                

// ===============================
// Название: ИзмЦена
// Параметры:
// НЕТ
// Возвращаемое значение:
//  НЕТ
// Вызывается при изменении флажков "с учетной ценой" и "с розничной ценой":
// Наименование,.
// Описание:
// Изменяет видимость этих флажков
Процедура ИзмЦена()              
    Если (СРозничнымиЦенами = 0) и (СУчетнымиЦенами = 0) Тогда
        СРозничнымиЦенами = 1;
    КонецЕсли;    
КонецПроцедуры                
        
// ===============================
// Инвертирует список с пометками
Процедура Инвертировать()
    Для а=1 По СтатусыПартий.РазмерСписка() Цикл
        Если СтатусыПартий.Пометка(а) = 1 Тогда
            СтатусыПартий.Пометка(а,0);
        Иначе
            СтатусыПартий.Пометка(а,1);
        КонецЕсли;    
    КонецЦикла;    
КонецПроцедуры    
                                    
// ===============================
// Помечает все элементы списка
Процедура ВыделитьВсе()
    Для а=1 По СтатусыПартий.РазмерСписка() Цикл
        СтатусыПартий.Пометка(а,1);
    КонецЦикла;    
КонецПроцедуры            

// ===============================
// Название: ИзмИтоги
// Параметры:
// НЕТ
// Возвращаемое значение:
//  НЕТ
// Вызывается при изменении флажка "только итоги":
// Наименование,.
// Описание:
// Изменяет видимость валюты итогов
Процедура ИзмИтоги()              
КонецПроцедуры                

// ===============================
// Название: ИзмФирма
// Параметры:
// НЕТ
// Возвращаемое значение:
//  НЕТ
// Вызывается при изменении флажка "только итоги":
// Наименование,.
// Описание:
// Изменяет значение ВыбВалюта при изменении значения ВыбФирма
Процедура ИзмФирма(Фрм)
    Если Фрм = 0 Тогда
        ВыбФирма = 0;
    КонецЕсли;
КонецПроцедуры

// ===============================
// Название: МножественныйФильтрЗадан
// Параметры:
// НЕТ
// Возвращаемое значение:
//  0, если множественный фильтр задан
//  1, иначе
// Вызывается из формул элементов диалога:
// Наименование,.
// Описание:
Функция МножественныйФильтрЗадан()      
    Если МФВыбТовары.РазмерСписка()>0 Тогда
        Возврат 1;
    КонецЕсли;
    Если МФКатТоваров.РазмерСписка()>0 Тогда
        Возврат 1;
    КонецЕсли;
    Если МФВыбКонтрагенты.РазмерСписка()>0 Тогда
        Возврат 1;
    КонецЕсли;
    Если МФКатКонтрагентов.РазмерСписка()>0 Тогда
        Возврат 1;
    КонецЕсли;
    Возврат 0;
КонецФункции // МножественныйФильтрЗадан    
        

// ===============================
// Название: ПерерисовкаНазванийЗакладок
// Параметры:
// НЕТ
// Возвращаемое значение:
// Вызывается из формул элементов диалога:
// Наименование,.          
// Описание:
//  Добавляет "(!)" в заголовок закладки с множественным фильтром, когда этот фильтр задан
Функция ПерерисовкаНазванийЗакладок()      
    Форма.Закладки.УстановитьЗначение(2,?(МножественныйФильтрЗадан()=1,"(!) ","")+"Множественный фильтр");
КонецФункции // ПерерисовкаНазванийЗакладок    



// ===============================
// Название: ВывестиДокументы
// Параметры:
//  Запрос - запрос, по которому выводится отчет
//    Т - формируемая таблица
// Возвращаемое значение:
// НЕТ
// Вызывается из формул элементов диалога:
// Наименование,.
// Описание:
//    вывод детализации по всем документам
Процедура ВывестиДокументы(Запрос,Т)  
    Перем ПечКонтрагент;    
    
    Если ДеталПоВсемДокументам=0  Тогда
        Возврат;
    КонецЕсли;    
    
    БалансТовара              = Запрос.НачОстатокТовара;
    БалансТовараСтоимость     =?(ПустоеЗначение(ВыбФирма)=1,Запрос.НачСтоимость+Запрос.НачНДС,Запрос.НачСтоимость);
    БалансТовараСтоимостьРозн = Запрос.НачПродСтоимость;

    Пока Запрос.Группировка("Докум") = 1 Цикл
        Док=Запрос.Докум;
        ВидДок=Док.Вид();
        Если Док.Выбран()=0 Тогда // пропускаем непонятные документы
            Продолжить;
        КонецЕсли;

        БалансТовара                 = БалансТовара + Запрос.ПрихОстатокТовара - Запрос.РасхОстатокТовара;
        БалансТовараСтоимость        = БалансТовараСтоимость +
            ?(ПустоеЗначение(ВыбФирма)=1
            ,глПересчет(Запрос.ПрихСтоимость + Запрос.ПрихНДС,Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2)
            ,Запрос.ПрихСтоимость)-?(ПустоеЗначение(ВыбФирма)=1,Запрос.РасхСтоимость+Запрос.РасхНДС,Запрос.РасхСтоимость);
            
        БалансТовараСтоимостьРозн     = БалансТовараСтоимостьРозн +
            ?(ПустоеЗначение(ВыбФирма)=1
            ,глПересчет(Запрос.ПрихПродСтоимость - Запрос.РасхПродСтоимость,Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2)
            ,Запрос.ПрихПродСтоимость - Запрос.РасхПродСтоимость);
        
        ПечКонтрагент = СокрЛП(Строка(глКонтрагентДок(Док)));
        
        ПечНомерДок   = глДокументВОтчете(Док,"с номером")+?(ПустаяСтрока(ПечКонтрагент)=0,"; "+ПечКонтрагент,"");
        
        Если (Запрос.ПрихПродСтоимость+Запрос.РасхПродСтоимость)<>0 Тогда
            Если (Запрос.ПрихОстатокТовара+Запрос.РасхОстатокТовара)<>0 Тогда
                // цена товара для прихода и расхода может отличаться
                ЦенаТовараПриход   = ?(ПустоеЗначение(Запрос.ПрихОстатокТовара)=1,0,Запрос.ПрихПродСтоимость/Запрос.ПрихОстатокТовара);
                ЦенаТовараРасход   = ?(ПустоеЗначение(Запрос.РасхОстатокТовара)=1,0,Запрос.РасхПродСтоимость/Запрос.РасхОстатокТовара);
                СебестТовара =?(ПустоеЗначение(ВыбФирма)=1,
                     (Запрос.ПрихСтоимость+Запрос.РасхСтоимость+Запрос.ПрихНДС+Запрос.РасхНДС)
                    /(Запрос.ПрихОстатокТовара+Запрос.РасхОстатокТовара),
                     (Запрос.ПрихСтоимость+Запрос.РасхСтоимость)
                    /(Запрос.ПрихОстатокТовара+Запрос.РасхОстатокТовара));
            Иначе    
                ЦенаТовара         = БалансТовараСтоимостьРозн/БалансТовара;
                ЦенаТовараПриход   = ЦенаТовара;
                ЦенаТовараРасход   = ЦенаТовара;
                СебестТовара       = БалансТовараСтоимость/БалансТовара;
            КонецЕсли;    
        КонецЕсли;
        
        Если ПустоеЗначение(ВыбФирма)=1 Тогда
            // пересчитаем цены из валюты учета в валюту печати
            ЦенаТовараПриход = глПересчет(ЦенаТовараПриход,Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2);
            ЦенаТовараРасход = глПересчет(ЦенаТовараРасход,Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2);
            СебестТовара     = глПересчет(СебестТовара,Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2);
        КонецЕсли;

        ЦенаТовараПриход  =?(ЦенаТовараПриход=0,"",глФРМ(ЦенаТовараПриход,ВП,1));
        ЦенаТовараРасход  =?(ЦенаТовараРасход=0,"",глФРМ(ЦенаТовараРасход,ВП,1));
        ПечСебестТовара=?(СебестТовара=0,"",глФРМ(СебестТовара,ВП,1));
                          
        ПечБалансТовара=глФРМКоличествоВОтчете(БалансТовара,Запрос.Товар);
        
        Если СУчетнымиЦенами = 1 Тогда
            ПечБалансТовара = ПечБалансТовара + РазделительСтрок + глФРМ(БалансТовараСтоимость,ВП,1);
        КонецЕсли;
        
        Если СРозничнымиЦенами = 1 Тогда
            ПечБалансТовара = ПечБалансТовара + РазделительСтрок + глФРМ(БалансТовараСтоимостьРозн,ВП,1);
        КонецЕсли;
        
        Если (Запрос.РасхОстатокТовара<>0) или (Запрос.РасхСтоимость<>0) или (Запрос.РасхПродСтоимость<>0) Тогда
            Приращение                = Запрос.РасхОстатокТовара;
            ПечПриращение           = глФРМКоличествоВОтчете(Приращение,Запрос.Товар);
            ПриращениеСтоимость        =?(ПустоеЗначение(ВыбФирма)=1,глПересчет(Запрос.РасхСтоимость+Запрос.РасхНДС,Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2),Запрос.РасхСтоимость);
            ПриращениеСтоимостьРозн    =?(ПустоеЗначение(ВыбФирма)=1,глПересчет(Запрос.РасхПродСтоимость,Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2),Запрос.РасхПродСтоимость);
            Если СУчетнымиЦенами = 1 Тогда
                ПечПриращение = ПечПриращение + РазделительСтрок + глФРМ(ПриращениеСтоимость,  ВП,1);
            КонецЕсли;
            Если СРозничнымиЦенами = 1 Тогда
                ПечПриращение = ПечПриращение + РазделительСтрок + глФРМ(ПриращениеСтоимостьРозн,  ВП,1);
            КонецЕсли;
            Т.ВывестиСекцию("Расход");
        КонецЕсли;
        Если (Запрос.ПрихОстатокТовара<>0) или (Запрос.ПрихСтоимость<>0) или (Запрос.ПрихПродСтоимость<>0) Тогда
            Приращение                = Запрос.ПрихОстатокТовара;
            ПечПриращение           = глФРМКоличествоВОтчете(Приращение,Запрос.Товар);
            ПриращениеСтоимость        =?(ПустоеЗначение(ВыбФирма)=1,глПересчет(Запрос.ПрихСтоимость+Запрос.ПрихНДС,Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2),Запрос.ПрихСтоимость);
            ПриращениеСтоимостьРозн    =?(ПустоеЗначение(ВыбФирма)=1,глПересчет(Запрос.ПрихПродСтоимость,Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2),Запрос.ПрихПродСтоимость);
            Если СУчетнымиЦенами = 1 Тогда
                ПечПриращение = ПечПриращение + РазделительСтрок + глФРМ(ПриращениеСтоимость,  ВП,1);
            КонецЕсли;
            Если СРозничнымиЦенами = 1 Тогда
                ПечПриращение = ПечПриращение + РазделительСтрок + глФРМ(ПриращениеСтоимостьРозн,  ВП,1);
            КонецЕсли;
            Т.ВывестиСекцию("Приход");
        КонецЕсли;
        глОживить(1);
    КонецЦикла;
КонецПроцедуры       // ВывестиДокументы

// ===============================
Функция ПечСуммы(ПечСебестоимость,ПечРозничная,РазделительВНачале=1)
    Рез = "";
    Если СУчетнымиЦенами = 1 Тогда
        Рез = Рез + ?(РазделительВНачале=1,РазделительСтрок,"") + ПечСебестоимость;
    КонецЕсли;
    Если СРозничнымиЦенами = 1 Тогда
        Рез = Рез + ?(((РазделительВНачале=1) и (СУчетнымиЦенами = 0)) или (СУчетнымиЦенами = 1),РазделительСтрок,"") + ПечРозничная;
    КонецЕсли;
    Возврат Рез;
КонецФункции //

// ===============================
// Название: ВывестиНакладные
// Параметры:
//  Запрос - запрос, по которому выводится отчет
//    Т - формируемая таблица
// Возвращаемое значение:
// НЕТ
// Вызывается из формул элементов диалога:
// Наименование,.
// Описание:
//    вывод детализации по партиообразующим документам
Процедура ВывестиНакладные(Запрос,Т)  
    
    // теперь еще раз пройдемся по ПрихДокумент и пропишем все основательно
    Если ДеталПоНакладным=0 Тогда    
        ВывестиДокументы(Запрос,Т);
        Возврат;
    КонецЕсли;    
    
    Пока Запрос.Группировка("Статус") = 1 Цикл
        Пока Запрос.Группировка("Поставщик") = 1 Цикл
                
            Пока Запрос.Группировка("ПрихДокумент") = 1 Цикл
        
                Док=Запрос.ПрихДокумент;
                
                // В некоторых документах есть движения и прихрод и расход
                // Рассчитаем приход и расход товара с учетом этой особенности
                БалансТовара                 = Запрос.ПрихОстатокТовара - Запрос.РасхОстатокТовара;
                
                БалансТовараСтоимость        = ?(ПустоеЗначение(ВыбФирма)=1
                    ,глПересчет(Запрос.ПрихСтоимость-Запрос.РасхСтоимость+Запрос.ПрихНДС-Запрос.РасхНДС, Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2)
                    ,Запрос.ПрихСтоимость-Запрос.РасхСтоимость);
                    
                БалансТовараСтоимостьРозн     = ?(ПустоеЗначение(ВыбФирма)=1
                    ,глПересчет(Запрос.ПрихПродСтоимость - Запрос.РасхПродСтоимость, Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2)
                    ,Запрос.ПрихПродСтоимость - Запрос.РасхПродСтоимость);
                
                текПрихОстатокТовара = Запрос.ПрихОстатокТовара;
                текРасхОстатокТовара = Запрос.РасхОстатокТовара;
                
                текПрихСтоимость     = ?(ПустоеЗначение(ВыбФирма)=1,глПересчет(Запрос.ПрихСтоимость+Запрос.ПрихНДС,Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2),Запрос.ПрихСтоимость);
                текРасхСтоимость     = ?(ПустоеЗначение(ВыбФирма)=1,глПересчет(Запрос.РасхСтоимость+Запрос.РасхНДС,Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2),Запрос.РасхСтоимость);
                текПрихПродСтоимость = ?(ПустоеЗначение(ВыбФирма)=1,глПересчет(Запрос.ПрихПродСтоимость,Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2),Запрос.ПрихПродСтоимость);
                текРасхПродСтоимость = ?(ПустоеЗначение(ВыбФирма)=1,глПересчет(Запрос.РасхПродСтоимость,Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2),Запрос.РасхПродСтоимость);
                
                ПечНачальныйОстатокДокум= глФРМКоличествоВОтчете(Запрос.НачОстатокТовара, Запрос.Товар);
                ПечТекущийОстатокДокум    = глФРМКоличествоВОтчете(Запрос.КонОстатокТовара, Запрос.Товар);
                ПечПриходОстатокДокум    = глФРМКоличествоВОтчете(текПрихОстатокТовара,      Запрос.Товар);
                ПечРасходОстатокДокум    = глФРМКоличествоВОтчете(текРасхОстатокТовара,       Запрос.Товар);
                
                Если СУчетнымиЦенами = 1 Тогда
                    ПечНачальнаяСтоимость    = глФРМ(?(ПустоеЗначение(ВыбФирма)=1,глПересчет(Запрос.НачСтоимость+Запрос.НачНДС,Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2),Запрос.НачСтоимость), ВП,1);
                    ПечТекущаяСтоимость        = глФРМ(?(ПустоеЗначение(ВыбФирма)=1,глПересчет(Запрос.КонСтоимость+Запрос.КонНДС,Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2),Запрос.КонСтоимость), ВП,1);
                    ПечПриходСтоимость        = глФРМ(текПрихСтоимость,ВП,1);
                    ПечРасходСтоимость        = глФРМ(текРасхСтоимость,ВП,1);
                Иначе
                    ПечНачальнаяСтоимость="";
                    ПечТекущаяСтоимость="";
                    ПечПриходСтоимость="";
                    ПечРасходСтоимость="";
                КонецЕсли;    
                
                Если СРозничнымиЦенами = 1 Тогда
                    ПечНачальнаяСтоимостьРозн    = глФРМ(?(ПустоеЗначение(ВыбФирма)=1,глПересчет(Запрос.НачПродСтоимость, Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2),Запрос.НачПродСтоимость),ВП,1);
                    ПечТекущаяСтоимостьРозн        = глФРМ(?(ПустоеЗначение(ВыбФирма)=1,глПересчет(Запрос.КонПродСтоимость, Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2),Запрос.КонПродСтоимость),ВП,1);
                    ПечПриходСтоимостьРозн        = глФРМ(текПрихПродСтоимость,ВП,1);
                    ПечРасходСтоимостьРозн        = глФРМ(текРасхПродСтоимость,ВП,1);
                Иначе
                    ПечНачальнаяСтоимостьРозн="";
                    ПечТекущаяСтоимостьРозн="";
                    ПечПриходСтоимостьРозн="";
                    ПечРасходСтоимостьРозн="";
                КонецЕсли;      
                
                ПечНачальныйОстаток = ПечНачальныйОстатокДокум    + ПечСуммы(ПечНачальнаяСтоимость,ПечНачальнаяСтоимостьРозн);
                ПечПриход             = ПечПриходОстатокДокум        + ПечСуммы(ПечПриходСтоимость,     ПечПриходСтоимостьРозн);
                ПечРасход             = ПечРасходОстатокДокум        + ПечСуммы(ПечРасходСтоимость,     ПечРасходСтоимостьРозн);
                ПечТекущийОстаток     = ПечТекущийОстатокДокум    + ПечСуммы(ПечТекущаяСтоимость,     ПечТекущаяСтоимостьРозн);
                
                Если текПрихОстатокТовара<>0 Тогда
                    СебестПоДок = текПрихСтоимость/текПрихОстатокТовара;
                    ЦенаПоДок     = текПрихПродСтоимость/текПрихОстатокТовара;
                ИначеЕсли текРасхОстатокТовара<>0 Тогда                    
                    СебестПоДок = текРасхСтоимость/текРасхОстатокТовара;
                    ЦенаПоДок     = текРасхПродСтоимость/текРасхОстатокТовара;
                Иначе
                    СебестПоДок = 0;
                    ЦенаПоДок = 0;
                КонецЕсли;    
        
                ПечСебестПоДок    = глФРМ(СебестПоДок,ВП,1);
                ПечЦенаПоДок    = глФРМ(ЦенаПоДок,ВП,1);
        
                Если ПустоеЗначение(Док)=0 Тогда
                    ПечНомерДок=глДокументВОтчете(Док,"с номером")+"; "+СокрП(Запрос.Поставщик);
                Иначе
                    ПечНомерДок="средневзвешенная цена";
                КонецЕсли;
        
                ПечСтатус = глСтатусПечать(Запрос.Статус);
                ПечРасшифровкаСтатуса = глСтатусПартииТекстом(Запрос.Статус);
                                
                Т.ВывестиСекцию("Партия");
                глОживить(1);
                      
                ВывестиДокументы(Запрос,Т);  
            КонецЦикла;
        КонецЦикла;
    КонецЦикла;
КонецПроцедуры       // ВывестиНакладные


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

        Если СУчетнымиЦенами = 1 Тогда
            НачальнаяСтоимость    = ?(ПустоеЗначение(ВыбФирма)=1,глПересчет(Запрос.НачСтоимость+Запрос.НачНДС,Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2),  Запрос.НачСтоимость);
            ТекущаяСтоимость    = ?(ПустоеЗначение(ВыбФирма)=1,глПересчет(Запрос.КонСтоимость+Запрос.КонНДС,Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2),  Запрос.КонСтоимость);
            ПриходСтоимость        = текПрихСтоимость;
            РасходСтоимость        = текРасхСтоимость;
            НачальнаяСтоимостьИтог    = НачальнаяСтоимостьИтог + НачальнаяСтоимость;
            ТекущаяСтоимостьИтог    = ТекущаяСтоимостьИтог      + ТекущаяСтоимость;
            ПриходСтоимостьИтог        = ПриходСтоимостьИтог     + ПриходСтоимость;
            РасходСтоимостьИтог        = РасходСтоимостьИтог     + РасходСтоимость;
            ПечНачальнаяСтоимость    = глФРМ(НачальнаяСтоимость,  ВП,1);
            ПечТекущаяСтоимость        = глФРМ(ТекущаяСтоимость, ВП,1);
            ПечПриходСтоимость        = глФРМ(ПриходСтоимость,  ВП,1);
            ПечРасходСтоимость        = глФРМ(РасходСтоимость,  ВП,1);
        Иначе
            ПечНачальнаяСтоимость="";
            ПечТекущаяСтоимость="";
            ПечПриходСтоимость="";
            ПечРасходСтоимость="";
        КонецЕсли;    
        
        Если СРозничнымиЦенами = 1 Тогда
            НачальнаяСтоимостьРозн    = ?(ПустоеЗначение(ВыбФирма)=1,глПересчет(Запрос.НачПродСтоимость,Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2),Запрос.НачПродСтоимость);
            ТекущаяСтоимостьРозн    = ?(ПустоеЗначение(ВыбФирма)=1,глПересчет(Запрос.КонПродСтоимость,Запрос.Товар.ВалютаУчета,Дата2,ВП,Дата2),Запрос.КонПродСтоимость);
            ПриходСтоимостьРозн        = текПрихПродСтоимость;
            РасходСтоимостьРозн        = текРасхПродСтоимость;
            ПечНачальнаяСтоимостьРозн    = глФРМ(НачальнаяСтоимостьРозн,    ВП,1);
            ПечТекущаяСтоимостьРозн        = глФРМ(ТекущаяСтоимостьРозн,      ВП,1);
            ПечПриходСтоимостьРозн        = глФРМ(ПриходСтоимостьРозн,    ВП,1);
            ПечРасходСтоимостьРозн        = глФРМ(РасходСтоимостьРозн,    ВП,1);
            НачальнаяСтоимостьРознИтог    = НачальнаяСтоимостьРознИтог + НачальнаяСтоимостьРозн;
            ТекущаяСтоимостьРознИтог    = ТекущаяСтоимостьРознИтог   + ТекущаяСтоимостьРозн;
            ПриходСтоимостьРознИтог        = ПриходСтоимостьРознИтог     + ПриходСтоимостьРозн;
            РасходСтоимостьРознИтог        = РасходСтоимостьРознИтог     + РасходСтоимостьРозн;
        Иначе
            ПечНачальнаяСтоимостьРозн="";
            ПечТекущаяСтоимостьРозн="";
            ПечПриходСтоимостьРозн="";
            ПечРасходСтоимостьРозн="";
        КонецЕсли;      
    
        ПечНачальныйОстаток = ПечНачальныйОстатокТовара    + ПечСуммы(ПечНачальнаяСтоимость,ПечНачальнаяСтоимостьРозн);
        ПечПриход             = ПечПриходОстатокТовара    + ПечСуммы(ПечПриходСтоимость,ПечПриходСтоимостьРозн);
        ПечРасход             = ПечРасходОстатокТовара    + ПечСуммы(ПечРасходСтоимость,ПечРасходСтоимостьРозн);
        ПечТекущийОстаток     = ПечТекущийОстатокТовара    + ПечСуммы(ПечТекущаяСтоимость,ПечТекущаяСтоимостьРозн);
        
        Т.ВывестиСекцию("Товар");
        глОживить(2);

        ВывестиНакладные(Запрос,Т);  
    КонецЦикла;
                                  
    ПечНачальнаяСтоимость    = глФРМ(НачальнаяСтоимостьИтог,ВП,1);
    ПечТекущаяСтоимость        = глФРМ(ТекущаяСтоимостьИтог,  ВП,1);
    ПечПриходСтоимость        = глФРМ(ПриходСтоимостьИтог,   ВП,1);
    ПечРасходСтоимость        = глФРМ(РасходСтоимостьИтог,   ВП,1);

    ПечНачальнаяСтоимостьРозн    = глФРМ(НачальнаяСтоимостьРознИтог,ВП,1);
    ПечТекущаяСтоимостьРозн        = глФРМ(ТекущаяСтоимостьРознИтог,ВП,1);
    ПечПриходСтоимостьРозн        = глФРМ(ПриходСтоимостьРознИтог,ВП,1);
    ПечРасходСтоимостьРозн        = глФРМ(РасходСтоимостьРознИтог,ВП,1);  
    
    ПечНачальныйОстаток = ПечСуммы(ПечНачальнаяСтоимость,ПечНачальнаяСтоимостьРозн,0);
    ПечПриход = ПечСуммы(ПечПриходСтоимость,ПечПриходСтоимостьРозн,0);
    ПечРасход = ПечСуммы(ПечРасходСтоимость,ПечРасходСтоимостьРозн,0);
    ПечТекущийОстаток = ПечСуммы(ПечТекущаяСтоимость,ПечТекущаяСтоимостьРозн,0);
                                                    
    Т.ВывестиСекцию("Итого");
    глОживить(1);

КонецПроцедуры // ВывестиТовары

// ===============================
// Название: РаботаСоСписком
// Параметры:
//     Режим - строка, принимающая 4 значения:
//        "Добавить"
//        "ДобавитьНесколько"
//         "Удалить"
//         "УдалитьВсе"
//    Список - список значений, в котором задается множественный фильтр
//    ТипСправочника - строка, содержащая идентификатор справочнника, по
//                        которому осуществляется мноджественный фильтр
// Возвращаемое значение:
// НЕТ
// Вызывается из формул элементов диалога:
//   кнопок работы с множественными фильтрами ("...",".....","X","XX")
// Наименование,.
// Описание:
// процедура предназначена для добавления и удаления элементов
// из множественных фильтров
Процедура РаботаСоСписком(Режим,Список,ТипСправочника)
    Перем ТекПоз;
    Перем ТекЭлемент;
    Перем Фрм;
                      
    ТекПоз = Список.ТекущаяСтрока();
    Если ТекПоз>0 Тогда
        ТекЭлемент=Список.ПолучитьЗначение(ТекПоз);
    КонецЕсли;

    Если Режим="Добавить" Тогда        // добавляем в список один элемент
        СписокПодбора = Список;
        СправочникПодбора = ВРег(ТипСправочника);
        // открываем окно подбора
        ОткрытьПодбор("Справочник."+ТипСправочника,,Фрм,0,ТекЭлемент);
        Фрм.ВыборГруппы(1);
    
    ИначеЕсли Режим="ДобавитьНесколько" Тогда  // добавляем в список несколько элементов
        СписокПодбора = Список;
        СправочникПодбора = ВРег(ТипСправочника);
        // открываем окно подбора
        ОткрытьПодбор("Справочник."+ТипСправочника,,Фрм,1,ТекЭлемент);
        Фрм.ВыборГруппы(1);

    ИначеЕсли Режим="УдалитьВсе" Тогда    // удаляем все элементы из списка
        Список.УдалитьВсе();

    ИначеЕсли Режим="Удалить" Тогда    // удаляем из списка один элемент
        Если ТекПоз>0 Тогда
            Список.УдалитьЗначение(ТекПоз);
        КонецЕсли;
    КонецЕсли;

КонецПроцедуры        // работа со списком


// ===============================
// Название: Сформировать
// Параметры:
//   ЗакрытьЭкран - флаг того, что после формирования отчета надо закрыть экран    
// Возвращаемое значение:
// НЕТ
// Вызывается из формул элементов диалога:
//   кнопки "Сформировать" и "ОК"
// Наименование,.
// Описание:
//    запускает отчет
Процедура Сформировать(ЗакрытьЭкран=0)    
    
    глПроверкаДаты(Дата1,Дата2);
    
    // Здесь формируется отчет, который использует регистры, критичные к
    // последовательности проведения документов
    // поэтому сравним установленные даты периода формируемого отчета с ГП
    глПроверкаАктуальностиОтчета(Дата1,Дата2,"Общ",ВыбФирма,0);
                      
    
    ПечФорма = "Таблица";
    Язык = глЯзык(ПечФорма);
    глУстПропись(Гривня,Язык);
    
    Если (ТипЗначенияСтр(Т) <> "Таблица") ИЛИ (Обновить = 0) Тогда
           Т = СоздатьОбъект("Таблица");
    Иначе
         Т.Очистить();
    КонецЕсли;
    Т.ИсходнаяТаблица(ПечФорма);
    
    Расшифровка = СоздатьОбъект("СписокЗначений");
    Расшифровка.Установить("Объект", "Розница");
    
    // все настройки помещаем в список
    Расшифровка.Установить("Дата1", Дата1);
    Расшифровка.Установить("Дата2", Дата2);
    
    Расшифровка.Установить("ВыбФирма", ВыбФирма);
    
    Расшифровка.Установить("ВыбТовар",             ВыбТовар);
    Расшифровка.Установить("КатТоваров",         КатТоваров);
    Расшифровка.Установить("ВыбКонтрагент",     ВыбКонтрагент);
    Расшифровка.Установить("КатКонтрагентов",     КатКонтрагентов);

    Расшифровка.Установить("СтатусыПартий",СтатусыПартий);
                                                                                                                            
    Расшифровка.Установить("ДеталПоНакладным",         ДеталПоНакладным);
    Расшифровка.Установить("ДеталПоВсемДокументам", ДеталПоВсемДокументам);
    
    Расшифровка.Установить("СРозничнымиЦенами", СРозничнымиЦенами);
    Расшифровка.Установить("СУчетнымиЦенами",     СУчетнымиЦенами);
    
    Расшифровка.Установить("МФВыбТовары",             МФВыбТовары);
    Расшифровка.Установить("ТипМФКатТоваров",         ТипМФКатТоваров.ТекущаяСтрока());
    Расшифровка.Установить("МФКатТоваров",             МФКатТоваров);
    Расшифровка.Установить("МФВыбКонтрагенты",         МФВыбКонтрагенты);
    Расшифровка.Установить("ТипМФКатКонтрагентов",     ТипМФКатКонтрагентов.ТекущаяСтрока());
    Расшифровка.Установить("МФКатКонтрагентов",     МФКатКонтрагентов);
    
    Запрос=СоздатьОбъект("Запрос");

    ТекстЗапроса="
        |ПЕРИОД С Дата1 По Дата2;
        |Товар            = Регистр.ПартииТоваров.Товар;
        |Фирма            = Регистр.ПартииТоваров.Фирма;
        |Статус            = Регистр.ПартииТоваров.Статус;
        |Поставщик        = Регистр.ПартииТоваров.Поставщик;
        |ПрихДокумент    = Регистр.ПартииТоваров.ПрихДокумент;
        |Докум            = Регистр.ПартииТоваров.ТекущийДокумент;
        |ОстатокТовара    = Регистр.ПартииТоваров.ОстатокТовара;
        |Стоимость        = Регистр.ПартииТоваров.Стоимость;
        |ПродСтоимость    = Регистр.ПартииТоваров.ПродСтоимость;
        |НДС            = Регистр.ПартииТоваров.НДС;";

    ТекстЗапроса=ТекстЗапроса+"Группировка Товар Без групп;";

    Если ДеталПоНакладным<>0 Тогда
        ТекстЗапроса=ТекстЗапроса+"
            |Группировка Статус;
            |Группировка Поставщик;
            |Группировка ПрихДокумент;";
    КонецЕсли;

    Если ДеталПоВсемДокументам<>0  Тогда
        ТекстЗапроса=ТекстЗапроса+"
            |Группировка Докум;";
    КонецЕсли;

    ТекстЗапроса=ТекстЗапроса+"
        |Функция НачОстатокТовара    = НачОст(ОстатокТовара);
        |Функция КонОстатокТовара    = КонОст(ОстатокТовара);
        |Функция ПрихОстатокТовара    = Приход(ОстатокТовара);
        |Функция РасхОстатокТовара    = Расход(ОстатокТовара);
        |Функция НачСтоимость        = НачОст(Стоимость);
        |Функция КонСтоимость        = КонОст(Стоимость);
        |Функция ПрихСтоимость        = Приход(Стоимость);
        |Функция РасхСтоимость        = Расход(Стоимость);
        |Функция НачПродСтоимость    = НачОст(ПродСтоимость);
        |Функция КонПродСтоимость    = КонОст(ПродСтоимость);
        |Функция ПрихПродСтоимость    = Приход(ПродСтоимость);
        |Функция РасхПродСтоимость    = Расход(ПродСтоимость);
        |Функция НачНДС                = НачОст(НДС);
        |Функция КонНДС                = КонОст(НДС);
        |Функция ПрихНДС            = Приход(НДС);
        |Функция РасхНДС            = Расход(НДС);
        |Условие (Фирма = выбФирма);
        |Условие (Статус<>Услуга);
        |";
    
    
    Заг="";
              
    глЗаголовокФирма(ВыбФирма,Заг,Язык);
    
    СписокТоваров = СоздатьОбъект("СписокЗначений");                                        
    СписокКонтрагентов = СоздатьОбъект("СписокЗначений");                                        
    
    Если глФильтрПоСправочнику("Номенклатура",
                        ВыбТовар,МФВыбТовары,КатТоваров,МФКатТоваров,ТипМФКатТоваров.ТекущаяСтрока(),
                        СписокТоваров,
                        ТекстЗапроса,Заг,Язык,
                        "Товар,ВыбТовар,МФВыбТовары,СписокТоваров,товара,товару,товарам,товару,товара
х")=0 Тогда
        Возврат;
    КонецЕсли;            
    
    Если глФильтрПоСправочнику("Контрагенты",
                        ВыбКонтрагент,МФВыбКонтрагенты,КатКонтрагентов,МФКатКонтрагентов,ТипМФКатКо
нтрагентов.ТекущаяСтрока(),
                        СписокКонтрагентов,
                        ТекстЗапроса,Заг,Язык,
                        "Поставщик,ВыбКонтрагент,МФВыбКонтрагенты,СписокКонтрагентов,поставщика,поста
вщику,поставщикам,постачальнику,постачальниках")=0 Тогда
        Возврат;
    КонецЕсли;    
                                                              
    Заг=Заг+?(Язык="у","По статусах партій:Товари у роздрібній торгівлі. ","По статусам партий: Товар в рознице.");                                                          
    
    // отфильтруем по статусам
    СписокСтатусов = СоздатьОбъект("СписокЗначений");                      
    Для Инд=1 По СтатусыПартий.РазмерСписка() Цикл
        Если СтатусыПартий.Пометка(Инд) = 1 Тогда
            Стр = "";
            СписокСтатусов.ДобавитьЗначение(СтатусыПартий.ПолучитьЗначение(Инд,Стр),Стр);
        КонецЕсли;            
    КонецЦикла;    
    
    Если СписокСтатусов.РазмерСписка() > 0 Тогда
        ТекстЗапроса = ТекстЗапроса +"Условие(Статус в СписокСтатусов);";
    КонецЕсли;
        
    Если СписокСтатусов.РазмерСписка() = СтатусыПартий.РазмерСписка() Тогда
        Заг=Заг+?(Язык="у"," По всіх статусах партій. "," По всем статусам партий. ");
    Иначе                            
        Заг=Заг+?(Язык="у"," По статусах партій:"," По статусам партий:");
        Для а=1 По СписокСтатусов.РазмерСписка() Цикл
            Заг = Заг + " " +  глСтатусПартииТекстом(СписокСтатусов.ПолучитьЗначение(а), 1, Язык)+",";
        КонецЦикла;    
        Заг = Лев(Заг,СтрДлина(Заг)-1)+".";
    КонецЕсли;    
    
    Если СУчетнымиЦенами = 1 Тогда
        Заг=Заг+?(Язык="у","З обліковими цінами. ","С учетными ценами.");                                                                   
    КонецЕсли;    
        
    Если СРозничнымиЦенами=1 Тогда
        Заг=Заг+?(Язык="у","З роздрібними цінами. ","С розничными ценами.");                                                                   
    КонецЕсли;    
    
    //  Создание Таблицы для выходного отчета
    
    Если Запрос.Выполнить(ТекстЗапроса)=0 тогда
        Предупреждение("Запрос по Партиям не выполнился!!!");
        Возврат;
    КонецЕсли;

    // теперь в запросе собраны все Документы по партиям
    глЧислоСтрок=0;          
    
    Т.ВывестиСекцию("Кнопки");
    Т.ВывестиСекцию("Отчет");
    
    ПечНДСШапка = ?(ПустоеЗначение(ВыбФирма)=1,?(Язык="у"," з ПДВ"," с НДС"),?(Язык="у"," без ПДВ"," без НДС"));
    Если (ДеталПоНакладным=0)И(ДеталПоВсемДокументам=0) Тогда
        ПечШапкаТовар = "Товар";
        Т.ВывестиСекцию("ШапкаТов");
    Иначе                          
        ПечШапкаДок = "Товар";
        Если ДеталПоНакладным = 1 Тогда    
            ПечШапкаДок = ПечШапкаДок+"/"+?(Язык="у","Партія","Партия");
        КонецЕсли;            
        Если ДеталПоВсемДокументам = 1 Тогда
            ПечШапкаДок = ПечШапкаДок+"/"+"Документ";
        КонецЕсли;
        Т.ВывестиСекцию("ШапкаДок");
    КонецЕсли;
    глОживить(4);
    
    // выводим детализацию по товарам

    Если ВыбФирма.Выбран()=0 Тогда
        ВП=Доллары;
    Иначе
        ВП=Гривня;
    КонецЕсли;
    
    ВывестиТовары(Запрос,Т);  

    //Вызов выходного отчета в окно просмотра и редактирования.
    Т.Защита(Константа.ФлагЗащитыТаблиц);
    Т.ТолькоПросмотр(1);
    Т.Опции(0,0,6,0,"ПарамПечатиУпрПартииТоваров","РазмОкнаУпрПартииТоваров");
    Т.ОбластьПечати(2);
    Т.Показать("Отчет о партиях товаров","");
    
    Если (Обновить = 2)ИЛИ(ЗакрытьЭкран=1) Тогда
        СтрокаДействийФормы = "#Закрыть";
    КонецЕсли;
    
КонецПроцедуры     // Сформировать                  


// ===============================
// ПРОЦЕДУРЫ И ФУНКЦИИ, ВЫЗЫВАЕМЫЕ ИЗ ФОРМУЛ ЭЛЕМЕНТОВ ДИАЛОГА



// ===============================
// ПРЕДОПРЕДЕЛЕННЫЕ ПРОЦЕДУРЫ

// ===============================
Процедура ПриВыбореЗакладки(Номер,Значение)    // Предопределенная процедура
    // закладки
    Если Номер=1 Тогда
        Форма.ИспользоватьСлой("Основной,Общий",2);
    ИначеЕсли Номер=2 Тогда
        Форма.ИспользоватьСлой("МножественныйФильтр,Общий",2);
    КонецЕсли;      
    ПерерисовкаНазванийЗакладок();
КонецПроцедуры    // ПриВыбореЗакладки


// ===============================
Процедура ОбработкаПодбора(Значение)  // Предопределенная процедура
    Если (ВРег(Значение.Вид())=СправочникПодбора)И(СписокПодбора.НайтиЗначение(Значение)=0) Тогда
        СписокПодбора.ДобавитьЗначение(Значение);
        СписокПодбора.ТекущаяСтрока(СписокПодбора.РазмерСписка());
    КонецЕсли;
КонецПроцедуры  // ОбработкаПодбора

// ===============================
Процедура ПриОткрытии()    // Предопределенная процедура
    
    Если глФлагРасшифровки = 1 Тогда
        Обновить = глОбновить;
        
        // восстанавливаем настройки из списка
        Дата1 = глРасшифровка.Получить("Дата1");
        Дата2 = глРасшифровка.Получить("Дата2");
        
        ВыбФирма = глРасшифровка.Получить("ВыбФирма");
        
        ВыбТовар = глРасшифровка.Получить("ВыбТовар");
        КатТоваров = глРасшифровка.Получить("КатТоваров");
        ВыбКонтрагент = глРасшифровка.Получить("ВыбКонтрагент");
        КатКонтрагентов = глРасшифровка.Получить("КатКонтрагентов");
        
        ВыбКупленный = глРасшифровка.Получить("ВыбКупленный");  
        ВыбРозница = глРасшифровка.Получить("ВыбРозница");  
        ВыбОтданный = глРасшифровка.Получить("ВыбОтданный");  
        ВыбПринятый = глРасшифровка.Получить("ВыбПринятый");  
        
        ДеталПоНакладным = глРасшифровка.Получить("ДеталПоНакладным");  
        ДеталПоВсемДокументам = глРасшифровка.Получить("ДеталПоВсемДокументам");  
        
          СтатусыПартий.УдалитьВсе();
          глРасшифровка.Получить("СтатусыПартий").Выгрузить(СтатусыПартий);
        
        СРозничнымиЦенами = глРасшифровка.Получить("СРозничнымиЦенами");
        СУчетнымиЦенами = глРасшифровка.Получить("СУчетнымиЦенами");
        
        МФВыбТовары.УдалитьВсе();
        глРасшифровка.Получить("МФВыбТовары").Выгрузить(МФВыбТовары);
    
        ТипМФКатТоваров.ТекущаяСтрока(глРасшифровка.Получить("ТипМФКатТоваров"));
    
        МФКатТоваров.УдалитьВсе();
          глРасшифровка.Получить("МФКатТоваров").Выгрузить(МФКатТоваров);
    
        МФВыбКонтрагенты.УдалитьВсе();
        глРасшифровка.Получить("МФВыбКонтрагенты").Выгрузить(МФВыбКонтрагенты);
                                                                                
        ТипМФКатКонтрагентов.ТекущаяСтрока(глРасшифровка.Получить("ТипМФКатКонтрагентов"));
        
        МФКатКонтрагентов.УдалитьВсе();
        глРасшифровка.Получить("МФКатКонтрагентов").Выгрузить(МФКатКонтрагентов);
        
        Если Обновить <> 0 Тогда
            Т = глТаблица;
        КонецЕсли;          
        
        Если Обновить <> 2 Тогда
            Сформировать();
            СтатусВозврата(0);
            Возврат;      
        КонецЕсли;          
    Иначе
        Обновить = 0;
    КонецЕсли;
                                      
    ПерерисовкаНазванийЗакладок();  
    ИзмИтоги();                        
    ИзмЦена();
    
КонецПроцедуры        // ПриОткрытии


// ===============================
Процедура ВводНового()    // Предопределенная процедура

    ПерерисовкаНазванийЗакладок();
    
КонецПроцедуры        // ВводНового


// ===============================
Процедура ПриЗакрытии()    // Предопределенная процедура

КонецПроцедуры    // ПриЗакрытии


// ===============================
// ТЕЛО МОДУЛЯ

Дата2=ПолучитьДатуТА();
Дата1=глВосстановитьЗначение(,"ОсновнаяДатаНачалаОтчета",);
Если Число(Дата1)=0 Тогда
    Дата1='01.01.1998';
Конецесли;                                  
                    
СтатусыПартий.УдалитьВсе();
              
СтатусыПартий.ДобавитьЗначение(РозницаКупленный,глСтатусПартииТекстом(РозницаКупленный,1));
СтатусыПартий.ДобавитьЗначение(РозницаПринятый,глСтатусПартииТекстом(РозницаПринятый,1));
СтатусыПартий.ДобавитьЗначение(РозницаПринятыйБезПраваПередачи,глСтатусПартииТекстом(РозницаПринятыйБезПраваПередачи,1));

Для а=1 По СтатусыПартий.РазмерСписка() Цикл
    СтатусыПартий.Пометка(а,1);
КонецЦикла;    

ВыбКупленный=1;
ВыбРозница=1;
ВыбОтданный=1;
ВыбПринятый=1;
ВыбВалюта=Гривня;

ТипМФКатТоваров.УдалитьВсе();
ТипМФКатТоваров.ДобавитьЗначение("одна из");
ТипМФКатТоваров.ДобавитьЗначение("одновременно все");
ТипМФКатТоваров.ТекущаяСтрока(1);

ТипМФКатКонтрагентов.УдалитьВсе();
ТипМФКатКонтрагентов.ДобавитьЗначение("одна из");
ТипМФКатКонтрагентов.ДобавитьЗначение("одновременно все");
ТипМФКатКонтрагентов.ТекущаяСтрока(1);
  
// Инициализируем закладки
Форма.ИспользоватьЗакладки(1);
Форма.Закладки.ДобавитьЗначение(1,"Основная");
Форма.ИспользоватьСлой("Основной,Общий",2);

Форма.Закладки.ДобавитьЗначение(2,"Множественный фильтр");

это произлошло когда 1с наставл на вин 7, на хр все работает норм
Ardi
Я знаю что это.
-=VJ=-
Цитата(SaIIIka007 @ 20.12.11, 11:33) необходимо зарегистрироваться для просмотра ссылки
это произлошло когда 1с наставл на вин 7, на хр все работает норм


Поставьте в региональных стандартах регион "Россия".
Vofka
Опять 25. Тема закрывается.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.