8.х строки в таблице значений

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

  1. TopicStarter Overlay
    1Cnica
    Offline

    1Cnica Опытный в 1С

    Регистрация:
    13 фев 2009
    Сообщения:
    416
    Симпатии:
    0
    Баллы:
    26
    Всем привет!

    Помогите, пожалуйста.
    Таблица значений имеет следующие строки:

    Код:
      Проект                                               СуммаРеал          СумВозврата 
    1. Иванов Иван, Петров Михаил                15.000                 2.000   
    2. Иванов Иван                                          5.000                  500
    3. Петров Михаил                                           -                  1.500
    
    Надо сделать, чтобы при обходе таблицы циклом, можно было разбить двойные проекты (Иванов Иван, Петров Михаил) по отдельности и посчитать суммы. Для двойных проектов суммы разбиваются пополам и складываются с суммами для таких же проектов, но одиночных, то есть вид таблицы значений нужно привести к виду:

    Код:
      Проект                                 СуммаРеал         СумВозврата
    1. Иванов Иван                           12.500              1.250   
    3. Петров Михаил                          7.500              2.500
    
    Проект - тип СправочникСсылка.Проект
  2. TopicStarter Overlay
    1Cnica
    Offline

    1Cnica Опытный в 1С

    Регистрация:
    13 фев 2009
    Сообщения:
    416
    Симпатии:
    0
    Баллы:
    26
    вот вид проектов у нас, то есть фактически проект - это менегер (менегеры) по продажам

    Вложения:

    • 222.GIF
      222.GIF
      Размер файла:
      21,6 КБ
      Просмотров:
      13
  3. iliko
    Offline

    iliko Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    136
    Симпатии:
    0
    Баллы:
    26
  4. TopicStarter Overlay
    1Cnica
    Offline

    1Cnica Опытный в 1С

    Регистрация:
    13 фев 2009
    Сообщения:
    416
    Симпатии:
    0
    Баллы:
    26
    так точно.
  5. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.568
    Симпатии:
    717
    Баллы:
    204
    Я бы начал с того, что нашёл все строки с двойными фамилиями.
    путем ТЗ.НайтиСтроки();
    Пробежался бы по этим строкам и искал строки с одиночными фамилиями тем же методом. Суммы формировать - дело техники.
  6. iliko
    Offline

    iliko Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    136
    Симпатии:
    0
    Баллы:
    26
    Код:
     
    РезТаблица = ИсхТаблица.СкопироватьКолонки(); 
    
    Для Каждого СтрТабл из ИсхТаблица цикл 
    НазваниеПроекта = СтрТабл.Проект.Наименование; 
    МассивПроектов  = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(НазваниеПроекта,","); 
    КолПроектов      = МассивПроектов.Количество(); 
    
    Если КолПроектов > 0 тогда 
    СуммаРеал   =  СтрТабл.СуммаРеал    / КолПроектов; 
    СумВозврата =  СтрТабл.СумВозврата  / КолПроектов; 
    
    Для Каждого ЭлМассива из МассивПроектов цикл 
    НазваниеЭлемента = СокрЛП(ЭлМассива); 
    ОдиночныйПроектСсылка = Справочники.Проекты.НайтиПоНаименованию(НазваниеЭлемента, Истина);
    Если ОдиночныйПроектСсылка <> Справочники.Проекты.ПустаяСсылка() тогда 
    СтрРезТбл = РезТаблица.Добавить(); 
    СтрРезТбл.Проект = ОдиночныйПроектСсылка; 
    СтрРезТбл.СуммаРеал   =  СуммаРеал; 
    СтрРезТбл.СумВозврата =  СумВозврата; 
    КонецЕсли;	
    КонецЕсли;
    
    КонецЕсли;	
    КонецЦикла;	
    
    РезТаблица.Свернуть("Проект","СуммаРеал,СумВозврата");
    
    
    
  7. iliko
    Offline

    iliko Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    136
    Симпатии:
    0
    Баллы:
    26
    Т.е я конечно можно по разному реализовывать
    двойные тройные проекты
    но пользователям фиг вдолбишь как правильно

    т.е. надо было делать табличную часть для проектов
    и туда подтягивать менеджеров

    а проекты чтобы имели какое-то логическое название
    ---------------------------------------------------------------
    Т.е. очень много может быть ошибок
    Фамилию неправильно написали , запятую не поставили
    либо поставили две запятые
    с маленькой буквы написали и и.д.

    В приведенном коде этих ошибок я не учитывал
    тогда код сложнее будет и убдет дольше работать

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