7.7 отчет по маршрутам

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем anton, 8 июн 2010.

  1. TopicStarter Overlay
    anton
    Offline

    anton Опытный в 1С

    Регистрация:
    3 авг 2009
    Сообщения:
    187
    Симпатии:
    0
    Баллы:
    26
    Привет, тут делал отчет на работе для реализатора по маршрутам но проблема в том что ему не понравилось количество номенклатуры в него поподающем подскажите как ограничить выход переменной "товар" только по определенному коду номенклатуры???

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

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Код:
    
    РасхНакл.ВыбратьСтроки();		
    Пока РасхНакл.ПолучитьСтроку() = 1 <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/цикл')">Цикл	</span>
    Товар = РасхНакл.Товар;			
    //накладываем условие здесь
    Если ПустоеЗначение(УсловиеТовар)=0 Тогда
    Если УсловаиеТовар.ЭтоГруппа()=0 Тогда
    Если Товар<>УсловиеТовар Тогда
    Продолжить;
    КонецЕсли;
    Иначе
    Если Товар.ПринадлежитГруппе(УсловиеТофар)=0 Тогда
    Продолжить;
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    Количество = РасхНакл.Количество;	
    НомерТовараВСписке = СписокТовара.НайтиЗначение(Товар);	
    Если НомерТовараВСписке = 0 Тогда
    СписокТовара.ДобавитьЗначение(Товар);		
    Колонка = ТЗ.НоваяКолонка(,"Число",,,""+Товар);
    ТЗ.УстановитьЗначение(Стр,Колонка,Количество);		
    <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/иначе')">Иначе				</span>
    Кол = ТЗ.ПолучитьЗначение(Стр,НомерТовараВСписке+2);
    ТЗ.УстановитьЗначениеСтр,НомерТовараВСписке+2,Кол+Количество);
    КонецЕсли;				
    КонецЦикла;		
    
    
  3. TopicStarter Overlay
    anton
    Offline

    anton Опытный в 1С

    Регистрация:
    3 авг 2009
    Сообщения:
    187
    Симпатии:
    0
    Баллы:
    26
    ага спасибо сейчас попробую!
  4. TopicStarter Overlay
    anton
    Offline

    anton Опытный в 1С

    Регистрация:
    3 авг 2009
    Сообщения:
    187
    Симпатии:
    0
    Баллы:
    26
    ну вот все получилось только я немного упрастил ситуацию вот так еще немогу понять почему у меня при печати лист как бы делится на две части должен в колонку печатать а он эту калонку разрывает!!!

    Вложения:

  5. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Приведите скриншот...
    Непонятно как рвет
  6. TopicStarter Overlay
    anton
    Offline

    anton Опытный в 1С

    Регистрация:
    3 авг 2009
    Сообщения:
    187
    Симпатии:
    0
    Баллы:
    26
    при печати выходит вот так вот это одна из страниц я все параметры печати излазил нифига не помогло!!!

    Вложения:

  7. TopicStarter Overlay
    anton
    Offline

    anton Опытный в 1С

    Регистрация:
    3 авг 2009
    Сообщения:
    187
    Симпатии:
    0
    Баллы:
    26
    все вопрос решился спасибо!!!

Поделиться этой страницей