Массив с номерами телефонов
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Показано с 1 по 2 из 2
  1. #1
    Гость форума

    Регистрация
    15.08.2014
    Сообщений
    2
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Массив с номерами телефонов

    Заменил вывод в макет добавлением сначала в массив для анализа и суммирования повторов:
    МассивНомерПрин.Добавить(Н омерПрин);
    МассивСуммаПрин.Добавить(С уммаПрин);
    // Оплата.Параметры.НомерПрин =НомерПрин;
    // Оплата.Параметры.СуммаПрин =СуммаПрин;
    Код:
      //Проходим по всем строчкам отчета
        [align=left] Для Н2 = 0 по МассивНомерАбонента.Количество()-1 Цикл
        НомерПрин="";
        НомерНеПрин="";
        Оплата.Параметры.НомерПрин="";
        Оплата.Параметры.НомерНеПрин ="";
        Оплата.Параметры.СуммаПрин="";
        Оплата.Параметры.СуммаНеПрин="";
        //////////////////////////////////////////////////////////////
        //Проверяем последний ли номер в списке номеров и последняя ли строчка с этим номером или по этому номеру будут еще начисления
        Если Н2<>0 Тогда
         
        Если МассивНомерАбонента[Н2]<>МассивНомерАбонента[Н2-1] ТогдаВладелецНомера.Параметры.НомерВладельца=МассивНомерАбонента[Н2];
        ///Сравниваем номера с ФИО владельца и выводим совпадения
        Для НВ = 0 по МассивНВладелец.Количество()-1 Цикл
        Если МассивНомерАбонента[Н2]=МассивНВладелец[НВ]Тогда
         
        Владелец=МассивВладелец[НВ];
         
        КонецЕсли;
        КонецЦикла;ВладелецНомера.Параметры.Владелец=Владелец;
        Владелец="";
        //////////////////////////////////////////////////////////
        Табдок.Вывести(ВладелецНомера);
         
         
        Иначе
        КонецЕсли;ИначеВладелецНомера.Параметры.НомерВладельца=МассивНомерАбонента[Н2];
        ///Сравниваем номера с ФИО владельца и выводим совпадения
        Для НВ = 0 по МассивНВладелец.Количество()-1 Цикл
        Если МассивНомерАбонента[Н2]=МассивНВладелец[НВ]Тогда
         
        Владелец=МассивВладелец[НВ];
         
        КонецЕсли;
        КонецЦикла;ВладелецНомера.Параметры.Владелец=Владелец;
        Владелец="";
         
        Табдок.Вывести(ВладелецНомера);
         
         
        КонецЕсли;
         
        //Проверяем платный номер или бесплатный
        Для Н = 0 по массивбесплатные.Количество()-1 Цикл
         
        Если МассивОписаниедействия[Н2]="Входящие" тогда
         
        Если МассивИнициаторЗвонка[Н2]=массивбесплатные[Н] тогда
         
        НомерПрин=МассивИнициаторЗвонка[Н2];
        СуммаПрин=МассивРазмерНачислений[Н2];
        НомерНеПрин="";
        СуммаНеПрин=0;
        Иначе
        Если НомерПрин="" тогдаНомерНеПрин=МассивИнициаторЗвонка[Н2];
        СуммаНеПрин=МассивРазмерНачислений[Н2];
        НомерПрин=""; //*
        СуммаПрин=0; //*
         
        КонецЕсли;
        // Сообщить("Платный");
         
        Конецесли;
         
        ИначеЕсли МассивОписаниедействия[Н2]="" ТогдаНомерПрин="Покупка контента";
        СуммаПрин=МассивРазмерНачислений[Н2];
        НомерНеПрин=""; //*
        СуммаНеПрин=0; //*
         
         
        Иначе
        Если МассивПринимающийНомер[Н2]=массивбесплатные[Н] тогда
         
         
        НомерПрин=МассивПринимающийНомер[Н2];
        СуммаПрин=МассивРазмерНачислений[Н2];
        НомерНеПрин="";
        СуммаНеПрин=0;
        Иначе
        Если НомерПрин="" тогда
         
        НомерНеПрин=МассивПринимающийНомер[Н2];
        СуммаНеПрин=МассивРазмерНачислений[Н2];
        НомерПрин="";
        СуммаПрин=0;
        Конецесли;
         
        // Сообщить("Платный");
         
        Конецесли;
         
        КонецЕсли;
         
         
        КонецЦикла;
         
        Если Число(СуммаПрин)<>0 Тогда МассивНомерПрин.Добавить(НомерПрин);
        МассивСуммаПрин.Добавить(СуммаПрин);
         
         
        // Оплата.Параметры.НомерПрин=НомерПрин;
        // Оплата.Параметры.СуммаПрин=СуммаПрин;
        КонецЕсли;
        // КонецЕсли;
        Если Число(СуммаНеПрин)<>0 Тогда
        МассивНомерНеПрин.Добавить(НомерНеПрин);
        МассивСуммаНеПрин.Добавить(СуммаНеПрин);
        // Оплата.Параметры.НомерНеПрин=НомерНеПрин;
        //Оплата.Параметры.СуммаНеПрин=СуммаНеПрин;
        КонецЕсли;
        ////////////////////////////////////////////////////////////////////////
        //Группируем значения массива бесплатных номеров по номерам
         
        Если Н2<>МассивНомерАбонента.Количество()-1 тогда
        Если МассивНомерАбонента[Н2]<>МассивНомерАбонента[Н2+1] Тогда
         
        ТекущийИндекс = 0;
        ВсегоЭлементов = МассивНомерПрин.Количество();
        Пока ТекущийИндекс < ВсегоЭлементовЦикл
        Индекс2 = ТекущийИндекс + 1;
        Пока Индекс2 < ВсегоЭлементовЦикл
        Если МассивНомерПрин[Индекс2] = МассивНомерПрин[ТекущийИндекс] Тогда МассивН=Число(МассивСуммаПрин[Индекс2])+Число(МассивСуммаПрин[ТекущийИндекс]);
        МассивСуммаПрин[ТекущийИндекс]=МассивН;
         
        МассивНомерПрин.Удалить(Индекс2);
        МассивСуммаПрин.Удалить(Индекс2);
        ВсегоЭлементов = ВсегоЭлементов - 1;
        Иначе
        Индекс2 = Индекс2 + 1;
        КонецЕсли;
        КонецЦикла; ТекущийИндекс = ТекущийИндекс + 1;
        КонецЦикла;
        КонецЕсли;КонецЕсли;
         
        ///////////////////////////////////////////////////////////////////////////////
        //Группируем значения массива платных номеров по номерам
         
        Если Н2<>МассивНомерАбонента.Количество()-1 тогда
        Если МассивНомерАбонента[Н2]<>МассивНомерАбонента[Н2+1] Тогда
         
        ТекущийИндекс = 0;
        ВсегоЭлементов = МассивНомерНеПрин.Количество();
         
        Пока ТекущийИндекс < ВсегоЭлементовЦикл
        Индекс2 = ТекущийИндекс + 1;
        Пока Индекс2 < ВсегоЭлементовЦикл
        Если МассивНомерНеПрин[Индекс2] = МассивНомерНеПрин[ТекущийИндекс] Тогда МассивН=Число(МассивСуммаНеПрин[Индекс2])+Число(МассивСуммаНеПрин[ТекущийИндекс]);
        МассивСуммаНеПрин[ТекущийИндекс]=МассивН;
         
        МассивНомерНеПрин.Удалить(Индекс2);
        МассивСуммаНеПрин.Удалить(Индекс2);
        ВсегоЭлементов = ВсегоЭлементов - 1;
        Иначе
        Индекс2 = Индекс2 + 1;
        КонецЕсли;
        КонецЦикла; ТекущийИндекс = ТекущийИндекс + 1;
        КонецЦикла;
        КонецЕсли;КонецЕсли;
         
         
        ////////////////////////////////////////////////////////////////////////
        Если Н2<>МассивНомерАбонента.Количество()-1 тогда
        Если МассивНомерАбонента[Н2]<>МассивНомерАбонента[Н2+1] Тогда
         
         
        Для Н10=0 по МассивНомерПрин.Количество()-1 цикл
        Если Число(СуммаПрин)<>0 Тогда
         
        Оплата.Параметры.НомерПрин=МассивНомерПрин[Н10];
        Оплата.Параметры.СуммаПрин=МассивСуммаПрин[Н10];
        //чистка
        Оплата.Параметры.НомерНеПрин="";
        Оплата.Параметры.СуммаНеПрин=0;
        Табдок.Вывести(Оплата);
         
        Сообщить(МассивНомерПрин[Н10]);
         
         
        КонецЕсли;
         
        конеццикла;Для Н10=0 по МассивНомерНеПрин.Количество()-1 цикл
        Если Число(СуммаНеПрин)<>0 Тогда
         
        Оплата.Параметры.НомерНеПрин=МассивНомерНеПрин[Н10];
        Оплата.Параметры.СуммаНеПрин=МассивСуммаНеПрин[Н10];
        //чистка
        Оплата.Параметры.НомерПрин="";
        Оплата.Параметры.СуммаПрин=0;
        Табдок.Вывести(Оплата);
         
        КонецЕсли;
        конеццикла;
         
        МассивНомерПрин.Очистить();
        МассивСуммаПрин.Очистить();
        МассивНомерНеПрин.Очистить();
        МассивСуммаНеПрин.Очистить();
        КонецЕсли;
        КонецЕсли;////////////////////////////////////////////////////
        Если СуммаПрин<>неопределено Тогда
         
        ИтогоПрин=ИтогоПрин2+СуммаПрин;
        ИтогоПрин2=ИтогоПрин;
         
        ИтогоПрин4=ИтогоПрин3+СуммаПрин;
        ИтогоПрин3=ИтогоПрин4;
        КонецЕсли;
        ИтогоНеПрин=ИтогоНеПрин2+СуммаНеПрин;
        ИтогоНеПрин2=ИтогоНеПрин;
         
        ИтогоНеПрин4=ИтогоНеПрин3+СуммаНеПрин;
        ИтогоНеПрин3=ИтогоНеПрин4;
         
         
        Если Н2<>0 Тогда
        Если Н2<>МассивНомерАбонента.Количество()-1 тогдаЕсли МассивНомерАбонента[Н2]<>МассивНомерАбонента[Н2-1] Тогда
         
         
        Если МассивНомерАбонента[Н2]<>МассивНомерАбонента[Н2+1] Тогда
         
        ИтогоПрин2=0;
        ИтогоНеПрин2=0;
        КонецЕсли;
        ИначеЕсли МассивНомерАбонента[Н2]<>МассивНомерАбонента[Н2+1] Тогда
         
        ИтогоПрин2=0;
        ИтогоНеПрин2=0;
        КонецЕсли;
         
        КонецЕсли; КонецЕсли;КонецЕсли;
         
        НомерПрин="";
        СуммаПрин=0;
        НомерНеПрин="";
        СуммаНеПрин=0;
         
        //////////////////////////////////////////////////////////////////
        Если ИтогоПрин<>неопределено Тогда
        Итоги.Параметры.ИтогоПрин=ИтогоПрин;
        Итоги.Параметры.ИтогоНеПрин=ИтогоНеПрин;
        Итоги.Параметры.НДСПрин=окр(ИтогоПрин/100*18,2);
        Итоги.Параметры.НДСНеПрин=окр(ИтогоНеПрин/100*18,2);
        Итоги.Параметры.ИтогоСНДСПрин=окр(ИтогоПрин+ИтогоПрин/100*18,2);
        Итоги.Параметры.ИтогоСНДСНеПрин=окр(ИтогоНеПрин+ИтогоНеПрин/100*18,2);
        КонецЕсли;
        /////////////////////////////////////////////////////////////////////////
        //////////////////////////////////////////////////////////////
        //Проверяем последний ли номер в списке номеров и последняя ли строчка с этим номером или по этому номеру будут еще начисления
        /// И подводит итоги по суммам по каждому номеру
        Если Н2<>0 Тогда
        Если Н2<>МассивНомерАбонента.Количество()-1 тогдаЕсли МассивНомерАбонента[Н2]<>МассивНомерАбонента[Н2+1] ТогдаТабдок.Вывести(Итоги);
        Иначе
        КонецЕсли;ИначеТабдок.Вывести(Итоги);
         
        КонецЕсли;
        КонецЕсли;КонецЦикла;[/align]

  2. #2
    Гость форума

    Регистрация
    15.08.2014
    Сообщений
    2
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию

    И выводит теперь не все значения, в чем загвоздка не знаю(( когда построчный вывод делал, все нормально былоОтчет3.JPG

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •