7.7 Итого для количества в Услуги сторонних организаций

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем ctpek03a, 28 май 2009.

  1. TopicStarter Overlay
    ctpek03a
    Offline

    ctpek03a

    Регистрация:
    27 май 2009
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте!!!! Подскажите, пожалуйста, как в Модуле написать Итого для количества, т.е. посчитать 65? ("1С:Предприятие 7.7")


    Для документа Услуги сторонних организаций написан Внешний отчет (обработка).
    В Акте об оказании услуг сторонней организацией указано:

    Наименовании услуг : Сумма : Сумма НДС : Всего
    .........................................................................
    Услуги погрузчика (60 маш/час) : 4,000.00 : 720.00 : 4,720.00
    Работа автокрана (5 маш/час) : 3,500.00 : 630.00 : 4,130.00
    .........................................................................
    Итого: : 7,500.00 : 1,350.00 : 8,850.00

    Выделяю из строк Наименования услуг - количество и ед.изм.,
    если они указаны в скобках: КолВо и ЕдИзм.

    Итого для КолВо???
    Код:
    ******************************************************************************  
    Процедура Печать(Докум, Устройство=0, КолвоКопий=1)  
    
    ИсхТабл = СоздатьОбъект("Таблица");
    ИсхТабл.ИсходнаяТаблица("Лист_5");
    ИсхТабл.ВывестиСекцию("Шапка"); 
    НомСтроки = 0; 
    Докум.ВыбратьСтроки(); 
    Пока Докум.ПолучитьСтроку() = 1 Цикл 
    НомСтроки = НомСтроки + 1; 
    ТоварНаПечать=СокрЛП(Докум.НаименованиеУслуги);    
    Скобка1=Найти(ТоварНаПечать,"(");  
    Если (Скобка1>0) Тогда
    Скобка11=Лев(ТоварНаПечать,Скобка1-1);    
    Скобка12=Сред(ТоварНаПечать,Найти(ТоварНаПечать,"(")+1); 
    
    Скобка2=Найти(Скобка12,")"); 
    Если (Скобка2>0) Тогда
    Скобка21=Лев(Скобка12,Скобка2-1);  
    
    Пробел2=Найти(Скобка21," "); 
    Если (Пробел2>0) Тогда   
    // найдем количество и ед.изм., если указано в скобках в наименовании услуги
    КолВо=Лев(Скобка21,Пробел2-1);  
    ЕдИзм=Прав(Скобка21,СтрДлина(Скобка21)-Пробел2); 
    
    Скобка=Найти(ТоварНаПечать,"(");   
    Если (Скобка>0) Тогда
    УслСправка=Лев(ТоварНаПечать,Скобка-1); 
    ЦенаУслуги=Формат(окр((Докум.Всего-Докум.НДС)/КолВо,2,1),"Ч15.2-");
    
    КонецЕсли;     
    КонецЕсли;   
    КонецЕсли;
    Иначе УслСправка=ТоварНаПечать;  
    КонецЕсли;
    
    ИсхТабл.ВывестиСекцию("Строка"); 
    КонецЦикла; 
    СуммаИтог = Докум.Итог("Сумма"); 
    ИсхТабл.ВывестиСекцию("Итоги"); 
    СуммаИтог = Докум.Итог("Всего"); 
    ИсхТабл.ВывестиСекцию("Подвал"); 
    ИсхТабл.ПараметрыСтраницы(1,,,,,,,,,1,,);
    ИсхТабл.Опции(0,0,0,0);
    ИсхТабл.ТолькоПросмотр(1);
    ИсхТабл.Показать("Справка для расчета за выполненные работы (учлуги)","");
    КонецПроцедуры // Печать()    
    //******************************************************************************
    Процедура ПоКнопкеПечать()
    Если Док.Выбран() = 0 Тогда
    Предупреждение("Не выбран документ!", 60);
    Возврат;
    КонецЕсли;
    Печать(Док);
    КонецПроцедуры // ПоКнопкеПечать()
    //******************************************************************************
    // Предопределенная процедура
    Процедура ПриОткрытии()
    Если ПустоеЗначение(Форма.Параметр) = 0 Тогда
    Докум      = Форма.Параметр.Получить("Контекст");
    Устройство = Форма.Параметр.Получить("Устройство");
    КолвоКопий = Форма.Параметр.Получить("КоличествоКопий");
    Печать(Докум, Устройство, КолвоКопий);
    Статусвозврата(0);
    Возврат;
    КонецЕсли;
    КонецПроцедуры // ПриОткрытии()
    
    
    Заранее спасибо.
  2. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Вот так
    Код:
    Поз=Найти(Скобка12," ");
    Если Поз=0 Тогда
    цифра=0;
    иначе
    цифра=Цисло(Лев(Скобка12,Поз-1);
    КонецЕсли;
    Всего=Всего+Цифра;
    
    
  3. TopicStarter Overlay
    ctpek03a
    Offline

    ctpek03a

    Регистрация:
    27 май 2009
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Ничего не получается, Всего дает пусто!!!!!!
    Подскажите, может как по другому!!!
  4. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Нужно не тупо копировать код, а подумать))))) "Всего" перед циклом ты сдел числом?

    Код:
    Всего=0;
    
    
  5. TopicStarter Overlay
    ctpek03a
    Offline

    ctpek03a

    Регистрация:
    27 май 2009
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Мне подсказали сделать так:
    в цикле ИтогоКолВо = ИтогоКолВо + Число(КолВо)
    Все получилось.

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