Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
12 Дек 2017, 07:55
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Массив с номерами телефонов  (Прочитано 1746 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Николай

  • *
  • Сообщений: 28
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-09-13
  • Сайт: 
В отчет из массива выводятся данные только по одной из колонок, либо принятой либо непринятой сумме и номеру:
 
        
             Если  МассивНомерАбонента[Н2]<>МассивНомерАбонента[Н2+1]  Тогда
                               Для Н10=0 по МассивНомерПрин.Количество()-1 цикл
                     Если Число(СуммаПрин)<>0  Тогда
                 Оплата.Параметры.НомерПрин=МассивНомерПрин[Н10];
              Оплата.Параметры.СуммаПрин=МассивСуммаПрин[Н10];
             Табдок.Вывести(Оплата);
                         Сообщить(МассивНомерПрин[Н10]);
                         КонецЕсли;
                       конеццикла;
         Для Н10=0 по МассивНомерНеПрин.Количество()-1 цикл
                        Если Число(СуммаНеПрин)<>0  Тогда
                      Оплата.Параметры.НомерНеПрин=МассивНомерНеПрин[Н10];
                            Оплата.Параметры.СуммаНеПрин=МассивСуммаНеПрин[Н10];
                             Табдок.Вывести(Оплата);
                                              КонецЕсли;
                 конеццикла;
                          МассивНомерПрин.Очистить();
                         МассивСуммаПрин.Очистить();
                         МассивНомерНеПрин.Очистить();
                         МассивСуммаНеПрин.Очистить();
              КонецЕсли;
     


Оффлайн Николай

  • *
  • Сообщений: 28
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-09-13
  • Сайт: 
Красным обвел места куда не выводятся почему-то значения. Ссылка на скриншот https://yadi.sk/i/WqU6sjtmZbQkW

Оффлайн LexaK

  • *****
  • Сообщений: 1267
  • РЕПУТАЦИЯ: 347
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
какая-то корявая у вас программа, но ошибка в следующем, когда готовите строку для вывода, надо заполнять ВСЕ поля!!! даже если они пустые!!! так как там могут остаться данные от предыдущего заполнения, поэтому ваш код надо поправить следующим образом, добавить очистку полей.
пример:

Для Н10=0 по МассивНомерПрин.Количество()-1 цикл
Если Число(СуммаПрин)<>0  Тогда
Оплата.Параметры.НомерПрин=МассивНомерПрин[Н10];
Оплата.Параметры.СуммаПрин=МассивСуммаПрин[Н10];
//чистка
Оплата.Параметры.НомерНеПрин="";
Оплата.Параметры.СуммаНеПрин=0;
Табдок.Вывести(Оплата);
Сообщить(МассивНомерПрин[Н10]);
КонецЕсли;
конеццикла;

Для Н10=0 по МассивНомерНеПрин.Количество()-1 цикл
Если Число(СуммаНеПрин)<>0  Тогда
Оплата.Параметры.НомерНеПрин=МассивНомерНеПрин[Н10];
Оплата.Параметры.СуммаНеПрин=МассивСуммаНеПрин[Н10];
//чистка
Оплата.Параметры.НомерПрин="";
Оплата.Параметры.СуммаПрин=0;
Табдок.Вывести(Оплата);
КонецЕсли;
конеццикла;

Попробуйте должно помочь.
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн Николай

  • *
  • Сообщений: 28
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-09-13
  • Сайт: 
Очистку полей я делаю при заполнении массивов значениями из колонок табличного поля. Если делал вывод построчно без массива то все работало нормально. Но массив понадобился для суммирования по одинаковым номерам. Тоесть там где я делал  // Оплата.Параметры.НомерНеПрин=НомерНеПрин;
            //Оплата.Параметры.СуммаНеПрин=СуммаНеПрин;
я поставил              МассивНомерНеПрин.Добавить(НомерНеПрин);
                        МассивСуммаНеПрин.Добавить(СуммаНеПрин); 
теперь же не могу из массива эти записи грамотно вывести, вот в чем проблема... Прикрепил же скриншот, у меня же не пустые значения не выводятся, а суммы, которые в поле "итого". Для первой строки не выводится например 0,55

Оффлайн LexaK

  • *****
  • Сообщений: 1267
  • РЕПУТАЦИЯ: 347
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
отсортируйте таблицу по телефонам и ни какие массивы не нужны
а Сумму Итог по телефону накапливаете в цикле, как все нормальные люди делают, смотри примеры в стандартной печати документов,
или используйте итоги в запросе, тогда соответственно обход запроса по группировкам без подсчета итоговых сумм.
(если это для вас не слишком сложно)

пример итогового суммирования
...
СуммаПринИтогПоТелефону = СуммаПринИтогПоТелефону + СтрокаТаблицы.СуммаПрин
СуммаНеПринИтогПоТелефону = СуммаНеПринИтогПоТелефону + СтрокаТаблицы.СуммаНеПрин
...

 
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн Николай

  • *
  • Сообщений: 28
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-09-13
  • Сайт: 
Во первых СуммаПринИтогПоТелефону = СуммаПринИтогПоТелефону + СтрокаТаблицы.СуммаПрин работать не будет, это вам не С++. Для этих целей нужна промежуточная переменная.
А теперь вернемся к проблеме, таблица из трех колонок, ТелефоныАбонентов, ВходящиеТелефоны и Исходящие телефоны. Так как обход я делаю по первой колонке а выбираю в массивы значения из второй или из третьей в зависимости от: Входящий звонок или Исходящий, то сортировать до отбора я не могу, а могу только после обхода и группировке по ТелефоныАбонентов.
Добавлено: 15 Авг 2014, 09:00

Что нет никаких мыслей больше?

Последний раз редактировалось: Николай; 15 Авг 2014, 09:00. Причина: Объединение сообщений

Оффлайн TreeDogNight

  • ***
  • Сообщений: 202
  • РЕПУТАЦИЯ: 28
  • КПД: 14%
  • Регистрация: 2013-10-16
    • Skype: treedognight3
  • Сайт: www.avars.uz
  • Профессия: Программист 1С
Во первых СуммаПринИтогПоТелефону = СуммаПринИтогПоТелефону + СтрокаТаблицы.СуммаПрин работать не будет, это вам не С++. Для этих целей нужна промежуточная переменная.
Так в чём же проблема создать эту промежуточную переменную?
ПромежуточнаяПеременная = 0;
Cегодня не все могут провести завтрашним числом. Вернее, не только лишь все - мало кто может это сделать.


Теги:
 

Массив, Таблица значений и Список значений

Автор Константин163Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 7
Просмотров: 5813
Последний ответ 25 Мар 2015, 16:02
от cska-fanat-kz
Как отлаживать запросы в консоли запросов, в которые нужно передавать массив?

Автор DirecTwiXРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3105
Последний ответ 26 Апр 2012, 10:28
от cska-fanat-kz
сделать из числа символьный массив (есть ли функция)

Автор Игорь1cРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 2278
Последний ответ 04 Дек 2014, 12:41
от Luzer1C
Не удается избавиться от ошибки если массив пустой

Автор ktu78Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 839
Последний ответ 19 Янв 2016, 09:09
от ktu78
Ссылка на файл или массив как параметр сеанса

Автор LeviathanРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 1759
Последний ответ 21 Июн 2011, 12:27
от cska-fanat-kz

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
167 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
28 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 359
  • Точка Скрытых: 0
  • Точка Пользователей: 8
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal