Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Анализ неликвидов!Невыводит цену и сумму по складам!1С 7.7
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Общий раздел > Корзина
vdv2008
Посмотрите и подскажите,почему не выводит сумму и цену в табл часть,если мы перебираем 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);
КонецЕсли;
КонецПроцедуры
Vofka
Это 100% не ТиС.
Автор, укажите правильную конфигурацию, чтоб переместили тему в правильный раздел. В другом случае - тема будет в ТЕМПе.
И вообще, читайте правила!
Zaval
Ну вот... плин, день начался - удалили именно ту ветку, в которую я успел ответить(

Чем заводить три ветки, лучше раз проверить свой код. Количество делить на количество - тут цена и рядом не валялась. И сравнить с нулем один раз достаточно.


Да, бухИтоги в ТиСе - это сильноsmile.gif
Batchir
Цитата(Zaval @ 26.03.10, 10:48) необходимо зарегистрироваться для просмотра ссылки
Ну вот... плин, день начался - удалили именно ту ветку, в которую я успел ответить(

Извиняюсь, не заметил.
Zaval
Да нет, спасибо, быстро почистилиsmile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.