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

Хранилище

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

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



> Отчет ОстаткиДвижениеСтоимость для 1с77 бух , Сортирует данные в общем, не выбирает движение товара по фирме          
inna.innainna84 Подменю пользователя
сообщение 25.08.16, 8:50
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 108
Спасибо сказали: 2 раз
Рейтинг: 0

Прошу помощи с отчетом. Сортирует данные в общем , не выбирает движение товара по выбранной фирме.
Код
//astonvilla@rambler.ru
//Костецкий В.А. aka astonvilla
//
// ===============================
// ОПИСАНИЕ МОДУЛЬНЫХ ПЕРЕМЕННЫХ
// ===============================

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

// переменные предназначены для запроса по периодам
Перем Запрос;
Перем Язык, УкрГруппировки;

Перем ОтчетСформирован;  

Перем ПечОстаток,ПечСтоимость,ИтПечСтоимость;

Перем Ит, ТекЗакладка;

Перем СписокПодбора,СправочникПодбора;
Перем СписокТоваров;         // список товаров, удовлетворяющих фильтру по ТМЦ

Перем ЕстьГруппыТМЦ, СпСчетов;
// ===============================
// ПРОЦЕДУРЫ И ФУНКЦИИ, ВЫЗЫВАЕМЫЕ ИЗ ФОРМУЛ ЭЛЕМЕНТОВ ДИАЛОГА
// ===============================

Функция МножественныйФильтрЗадан(СпЗнач_)      
    Если СпЗнач_.РазмерСписка()>0 Тогда
        Возврат 1;
    КонецЕсли;
    Возврат 0;
КонецФункции // МножественныйФильтрЗадан    

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

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

//******************************************************************************
// Процедура изменяет состояние отметок вывода таблицы группировок отчета
Процедура глПометкаТаблицыГруппировок(Группировки,Флаг)
    
    Для индГруп = 1 По Группировки.РазмерСписка() Цикл
        Если Флаг = -1 Тогда
            Группировки.Пометка(индГруп, 1 - Группировки.Пометка(индГруп));
        Иначе
            Группировки.Пометка(индГруп, Флаг);
        КонецЕсли;
    КонецЦикла;
    
КонецПроцедуры // глПометкаТаблицыГруппировок()  

//******************************************************************************
Процедура глОживить(ДобСтрок) Экспорт
    глЧислоСтрок = глЧислоСтрок + ДобСтрок;
    Состояние("В отчет выведено "+глЧислоСтрок+" строк.");
КонецПроцедуры

// ===============================

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

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

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

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

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


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

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

// ===============================
Процедура ВыберемВсеЭлементыСписка(СписокТоваров)
    Перем Запрос, ТекстЗапроса;
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |ТекущийЭлемент = Справочник.ТМЦ.ТекущийЭлемент;
    |Группировка ТекущийЭлемент;
    |Условие(ТекущийЭлемент в СписокТоваров);";
    
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;

    ТЗЗапроса = СоздатьОбъект("ТаблицаЗначений");
    
    Запрос.Выгрузить(ТЗЗапроса);
    СписокТоваров.УдалитьВсе();
    ТЗЗапроса.Выгрузить(СписокТоваров,,,"ТекущийЭлемент");
КонецПроцедуры


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


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


// ===============================
Процедура ПриОткрытии()    
    ВыбВалюта = Гривня;
    
    ВидОтчета.ТекущаяСтрока(2);
    
    Форма.тПериод.    Видимость(0);
    Форма.тС.        Видимость(0);
    Форма.Дата1.    Видимость(0);
    Форма.кПериод.    Видимость(0);
    Форма.тПо.Заголовок("На");
    
    Форма.Заголовок("Остатки товаров на складах");
    Форма.тНазвание.Заголовок("Остатки товаров на складах");
    
    Форма.рДетализация.        Доступность(0);
    Форма.ДеталПоСкладам.    Доступность(0);
    Форма.ДеталПоДокументам.Доступность(0);
    ДеталПоСкладам        = 1;
    ДеталПоДокументам    = 0;

    Товар.ДобавитьЗначение("281,","Товары на опт. складе");
    Товар.ДобавитьЗначение("282","Товары в рознице");
    Товар.ДобавитьЗначение("283","Товары на комиссии");
    Товар.ДобавитьЗначение("284","Тара под товарами");
    Товар.ДобавитьЗначение("20","Производственные запасы");  
    Товар.ДобавитьЗначение("22","Малоценные и быстроизнашивающиеся предметы");
    Товар.ДобавитьЗначение("24","Брак в производстве");
    Товар.ДобавитьЗначение("25","Полуфабрикаты");
    Товар.ДобавитьЗначение("26","Готовая продукция");
    Товар.ДобавитьЗначение("27","Продукция сельского хозяйства");
    
    глПометкаТаблицыГруппировок(Товар,1);
    // будем отслеживать только реальные изменения этих реквизитов
    Форма.ВидОтчета.ВыполнятьФормулуТолькоПриИзменении(1);
    
    Форма.Обновить(1);
КонецПроцедуры        // ПриОткрытии()  


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


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

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

// инициализация границ периодов
Дата2=ТекущаяДата();
Дата1=ТекущаяДата();

ВыбФирма = Константа.БазФирма;
ВыбМестоХранения = глВосстановитьЗначение(,"БазМестоХранения");

// инициализация списков                          
ВидОтчета.УдалитьВсе();
ВидОтчета.ДобавитьЗначение("движения ТМЦ");
ВидОтчета.ДобавитьЗначение("остатки ТМЦ");
ВидОтчета.ДобавитьЗначение("стоимость ТМЦ на складах");
ВидОтчета.ТекущаяСтрока(2);                        

ЕстьГруппыТМЦ = 0;



 ! 

Правила: 3, 4
 


 ! 

Раздел "Хранилище" предназначен для выкладывания готовых решений, а не для вопросов!
 


Сообщение отредактировал Vofka - 25.08.16, 19:55

Sharzem Подменю пользователя
сообщение 28.08.16, 9:46
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 298
Спасибо сказали: 98 раз
Рейтинг: 99.1

Цитата(inna.innainna84 @ 25.08.16, 9:50) *
не выбирает движение товара по выбранной фирме

В отчете ВыбФирма не отбирается. Выборка есть только по складам.
Т.е., у Вас 1 склад не может принадлежать 2-м фирмам. Думаю что у Вас это не единственный отчет в конфигурации - порвало где-то еще.
Если у Вас имеется принадлежность одного и того ж склада 2-м разным фирмам, то как вариант (если небольшой период ведения совместного учета):
1. создайте новый склад;
2. С помощью Uchoice.ert отберите документы по новой фирме где совмещен склад и установите новый;
3) Перепроведите документы за этот период.


Есть и другой вариант: можно переписать все подобные отчеты smile.gif


Signature
То, что для одного человека константа, для другого - переменная. (Алан.Дж.Перлис)

Спасибо сказали: inna.innainna84,

mister-x Подменю пользователя
сообщение 29.08.16, 16:00
Сообщение #3

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Використайте у виборці конструкцію
...ИспользоватьРазделительУчета(<РазделительУчета>)


Звичайно у формі звіту має здійснюватись вибір фірми.

Сообщение отредактировал mister-x - 29.08.16, 16:02

inna.innainna84 Подменю пользователя
сообщение 29.08.16, 20:58
Сообщение #4

Завсегдатай
****
Группа: Пользователи
Сообщений: 108
Спасибо сказали: 2 раз
Рейтинг: 0

mister-x @ Сегодня, 17:00 *,
Разделитель учета выставлен. Сам отчет не хочет формировать данные по конкретной фирме, формирует по всем не зависимо от выбраной фирмы.

mister-x Подменю пользователя
сообщение 30.08.16, 13:32
Сообщение #5

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Цитата(inna.innainna84 @ 29.08.16, 20:58) *
Разделитель учета выставлен.

я не бачу в коді звіту (вибірка по бух. запиту) викор. цієї конструкції, почитайте в синтакс-помічнику для чого вона використовується.

Sharzem Подменю пользователя
сообщение 30.08.16, 13:55
Сообщение #6

Оратор
Иконка группы
Группа: Местный
Сообщений: 298
Спасибо сказали: 98 раз
Рейтинг: 99.1

Цитата(mister-x @ 30.08.16, 14:32) *
я не бачу в коді звіту (вибірка по бух. запиту) викор. цієї конструкції


Думаю для користувача це проблема.
Пропоную Вам вставити необхідний код в потрібні місця та відмітити їх. Автор сам не впорається (є досвід).


Signature
То, что для одного человека константа, для другого - переменная. (Алан.Дж.Перлис)

mister-x Подменю пользователя
сообщение 31.08.16, 17:14
Сообщение #7

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Цитата(Sharzem @ 30.08.16, 13:55) *
Думаю для користувача це проблема.

тема створена в розділі для програмістів "каг-бе" icon_beer17.gif

inna.innainna84 Подменю пользователя
сообщение 14.09.16, 20:30
Сообщение #8

Завсегдатай
****
Группа: Пользователи
Сообщений: 108
Спасибо сказали: 2 раз
Рейтинг: 0

Извините пожалуйста, так кто нибудь сможет помочь?

logist Подменю пользователя
сообщение 14.09.16, 20:52
Сообщение #9

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

офф
Цитата(mister-x @ 31.08.16, 18:14) *
тема створена в розділі для програмістів "каг-бе"

Наверное надо создавать раздел "Помогите люди добрые, кто чем может"


Signature
Личные бесплатные консультации не даю, для этого есть форум!

inna.innainna84 Подменю пользователя
сообщение 14.09.16, 21:40
Сообщение #10

Завсегдатай
****
Группа: Пользователи
Сообщений: 108
Спасибо сказали: 2 раз
Рейтинг: 0

Ну наверно есть еще такие ребята которые могут безвозмездно помочь. спасибо им огромное.

logist Подменю пользователя
сообщение 14.09.16, 22:08
Сообщение #11

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Конечно есть. Только, что бы не вызывать подобные разговоры и сразу получить желаемый ответ, надо писать сразу - ребята, я ни в чем не разбираюсь, вот проблема, подправьте в коде, что бы работало так то.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

inna.innainna84 Подменю пользователя
сообщение 15.09.16, 20:05
Сообщение #12

Завсегдатай
****
Группа: Пользователи
Сообщений: 108
Спасибо сказали: 2 раз
Рейтинг: 0

logist @ Вчера, 23:08 * ,
Sharzem да вы правы
""""""В отчете ВыбФирма не отбирается. Выборка есть только по складам""""""
но не хотелось бы создавать множество складов и стыковать по ним остатки тмц.

logist ------Да я не разбираюсь в дописании 1с, и прошу помощи подправьте пожалуйста этот код с выборкой по фирме.

inna.innainna84 Подменю пользователя
сообщение 22.09.16, 23:29
Сообщение #13

Завсегдатай
****
Группа: Пользователи
Сообщений: 108
Спасибо сказали: 2 раз
Рейтинг: 0

Sharzem @ 28.08.16, 10:46 * ,
Эта программа Uchoice.ert только отбирает документы и нужно в ручную все менять?


Пожалуйста уж очень нравится этот отчет, если не тяжело исправте его. Выборка не через склад, а по фирме.

Sharzem Подменю пользователя
сообщение 23.09.16, 12:41
Сообщение #14

Оратор
Иконка группы
Группа: Местный
Сообщений: 298
Спасибо сказали: 98 раз
Рейтинг: 99.1

Если автор отчета (astonvilla), не предусмотрел разделить учет в этом отчете, то нет гарантии того что это вообще в конфигурации предусмотрено.

Я Вам пытаюсь донести что исправление только этого отчета не решит проблему.
Конфигурация Ваша скорее всего "самописка" и Вы даже понятия не имеете как там все устроено.
Поймите, Вам будет гораздо проще разделить места хранения чем "нарываться" в процессе дальнейшей работы на новые и новые проблемы.
Исправить отчет не тяжело, тяжело будет Вам потом, когда дойдет наконец-то что с самого начала у Вас организовано что-то неправильно.

Uchoice.ert - не только отбирает но и устанавливает реквизиты. Если это касается документов, то все измененные документы нужно будет после обработки перепровести, поскольку Uchoice.ert не изменяет значения регистров или проводок. Для перепроведения можно воспользоваться штатной обработкой Проведение документов (она правда перепроведет все выбранные виды, т.е. не только проведенные).


Signature
То, что для одного человека константа, для другого - переменная. (Алан.Дж.Перлис)

inna.innainna84 Подменю пользователя
сообщение 23.09.16, 17:14
Сообщение #15

Завсегдатай
****
Группа: Пользователи
Сообщений: 108
Спасибо сказали: 2 раз
Рейтинг: 0

Sharzem @ Сегодня, 13:41 * ,
Этот отчет нашла в нете и он мне очень нравится. Все остальное работает с разделителем учета (оборотки по счетам взаиморасчеты акты сверок и тд). Вы представляете сколько нужно будет дописывать документов, чтобы при создании нового дока при выборе фирмы выбирался другой склад, а не тот что по умолчанию, бух просто запутается в этих 7 складах. Это будет проблематично, чем просто исправить один отчет.

Cthulhu Подменю пользователя
сообщение 14.10.16, 16:53
Сообщение #16

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 224
Из: не ту страну назвали Гондурасом
Спасибо сказали: 83 раз
Рейтинг: 0

Ваша уверенность в том, что Вы верно оцениваете трудоемкость действия "просто исправить отчет" - умиляет.
не каждый отчет подходит к любой конфигурации. даже если он "очень красивый". я Вам даже больше скажу: чем "красивее" отчет тем он "привередливее" (ну совсем как девушки!), и тем меньше шансов на то, что он подойдет именно к Вашей конфигурации. Это я Вам как людовед, душелюб и программист - со всей ответственностью заявляю.
ещё раз. по слогам. "пригласите специалиста".

Спасибо сказали: inna.innainna84, logist,

inna.innainna84 Подменю пользователя
сообщение 17.10.16, 12:41
Сообщение #17

Завсегдатай
****
Группа: Пользователи
Сообщений: 108
Спасибо сказали: 2 раз
Рейтинг: 0

Cthulhu @ 14.10.16, 17:53 * ,
Спасибо всем. Я нашла нужный мне отчет.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

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