8.х Подсчёт суммы

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем AndreY_ RFL, 24 дек 2008.

  1. TopicStarter Overlay
    AndreY_ RFL
    Offline

    AndreY_ RFL

    Регистрация:
    24 дек 2008
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Добрый день , проблема в следующем сейчас проходим в институте 1С Конфигурирование , Вообщем набили за семестр целую базу ! Сейчас пришла пора зачёта и дали задании по отсеиванию Материалов и Услуг чтобы они вместе в Регистре накопления не шли , вообще проделал я это действии и потом замечаю что пропало подсчёт общей Суммы то есть когда Выписываем приходную накладную, указываем Материал - Количество Цена - далее нажимаем мышкой на сумму , а там пусто 0.00
    В принципе есть в Модулях - модуль РаботаСДокументами и код
    Код:
    Процедура РасчитатьСумму (СтрокаТЧ) Экспорт
    СтрокаТЧ.Сумма=СтрокаТЧ.Цена*СтрокаТЧ.Колличество;	
    КонецПроцедуры
    
    но что и куда на него ссылается не могу разобраться
    Где может быть ошибка и где её искать хоть :unsure:
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Проверьте, что на что умножаете в отладчике.
    Проверьте типы реквизитов.

    А вообще не понятен вот этот текст:
    "дали задании по отсеиванию Материалов и Услуг чтобы они вместе в Регистре накопления не шли" - фигня какая-то
  3. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    Что передается в СтрокаТЧ? Если действительно строка... то проверьте в конфигураторе что есть СтрокаТЧ.Количество и Цена.. т.е. какие у них типы...
    А до этого сумма проставлялась??? Если да, то скорее всего у вас в каком то другом отрезке кода обнуляет....
  4. TopicStarter Overlay
    AndreY_ RFL
    Offline

    AndreY_ RFL

    Регистрация:
    24 дек 2008
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Ну по идеи нужно чтобы Цена умножалась на количество (так идёт в Отладчики при создании нового Приходного документа )

    По поводу задания я сам нечего не понял примерно написал, там что то было с Регистром накопления создать что то в нём требовалось! Там оно большое , я его очень долго делал в итоге как то методом тыка оно получилось и заработало , но пострадала Сумма

    to tirk
    Я так понимаю форма ссылается в Эту область СтрокаТЧ и выполняется действие сложения которое я указал в коде до это (это я так думаю)

    кстати вот код визуальной формы в вкладке Модули

    Код:
    Процедура ТЧМатериалыЦенаПриИзменении(Элемент)
    СтрокаТЧ=ЭлементыФормы.ТЧМатериалы.ТекущиеДанные;	
    РаботаСДокументами.РасчитатьСумму(СтрокаТЧ);
    КонецПроцедуры
    
    Процедура ТЧМатериалыКолличествоПриИзменении(Элемент)
    СтрокаТЧ=ЭлементыФормы.ТЧМатериалы.ТекущиеДанные;	
    РаботаСДокументами.РасчитатьСумму(СтрокаТЧ);
    КонецПроцедуры
    
    Процедура Печать(Элемент)
    //{{_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ(Печать)
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    ТабДок = Новый ТабличныйДокумент;
    Макет = Документы.ПриходнаяНакладная.ПолучитьМакет("Печать");
    // Заголовок
    Область = Макет.ПолучитьОбласть("Заголовок");
    ТабДок.Вывести(Область);
    // Шапка
    Шапка = Макет.ПолучитьОбласть("Шапка");
    Шапка.Параметры.Заполнить(ЭтотОбъект);
    ТабДок.Вывести(Шапка);
    // ТЧМатериалы
    Область = Макет.ПолучитьОбласть("ТЧМатериалыШапка");
    ТабДок.Вывести(Область);
    ОбластьТЧМатериалы = Макет.ПолучитьОбласть("ТЧМатериалы");
    Для Каждого ТекСтрокаТЧМатериалы Из ТЧМатериалы Цикл
    ОбластьТЧМатериалы.Параметры.Заполнить(ТекСтрокаТЧМатериалы);
    ТабДок.Вывести(ОбластьТЧМатериалы);
    КонецЦикла;
    Область=Макет.ПолучитьОбласть("Всего");
    Область.Параметры.ВсегоПоДокументу=ТЧМатериалы.Итог("Сумма");
    ТабДок.Вывести(Область);
    
    ТабДок.ОтображатьСетку = Ложь;
    ТабДок.Защита = Ложь;
    ТабДок.ТолькоПросмотр = Ложь;
    ТабДок.ОтображатьЗаголовки = Ложь;
    ТабДок.Показать();
    //}}_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ
    КонецПроцедуры
    
    
    PS сильно не ругайте просто очень знаний мало , поверхностно всё знаю
  5. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    Скинь сюда еще вот это процедуру РаботаСДокументами.РасчитатьСумму(СтрокаТЧ);
  6. TopicStarter Overlay
    AndreY_ RFL
    Offline

    AndreY_ RFL

    Регистрация:
    24 дек 2008
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    а она же в самом верху написана
    Код:
    Процедура РасчитатьСумму (СтрокаТЧ) Экспорт
    СтрокаТЧ.Сумма=СтрокаТЧ.Цена*СтрокаТЧ.Колличество;	
    КонецПроцедуры
    
  7. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    попробуй
    Код:
    Процедура РасчитатьСумму (СтрокаТЧ) Экспорт
    ЭлементыФормы.СтрокаТЧ.Сумма=Число(СтрокаТЧ.Цена)*Число(СтрокаТЧ.Колличество);   
    //Для проверки
    Соощить(Число(СтрокаТЧ.Цена)*Число(СтрокаТЧ.Колличество)); 
    КонецПроцедуры
    
  8. TopicStarter Overlay
    AndreY_ RFL
    Offline

    AndreY_ RFL

    Регистрация:
    24 дек 2008
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Всё равно не заработало , наверное что то где то поменял по шибки)
    Ладно всё равно спасибо всем за помощь, зачёт сдал с другой базой(товарища) :unsure:
  9. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Не вяжется у меня Семестр конфигурирования и невозможность разобраться с этим.
    Я думаю, что там странная самописная конфигурация, выложить dt на форум вполне реально было.

    Зачет, конечно, сдан, поздравляю, но я бы на вашем месте к преподу подошел, за семестр не научить отлаживать элементарный код... Хотя еще должно быть стремление к изучению.

    Это не заработает. Строка ТЧ - это текущая строка табличной части должна быть.
    Полный путь к ней был бы: ЭлементыФормы.ИМЯТАБЧАСТИ.ТекущаяСтрока

    Расчет скорее всего производится в событии при изменении, где выявляется текущая строка и рассчитывается сумма. Это есть в любой типовой конфигурации.

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