Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Войти | Зарегистрироваться )




>  Превышен максимально допустимый размер внутреннего файла, что разогнало так базу?
SaIIIka007
Отправлено: 31.12.13, 16:16


Общительный
**

Группа: Пользователи
Сообщений: 12
Регистрация: 16.12.11
Пользователь №: 13230


Всем спасибо за ответы, проблема решена.
Решение: Отключил версионироварие, и удалил их с помощу обработки, которую дали тут

icon_beer17.gif icon_beer17.gif icon_beer17.gif icon_beer17.gif 44000000.gif 44000000.gif 44000000.gif 47067070.gif 47067070.gif 47067070.gif
  Форум: Программирование управляемых форм 1С 8.2 · Просмотр сообщения: #79951 · Ответов: 20 · Просмотров: 24415
 

>  Превышен максимально допустимый размер внутреннего файла, что разогнало так базу?
SaIIIka007
Отправлено: 31.12.13, 14:49


Общительный
**

Группа: Пользователи
Сообщений: 12
Регистрация: 16.12.11
Пользователь №: 13230


Цитата(Fynjy @ 27.12.13, 21:03) *
Новый год же на носу
http://www.ex.ua/403595377930
Файл открыть выполнить
Затем конфигураторе тестирование и исправление поставить флаг сжать ИБ


а что делать если обработка пишет "недостаточно памяти", ОЗУ 20ГБ. Какой памяти ей эдостаточно?


Цитата(SaIIIka007 @ 31.12.13, 14:47) *
эдостаточно?

недостаточно)?
  Форум: Программирование управляемых форм 1С 8.2 · Просмотр сообщения: #79948 · Ответов: 20 · Просмотров: 24415
 

>  Превышен максимально допустимый размер внутреннего файла, что разогнало так базу?
SaIIIka007
Отправлено: 27.12.13, 13:50


Общительный
**

Группа: Пользователи
Сообщений: 12
Регистрация: 16.12.11
Пользователь №: 13230


Цитата(Ardi @ 27.12.13, 11:35) *
почистить версионирование от старых данных.


а как это зделать? Я впринципе с кодом 1с немного не владах)
  Форум: Программирование управляемых форм 1С 8.2 · Просмотр сообщения: #79836 · Ответов: 20 · Просмотров: 24415
 

>  Превышен максимально допустимый размер внутреннего файла, что разогнало так базу?
SaIIIka007
Отправлено: 27.12.13, 11:03


Общительный
**

Группа: Пользователи
Сообщений: 12
Регистрация: 16.12.11
Пользователь №: 13230






отвечу Vofka: документы: поступление товаров и услуг, возврат паставщику, возврат от покупателя, отчет о розничный продажах и другие
  Форум: Программирование управляемых форм 1С 8.2 · Просмотр сообщения: #79826 · Ответов: 20 · Просмотров: 24415
 

>  Превышен максимально допустимый размер внутреннего файла, что разогнало так базу?
SaIIIka007
Отправлено: 27.12.13, 10:16


Общительный
**

Группа: Пользователи
Сообщений: 12
Регистрация: 16.12.11
Пользователь №: 13230


Здравствуйте, уважаемые форумчане.

После использования 1с Предприятия 1 год, вылезла такая ошибка (и не дает ничего проводить):
Ошибка СУБД:
Превышен максимально допустимый размер внутреннего файла 'D:\Basa _1c8.2/1Cv8.1CD'
по причине:
Превышен максимально допустимый размер внутреннего файла 'D:\Basa _1c8.2/1Cv8.1CD'
Поле долгих прогулок по интернету я выяснил: 1) Используя программу Tool_1CD, нашел внутренную таблицу, которая 4Гб (размер базы 5,17ГБ).
2) Проводил "Тестирование и исправление" со всеми галочками. Размер таблицы не уменьшается.
3) Развернул базу на другом компе, удалил 2 накладных. О чудо - зармер таблицы умешился на 2Мб.

Суть вопроса: что могло разогнать так эту внутреннюю таблицу, ведь удаление всех документов не выход? Может кто то сталкивался с таким? И как уменшить эту таблицу?

Некоторая дополнительная информация: База - файловая, переход на SQL пока не планируется. Платформа 1С:Предприятие 8.2 (8.2.16.368)
  Форум: Программирование управляемых форм 1С 8.2 · Просмотр сообщения: #79822 · Ответов: 20 · Просмотров: 24415
 

>  Отчет
SaIIIka007
Отправлено: 15.01.13, 13:38


Общительный
**

Группа: Пользователи
Сообщений: 12
Регистрация: 16.12.11
Пользователь №: 13230


Каким отчетом можно вывести следующую информацию: код товара, найменование товара и цену и остаток на отовом складе. Платформа 8,2 Предприятие
  Форум: Корзина · Просмотр сообщения: #63183 · Ответов: 1 · Просмотров: 1336
 

>  Принтера
SaIIIka007
Отправлено: 16.02.12, 7:46


Общительный
**

Группа: Пользователи
Сообщений: 12
Регистрация: 16.12.11
Пользователь №: 13230


а как и где нужно прописать?
  Форум: 1С Торговля и Склад 7.7 для Украины · Просмотр сообщения: #44249 · Ответов: 2 · Просмотров: 2368
 

>  Принтера
SaIIIka007
Отправлено: 15.02.12, 15:53


Общительный
**

Группа: Пользователи
Сообщений: 12
Регистрация: 16.12.11
Пользователь №: 13230


Есть два привнтера: принтер этикеток Zebra TLP 2824 и принтер, на котором пачатаются накладные Epson (матричный). Проблема в том, что когда отправил накладну на печать и нужно на печатать этикетки, то они сначала лезут на епсон, а не на зебру. Приходится настраивать параметры страницы через таблицу в 1с. 47046430.gif Что нужно зделать, что бы 1с понимала, что этикетки нужно послать на зебру, а накладую на эпсон.
З.Ы. принтера локальные


 i 

Ознакомьтесь с правилами форума.
 
  Форум: 1С Торговля и Склад 7.7 для Украины · Просмотр сообщения: #44186 · Ответов: 2 · Просмотров: 2368
 

>  Низкая скорость работы 7,7 по сети
SaIIIka007
Отправлено: 25.01.12, 10:41


Общительный
**

Группа: Пользователи
Сообщений: 12
Регистрация: 16.12.11
Пользователь №: 13230


есть 1с 7,7 сетевая версия 27 релиз
3 компа: один сервер, 2 подключаются к нему
Когда работаеш за сервером и подключаешся к базе по сети локальным компом, то локальный работает в набагато медленее (примерно в 3, 4 раза) чем нужно. А когда монопольно с локального компа, то скорость норм.
на всякий случай кидаю характеристики компов
сервер: атлон ІІ х4 3,1 GHz
4 ГБ ОЗУ
локальный селерон 2,8 GHz
1 ГБ ОЗУ
Подскажите найти решение проблемы в скорости на локальных компах
  Форум: 1С Торговля и Склад 7.7 для Украины · Просмотр сообщения: #42293 · Ответов: 1 · Просмотров: 3012
 

>  Ошибка при отчете
SaIIIka007
Отправлено: 20.12.11, 11:33


Общительный
**

Группа: Пользователи
Сообщений: 12
Регистрация: 16.12.11
Пользователь №: 13230


незнаю. Что то при обьединении конфирурации нет отчета
Вот код точета. Должно работать, когда поля которые нужно заполнять в отчете пустые
[Здесь было что то не по правилам]

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

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

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


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

// ===============================
// Название: ИзмЦена
// Параметры:
// НЕТ
// Возвращаемое значение:
//  НЕТ
// Вызывается при изменении флажков "с учетной ценой" и "с розничной ценой":
// Наименование,.
// Описание:
// Изменяет видимость этих флажков
Процедура ИзмЦена()              
    Если (СРозничнымиЦенами = 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, на хр все работает норм
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #39152 · Ответов: 9 · Просмотров: 6617
 

>  Ошибка при отчете
SaIIIka007
Отправлено: 16.12.11, 10:33


Общительный
**

Группа: Пользователи
Сообщений: 12
Регистрация: 16.12.11
Пользователь №: 13230


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


Для особо одаренных по подробней.... happy.gif
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #38896 · Ответов: 9 · Просмотров: 6617
 

>  Ошибка при отчете
SaIIIka007
Отправлено: 16.12.11, 9:38


Общительный
**

Группа: Пользователи
Сообщений: 12
Регистрация: 16.12.11
Пользователь №: 13230


Запрошиваю отчет Розница, далее выставляю нужные даные -> сформировать, и выкакивает ошибка такого типа

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

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

Конфигурация ТиС
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #38885 · Ответов: 9 · Просмотров: 6617
 


Новые сообщения  Открытая тема (есть новые ответы)
Опрос  Опрос (есть новые голоса)
Нет новых сообщений  Открытая тема (нет новых ответов)
Нет новых голосов  Опрос (нет новых голосов)
Популярная тема  Горячая тема (есть новые ответы)
Закрыта  Закрытая тема
Нет новых  Горячая тема (нет новых ответов) Перемещена  Тема перемещена
 

RSS Текстовая версия Сейчас: 24.04.24, 13:43
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!