Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Анализ неликвидов!Невыводит цену и сумму по складам!1С 7.7, Анализ неликвидов. П  (Прочитано 6402 раз)
0 Пользователей и 1 Гость смотрят эту тему.
vdv2008
Гость
« : 31-03-2010 13:23 » 

Посмотрите и подскажите,почему не выводит сумму и цену в табл часть,если мы перебираем 1 из складов?
Что возможно сделать в этой ситуации?Заранее спасибо!

//*******************************************
Процедура Сформировать()


Перем Заг, СписокСчетов, Ит;
Перем НачДолг,КонДолг,СуммаНеликвидов;
перем ЦенаНеликвида, СуммаНеликвида;
//Создание объекта типа Запрос
Заг="На дату: "+Строка(ДатаКонца)+". За "+Строка(КолДней)+" дней";// Заголовок дата на 270 дней

Таб = СоздатьОбъект("Таблица");//Создание объекта Таблица
Таб.ИсходнаяТаблица("Неликвиды");//Исход Таб Неликвиды
Ит = СоздатьОбъект("БухгалтерскиеИтоги");// Объект БИ
СписокСчетов=СоздатьОбъект("СписокЗначений");// Объект СписокЗначений
СуммаНеликвидов=0;

Если ВыбВидОтчета=1 Тогда //выбор вида отчета(список счетов)

Заг="По товарам. Счета:";
СписокСчетов.ДобавитьЗначение(СчетПоКоду("41.1")); // добавляем счет 41.1
СписокСчетов.ДобавитьЗначение(СчетПоКоду("41.7"));
СписокСчетов.ДобавитьЗначение(СчетПоКоду("41.8"));
Ит.ИспользоватьСубконто(ВидыСубконто.Номенклатура, ВыбТовар, 1); //выбираем товар из ВидСубконто Номенклатура

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


Если ВыбСч10_1=1 Тогда //выбран счет 10.1
СписокСчетов.ДобавитьЗначение(СчетПоКоду("10.1"));//добаляем знчение счета 10.1
КонецЕсли;
Если ВыбСч10_5=1 Тогда //выбран счет 10.5
СписокСчетов.ДобавитьЗначение(СчетПоКоду("10.5")); //добаляем знчение счета 10.5
КонецЕсли;

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

Если (Ит.СНД("К")>0) И (Ит.СКД("К")>0) Тогда
Ит.ВыбратьКорСчета();
Расход = 0;
КолНеликвида = 0;
ЦенаНеликвида = 0;
СуммаНеликвида = 0;
Пока Ит.ПолучитьКорСчет()=1 Цикл
Если Ит.КорСчет=СчетПоКоду("10") Тогда
Продолжить;
КонецЕсли;
Расход=Расход+Ит.КорКО("К");
КонецЦикла;
Если Расход<Ит.СКД("К") Тогда
КолНеликвида = Ит.СКД("К")-Расход;
ЦенаНеликвида = Ит.СКД("K")/Ит.СКД("К");
СуммаНеликвида = ЦенаНеликвида*КолНеликвида;
КонецЕсли;
Если КолНеликвида<=0 Тогда
Продолжить;
КонецЕсли;
СуммаНеликвидов=СуммаНеликвидов+СуммаНеликвида;
Таб.ВывестиСекцию("Товар");
Если (ПоказатьСчет=1) И (ВыбВидОтчета=1) Тогда
Док = СоздатьОбъект("Документ.Счет");
Док.ОбратныйПорядок(1);
Док.ВыбратьДокументы(,ДатаКонца);
ЕстьТовар = 0;
Пока Док.ПолучитьДокумент()=1 Цикл
Док.ВыбратьСтроки();
Пока Док.ПолучитьСтроку()=1 Цикл
Если Док.Товар=Товар Тогда
ЕстьТовар = 1;
Прервать;
КонецЕсли;
КонецЦикла;
Если ЕстьТовар=1 Тогда
Прервать;
КонецЕсли;
КонецЦикла;
Если ЕстьТовар=1 Тогда
Таб.ВывестиСекцию("Счет");
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;

Таб.ВывестиСекцию("Итоги");
Таб.Опции(0,0,4,,"Неликвиды","ОкноНеликвиды",0);
Таб.ТолькоПросмотр(1);
Таб.Показать("Анализ неликвидов товаров (материалов)","");
КонецПроцедуры
//}}БУХГАЛТЕРСКИЙ ЗАПРОС

Процедура ПриОткрытии()
ВыбСклад = глЗначениеПоУмолчанию("ОсновнойСклад");
ВыбСч10_1=1;
ВыбСч10_5=1;
ВыбВидОтчета=2;
ДатаКонца = ТекущаяДата();
КолДней = 270;
КонецПроцедуры


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

Процедура ВыбратьТовар(Реж)
Перем Фрм;
Перем Тек;

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

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 08-04-2010 09:51 » new

Если вопрос еще актуальный - то сначала отформатируй код и используй [code]...[/code]
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines