7.7 Сортировка по контрагенту

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

  1. TopicStarter Overlay
    anton
    Offline

    anton Опытный в 1С

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

    Код:
    Покуп.сортировать("Покупатель");
    
    или
    Код:
    Покуп.сортировать("Контрагенты");
    
    но только куда бы я его не добовлял, при формировании отчета у меня ошибка вылазиет...

    подскажите как правильно задать сортировку и вообше в правельную ли стороно я пошол

    Вложения:

  2. x-a-d
    Offline

    x-a-d Опытный в 1С

    Регистрация:
    3 сен 2009
    Сообщения:
    184
    Симпатии:
    0
    Баллы:
    26
    обработку выложенную я смотреть не стал, НО:
    в 7-ке сортировка работает только для простых типов: типа дата, строка, число.
    поэтому если надо отсортировать контрагнетов, то сортируйте по коду, либо по наименованию.
    если надо сделать сортировку по какому то полю, у которого агрегатный тип, то методика приблизительно такая: делается таблица значений, туда выгружаются данные, которые необходимо обработать, добавляется колонка "наименование" или "код" и по вашему агрегатному типу заполняется эта колонка (наименование или код, то что Вам надо для сортировки ), после чего по данной колонке можно сделать сортировку.
  3. TopicStarter Overlay
    anton
    Offline

    anton Опытный в 1С

    Регистрация:
    3 авг 2009
    Сообщения:
    187
    Симпатии:
    0
    Баллы:
    26
    я приблизительно понял но в тоже время без примера не разберусь я не слишком то опытен в написании кодов по 1 с
  4. x-a-d
    Offline

    x-a-d Опытный в 1С

    Регистрация:
    3 сен 2009
    Сообщения:
    184
    Симпатии:
    0
    Баллы:
    26
    1. Покуп.сортировать("Покупатель");
    а) что такое "Покуп" - не вижу объявления переменной. и на форме не вижу такую переменную.
    б) метод "сортировать" можно использовать к списку значений либо к таблице значений
    2. у вас выборка построена по документам. где там собираетесь использовать сортировку по контрагентам?

    Совет:
    раз делаете выборку и формируете отчет, то делайте выгрузку данных в таблицу значений, где заодно создайте колонку с наименованием по контрагенту. Например ТЗ из двух колонок "Документ", и "Наименование" Контрагента. После чего можете отсортировать по контрагенту и уже обрабатывать ваши документы из ТЗ. Если кроме сортировки Вам важен порядок документов по Дате и нумерации, тоже это учитывайте при сортировке.
  5. TopicStarter Overlay
    anton
    Offline

    anton Опытный в 1С

    Регистрация:
    3 авг 2009
    Сообщения:
    187
    Симпатии:
    0
    Баллы:
    26
    Код:
    Покуп=Табл.ПолучитьЗначение(Табл.НомерСтроки,1); 
    
    я же говорю я понял принцып только вот без примера не разберусь!!!!
    если я правельно понял что нужно создать таблицу значений туда все загрузить там отсортировать а потом расставить значения уже по печатной форме!!! ???? :smile:
    не обежайтесь за то чтоя вас донимаю ну не умею я еще нормально еодить логика работает а руки еще нет!!!! :unsure:
  6. x-a-d
    Offline

    x-a-d Опытный в 1С

    Регистрация:
    3 сен 2009
    Сообщения:
    184
    Симпатии:
    0
    Баллы:
    26
    Код:
        
    ТЗ = СоздатьОбъект("ТаблицаЗначений");
    ТЗ.НоваяКолонка("назвКлиента", "Строка"); //будем сортировать по наименованию
    ТЗ.НоваяКолонка("Документ", "Документ");
    
    //заполним ТЗ перед выводом информации
    //организуйте выборку документов как вам надо
    //пример выборки из запроса
    Пока Запрос.Группировка("Док") = 1 Цикл
    Если  //ваши  условия нужен вам док этот или нет
    Тогда
    ТЗ.НоваяСтрока();
    //будем сортировать по наименованию
    ТЗ.назвКлиента = Запрос.Док.Контрагент.Наименование;  
    ТЗ.Документ = Запрос.Док;
    КонецЕсли;
    КонецЦикла;
    
    //упорядочим таблицу по контрагентам перед выводом на печать
    ТЗ.Сортировать("+назвКлиента"); 
    
    
    
    Далее делайте выборку ТЗ и делайте с документами что хотите.
  7. TopicStarter Overlay
    anton
    Offline

    anton Опытный в 1С

    Регистрация:
    3 авг 2009
    Сообщения:
    187
    Симпатии:
    0
    Баллы:
    26
    я же просил без запроса!!!
    ну это мне все равно помагло я сделал так
    Но вот некоторые данные в ячейки перестали поподать тоесть они остаются пустыми почему
    так подскажите где ошибка!!???!!! и как надо сделать!!!???!
    Код:
    //_____________________________________________________________________________
    Процедура Сформировать()  
    Таб=СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("");
    Ном=СоздатьОбъект("Справочник.Номенклатура");
    Ном.НайтиПоКоду("000000039",0);
    Ном1=СоздатьОбъект("Справочник.Номенклатура");
    Ном1.НайтиПоКоду("000000040",0);
    Ном2=СоздатьОбъект("Справочник.Номенклатура");
    Ном2.НайтиПоКоду("000000012",0); 
    Ном3=СоздатьОбъект("Справочник.Номенклатура");
    Ном3.НайтиПоКоду("000020080",0);
    Ном4=СоздатьОбъект("Справочник.Номенклатура");
    Ном4.НайтиПоКоду("000020025",0);
    Табл=СоздатьОбъект("ТаблицаЗначений");
    Табл.НоваяКолонка("Клиент","Справочник.Контрагенты");   
    Табл.НоваяСтрока(); 
    Док=СоздатьОбъект("Документ.РасходнаяНакладная");   
    Док.ВыбратьДокументы(НачДата,КонДата);
    Пока Док.ПолучитьДокумент()=1 Цикл
    Если Док.ПРоведен()=0 Тогда
    Продолжить;
    КонецЕсли;              
    Стр="";
    Если Табл.НайтиЗначение(Док.Контрагент,Стр,1)=0 Тогда                 
    Табл.НоваяСтрока(); 
    Табл.Клиент=Док.Контрагент;
    Стр=Табл.КоличествоСтрок(); 
    Табл.Сортировать("Клиент");
    КонецЕсли; 
    Док.ВыбратьСтроки();                                      
    Пока Док.ПолучитьСтроку()=1 Цикл
    Если (Док.Товар.ПринадлежитГруппе(Ном.ТекущийЭлемент())=0) И (Док.Товар.ПринадлежитГруппе(Ном1.ТекущийЭлемент())=0) И (Док.Товар.ПринадлежитГруппе(Ном2.ТекущийЭлемент())=0) 
    И (Док.Товар.ПринадлежитГруппе(Ном3.ТекущийЭлемент())=0) И (Док.Товар.ПринадлежитГруппе(Ном4.ТекущийЭлемент())=0)Тогда
    Продолжить;
    КонецЕсли;
    СчКол="";
    До=Лев(Док.ДатаДок,5);
    ДокДата=Лев(До,2)+Прав(До,2);
    ПредКол="К"+ДокДата; //+"Т"+Док.Товар.Код;
    Если Табл.НайтиЗначение(ПредКол,1,СчКол)=0 Тогда
    СчКол=Табл.КоличествоКолонок()+1;
    
    Табл.НоваяКолонка(ПредКол); 
    Табл.УстановитьЗначение(1,СчКол,ПредКол);
    Табл.УстановитьЗначение(Стр,СчКол,Док.Количество);
    Иначе
    Значен=Табл.ПолучитьЗначение(Стр,СчКол);
    Табл.УстановитьЗначение(Стр,СчКол,Значен+Док.Количество);
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;    
    Табл.ВыбратьСтроки();
    Пока Табл.ПолучитьСтроку()=1 Цикл
    Если Табл.НомерСтроки=1 Тогда
    ДатаСр=Табл.ПолучитьЗначение(1,2);
    ДатаСр=Лев(ДатаСр,5);
    ДатаСр=Прав(ДатаСр,4);
    Таб.ВывестиСекцию("Стр1|Кол1");
    Для СчКол=2 По Табл.КоличествоКолонок() Цикл
    ДатСр=Табл.ПолучитьЗначение(1,СчКол);
    ДатСр=Лев(ДатСр,5);
    ДатСр=Прав(ДатСр,4);
    Если (ДатаСр<>ДатСр) Или (СчКол=2) Тогда 
    ДатОтгр=ДатСр;
    Таб.ПрисоединитьСекцию("Стр1|Кол2");
    ИначеЕсли СчКол=Табл.КоличествоКолонок() Тогда
    Таб.ПрисоединитьСекцию("Стр1|Кол4");
    Иначе
    Таб.ПрисоединитьСекцию("Стр1|Кол3");
    КонецЕсли;
    ДатаСр=ДатСр;
    КонецЦикла;
    КонецЕсли;                     
    Покуп=Табл.ПолучитьЗначение(Табл.НомерСтроки,1);  
    Таб.ВывестиСекцию("Строка|Кол1");  
    КолИтого=0;
    Для СчКол=2 По Табл.КоличествоКолонок() Цикл
    Если Табл.НомерСтроки=1 Тогда
    Код=Табл.ПолучитьЗначение(Табл.НомерСтроки,СчКол);
    Дл1=СтрДлина(Код);
    Дл=Найти(Код,"Т");
    Ном.НайтиПоКоду(Прав(Код,Дл1-Дл),0);
    Номк=Ном.ТекущийЭлемент().Наименование;
    Иначе
    Номк=Табл.ПолучитьЗначение(Табл.НомерСтроки,СчКол);
    КолИтого=КолИтого+Номк;
    КонецЕсли;
    Таб.ПрисоединитьСекцию("Строка|Кол2");
    КонецЦикла;
    Номк=КолИтого;    
    Таб.ПрисоединитьСекцию("Строка|Кол2");
    КонецЦикла;                                   
    Покуп="Итого";
    Табл.УдалитьСтроку(1);
    Таб.ВывестиСекцию("Строка|Кол1");
    Для СчКол=2 По Табл.КоличествоКолонок() Цикл
    Номк=0;
    Для СчСтр=1 По Табл.КоличествоСтрок() Цикл
    Номк=Номк+Табл.ПолучитьЗначение(СчСтр,СчКол);
    КонецЦикла;
    Таб.ПрисоединитьСекцию("Строка|Кол2"); 
    НаименованиеХлеба = ("Клиент");
    КонецЦикла;     
    Таб.ТолькоПросмотр(1);
    Таб.Опции(0,0,2,1);
    Таб.Показать("");      
    КонецПроцедуры  
    //_____________________________________________________________________________
    Процедура ПриОткрытии()
    НачДата=НачалоПериодаБИ();
    КонДата=КонецПериодаБИ();
    КонецПроцедуры
    
    
  8. Бухгалтерский угодник
    Online

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Считаю принциписально не верный подход...
    Вы добавили строку и потом добавляете колонки со значениями...
    Надо наоборот
    Код:
    Табл.НоваяКолонка("Клиент","Справочник.Котнрагенты"); 
    Табл.НоваяКолонка("Знач","Число",10,2); 
    ......
    а=0;
    Если Табл.НайтиЗначение(ПредКол,а,"Контрагент")=0 Тогда 
    Табл.НоваяСтрока();                 
    Табл.Клиент=ПредКол;
    Иначе                
    Табл.ПолучитьСтрокуПоНомеру(а);
    Табл.Знач=  Табл.Знач+Док.Количество;
    КонецЕсли;
    ....
    КонецЦикла;
    Табл.Сортировать("Контрагент");
    Табл.ВыбратьСтроки();    
    Пока Табл.ПолучитьСтроку()=1 Цикл        
    ...
    
    
    
  9. TopicStarter Overlay
    anton
    Offline

    anton Опытный в 1С

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

    Табл.УстановитьЗначение(Стр,СчКол,Док.Количество);
    {D:\ПАПКА ОБМЕНА\КОПИЯ ОТЧЕТ АГЕНТА ПО ПРОДАЖАМ ЗА ПЕРИОД.ERT(57)}: Номер за пределами значения!

    Код:
    Процедура Сформировать()   
    а=0;  
    ПредКол=0;
    Таб=СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("");
    Ном=СоздатьОбъект("Справочник.Номенклатура");
    Ном.НайтиПоКоду("000000039",0);
    Ном1=СоздатьОбъект("Справочник.Номенклатура");
    Ном1.НайтиПоКоду("000000040",0);
    Ном2=СоздатьОбъект("Справочник.Номенклатура");
    Ном2.НайтиПоКоду("000000012",0); 
    Ном3=СоздатьОбъект("Справочник.Номенклатура");
    Ном3.НайтиПоКоду("000020080",0);
    Ном4=СоздатьОбъект("Справочник.Номенклатура");
    Ном4.НайтиПоКоду("000020025",0);
    Табл=СоздатьОбъект("ТаблицаЗначений");
    Табл.НоваяКолонка("Клиент","Справочник.Контрагенты");   
    Табл.НоваяКолонка("Знач","Число",10,2);
    Табл.НоваяСтрока();  
    Док=СоздатьОбъект("Документ.РасходнаяНакладная");   
    Док.ВыбратьДокументы(НачДата,КонДата);
    Пока Док.ПолучитьДокумент()=1 Цикл
    Если Док.ПРоведен()=0 Тогда
    Продолжить;
    КонецЕсли;              
    
    Если Табл.НайтиЗначение(ПредКол,а,"Клиент")=0 Тогда 
    Табл.НоваяСтрока();                 
    Табл.Клиент=ПредКол;
    Иначе                
    Табл.ПолучитьСтрокуПоНомеру(а);
    Табл.Знач= Табл.Знач+Док.Количество;
    КонецЕсли;
    
    Стр="";
    //Если Табл.НайтиЗначение(Док.Контрагент,Стр,1)=0 Тогда     			
    //    Табл.НоваяСтрока(); 
    //	Табл.Клиент=Док.Контрагент;
    //	Стр=Табл.КоличествоСтрок(); 
    //КонецЕсли; 
    Док.ВыбратьСтроки();                                      
    Пока Док.ПолучитьСтроку()=1 Цикл
    Если (Док.Товар.ПринадлежитГруппе(Ном.ТекущийЭлемент())=0) И (Док.Товар.ПринадлежитГруппе(Ном1.ТекущийЭлемент())=0) И (Док.Товар.ПринадлежитГруппе(Ном2.ТекущийЭлемент())=0) 
    И (Док.Товар.ПринадлежитГруппе(Ном3.ТекущийЭлемент())=0) И (Док.Товар.ПринадлежитГруппе(Ном4.ТекущийЭлемент())=0)Тогда
    Продолжить;
    КонецЕсли;
    СчКол="";
    До=Лев(Док.ДатаДок,5);
    ДокДата=Лев(До,2)+Прав(До,2);
    ПредКол="К"+ДокДата; //+"Т"+Док.Товар.Код;
    Если Табл.НайтиЗначение(ПредКол,1,СчКол)=0 Тогда
    СчКол=Табл.КоличествоКолонок()+1;
    
    Табл.НоваяКолонка(ПредКол); 
    Табл.УстановитьЗначение(1,СчКол,ПредКол);
    Табл.УстановитьЗначение(Стр,СчКол,Док.Количество);
    Иначе
    Значен=Табл.ПолучитьЗначение(Стр,СчКол);
    Табл.УстановитьЗначение(Стр,СчКол,Значен+Док.Количество);
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;
    Табл.Сортировать("Клиент");
    Табл.ВыбратьСтроки();
    Пока Табл.ПолучитьСтроку()=1 Цикл
    Если Табл.НомерСтроки=1 Тогда
    ДатаСр=Табл.ПолучитьЗначение(1,2);
    ДатаСр=Лев(ДатаСр,5);
    ДатаСр=Прав(ДатаСр,4)
    
  10. Бухгалтерский угодник
    Online

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Код:
    Табл=СоздатьОбъект("ТаблицаЗначений");
    Табл.НоваяКолонка("Клиент","Справочник.Контрагенты");       
    Табл.НоваяКолонка("Знач","Число",10,2);	
    Табл.НоваяСтрока();  //УБРАТЬ!
    
    
    +
    Там где НайтиЗначение все не так.... Смотрите внимательнее
  11. TopicStarter Overlay
    anton
    Offline

    anton Опытный в 1С

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

    anton Опытный в 1С

    Регистрация:
    3 авг 2009
    Сообщения:
    187
    Симпатии:
    0
    Баллы:
    26
    если вот так вот то формирует но ичеки с данными остаются пустыми там горит 0
    а контрагенты по порядку только через 10 листов!!! :unsure:
    Код:
    	Табл.НоваяКолонка("Клиент","Справочник.Контрагенты");   
    Табл.НоваяКолонка("Знач","Число",10,2);
    Док=СоздатьОбъект("Документ.РасходнаяНакладная");   
    Док.ВыбратьДокументы(НачДата,КонДата);
    Пока Док.ПолучитьДокумент()=1 Цикл
    Если Док.ПРоведен()=0 Тогда
    Продолжить;
    КонецЕсли;              
    //Если Табл.НайтиЗначение(ПредКол,а,"Клиент")=0 Тогда 
    //       Табл.НоваяСтрока();                 
    //       Табл.Клиент=ПредКол;
    //   Иначе                
    //      Табл.ПолучитьСтрокуПоНомеру(а);
    //	  Табл.Знач= Табл.Знач+Док.Количество;
    //КонецЕсли;
    Стр="";
    Если Табл.НайтиЗначение(Док.Контрагент,Стр,1)=0 Тогда     			
    Табл.НоваяСтрока(); 
    Табл.Клиент=Док.Контрагент;
    Стр=Табл.КоличествоСтрок(); 
    КонецЕсли; 
    Док.ВыбратьСтроки();                                      
    Пока Док.ПолучитьСтроку()=1 Цикл
    Если (Док.Товар.ПринадлежитГруппе(Ном.ТекущийЭлемент())=0) И (Док.Товар.ПринадлежитГруппе(Ном1.ТекущийЭлемент())=0) И (Док.Товар.ПринадлежитГруппе(Ном2.ТекущийЭлемент())=0) 
    И (Док.Товар.ПринадлежитГруппе(Ном3.ТекущийЭлемент())=0) И (Док.Товар.ПринадлежитГруппе(Ном4.ТекущийЭлемент())=0)Тогда
    Продолжить;
    КонецЕсли;
    СчКол="";
    До=Лев(Док.ДатаДок,5);
    ДокДата=Лев(До,2)+Прав(До,2);
    ПредКол="К"+ДокДата; //+"Т"+Док.Товар.Код;       
    
    Если Табл.НайтиЗначение(ПредКол,а,"Клиент")=0 Тогда 
    Табл.НоваяСтрока();                 
    Табл.Клиент=ПредКол;
    Иначе                
    Табл.ПолучитьСтрокуПоНомеру(а);
    Табл.Знач= Табл.Знач+Док.Количество;
    КонецЕсли;
    //Если Табл.НайтиЗначение(ПредКол,1,СчКол)=0 Тогда  
    //	СчКол=Табл.КоличествоКолонок()+1;
    //	Табл.НоваяКолонка(ПредКол); 
    //	Табл.УстановитьЗначение(1,СчКол,ПредКол);
    //	Табл.УстановитьЗначение(Стр,СчКол,Док.Количество);
    //Иначе
    //	Значен=Табл.ПолучитьЗначение(Стр,СчКол);
    //	Табл.УстановитьЗначение(Стр,СчКол,Значен+Док.Количество);
    //КонецЕсли;
    КонецЦикла;
    КонецЦикла;
    Табл.Сортировать("Клиент");
    
  13. x-a-d
    Offline

    x-a-d Опытный в 1С

    Регистрация:
    3 сен 2009
    Сообщения:
    184
    Симпатии:
    0
    Баллы:
    26
    Код:
    Пока Док.ПолучитьДокумент()=1 Цикл
    Если Док.ПРоведен()=0 Тогда
    Продолжить;
    КонецЕсли;              
    Стр="";
    Если Табл.НайтиЗначение(Док.Контрагент,Стр,1)=0 Тогда                 
    Табл.НоваяСтрока(); 
    Табл.Клиент=Док.Контрагент;
    Стр=Табл.КоличествоСтрок(); 
    Табл.Сортировать("Клиент");
    КонецЕсли; 
    
    
    
    
    я не пойму смысла этого кода
    зачем Табл.Сортировать("Клиент"); использовать в цикле обработки документов?
    я же написал вам, сначала делайте выборку по докам, где создаете таблицу доков и (!!!) наименований клиентов.
    Т.е. Табл.Клиент=Док.Контрагент.Наименование;
    должно быть так:
    Код:
    Пока Док.ПолучитьДокумент()=1 Цикл
    Если Док.ПРоведен()=0 Тогда
    Продолжить;
    КонецЕсли;              
    Стр="";
    Если Табл.НайтиЗначение(Док.Контрагент,Стр,1)=0 Тогда                 
    Табл.НоваяСтрока(); 
    Табл.Клиент=Док.Контрагент.Наименование;
    Табл.Док = Док;
    КонецЕсли; 
    КонецЦикла;
    Табл.Сортировать("+Клиент"); //знак плюс указывает, что по возрастанию
    Табл.ВыбратьСтроки();
    Пока Табл.ПолучитьСтроку = 1 Цикл
    //Здесь у вас есть ваш Док по значению Табл.Док
    //и делайте с УЖЕ ОТСОРТИРОВАННОЙ ПО КОНТРАГЕНТАМ таблицей что вам надо
    //в этом цикле а не в том цикле
    КонецЦикла;
    
    
    
    
  14. TopicStarter Overlay
    anton
    Offline

    anton Опытный в 1С

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

    Док = Табл.Док;
    {D:\ПАПКА ОБМЕНА\КОПИЯ ОТЧЕТ АГЕНТА ПО ПРОДАЖАМ ЗА ПЕРИОД.ERT(31)}: Поле агрегатного объекта не обнаружено (Док)

    Код:
    	Табл.НоваяКолонка("Клиент","Справочник.Контрагенты");   
    Табл.НоваяСтрока();
    Док=СоздатьОбъект("Документ.РасходнаяНакладная");   
    Док.ВыбратьДокументы(НачДата,КонДата);  
    Пока Док.ПолучитьДокумент()=1 Цикл
    Если Док.ПРоведен()=0 Тогда
    Продолжить;
    КонецЕсли;              
    Стр="";
    Если Табл.НайтиЗначение(Док.Контрагент,Стр,1)=0 Тогда                 
    Табл.НоваяСтрока(); 
    Табл.Клиент=Док.Контрагент.Наименование;
    Табл.Док = Док;
    КонецЕсли; 
    КонецЦикла;
    Табл.Сортировать("+Клиент"); //знак плюс указывает, что по возрастанию
    Табл.ВыбратьСтроки();
    Пока Табл.ПолучитьСтроку = 1 Цикл                                                    
    Пока Док.ПолучитьСтроку()=1 Цикл
    Если (Док.Товар.ПринадлежитГруппе(Ном.ТекущийЭлемент())=0) И (Док.Товар.ПринадлежитГруппе(Ном1.ТекущийЭлемент())=0) И (Док.Товар.ПринадлежитГруппе(Ном2.ТекущийЭлемент())=0) 
    И (Док.Товар.ПринадлежитГруппе(Ном3.ТекущийЭлемент())=0) И (Док.Товар.ПринадлежитГруппе(Ном4.ТекущийЭлемент())=0)Тогда
    Продолжить;
    КонецЕсли;
    СчКол="";
    До=Лев(Док.ДатаДок,5);
    ДокДата=Лев(До,2)+Прав(До,2);
    ПредКол="К"+ДокДата; //+"Т"+Док.Товар.Код;       
    Если Табл.НайтиЗначение(ПредКол,1,СчКол)=0 Тогда  
    СчКол=Табл.КоличествоКолонок()+1;
    Табл.НоваяКолонка(ПредКол); 
    Табл.УстановитьЗначение(1,СчКол,ПредКол);
    Табл.УстановитьЗначение(Стр,СчКол,Док.Количество);
    Иначе
    Значен=Табл.ПолучитьЗначение(Стр,СчКол);
    Табл.УстановитьЗначение(Стр,СчКол,Значен+Док.Количество);
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;
    Табл.ВыбратьСтроки();
    
  15. Бухгалтерский угодник
    Online

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    В упор не вижу колонки ТаблицыЗначений Док
  16. TopicStarter Overlay
    anton
    Offline

    anton Опытный в 1С

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

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Скинь последний свой вариант обработки.... Исправлю
  18. TopicStarter Overlay
    anton
    Offline

    anton Опытный в 1С

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

    Вложения:

  19. Mitay_D
    Offline

    Mitay_D Опытный в 1С

    Регистрация:
    16 фев 2010
    Сообщения:
    314
    Симпатии:
    0
    Баллы:
    26
    Результат есть? хотелось бы увидеть, а то тема как-то не закрытой остается.
  20. TopicStarter Overlay
    anton
    Offline

    anton Опытный в 1С

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

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