8.х Помогите пожалуйста разобраться!

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

  1. TopicStarter Overlay
    AngelKirov
    Offline

    AngelKirov

    Регистрация:
    11 ноя 2011
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    Помогите пожалуйста разобраться!!!

    1. Есть документ "Счет", в нем "ТабличнаяЧасть1" со столбцами: НомерСтроки, Товар, Количество, Цена и Сумма. Где, Сумма рассчитывается автоматически. Ниже таблицы есть поле "Всего_Итог", где рассчитывается общая сумма документа по всем строкам таблицы. Проблема в том что данные поля Итог не сохраняются. и я так подозреваю что из-за этого данные этого поля не отображаются в печатной форме документа. Подскажите в чем тут дело? почему так? Вот код:

    Код:
    Процедура ТабличнаяЧасть1Сумма(Элемент)
    СтрокаТабличнойЧасти = ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные;
    СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Цена * СтрокаТабличнойЧасти.Количество; 
    ТабличнаяЧасть1СуммаПриИзменении(Неопределено);
    КонецПроцедуры
    
    Процедура ТабличнаяЧасть1СуммаПриИзменении(Элемент)
    ЭлементыФормы.Всего_Итог.Значение = ТабличнаяЧасть1.Итог("Сумма");
    КонецПроцедуры
    
    2. При формировании печатной формы, в поле где ставится дата почему то указывается дата СО ВРЕМЕНЕМ, как можно убрать время? в свойствах везде вроде посмотрела, ничего не помогло, может соредством кода прописать это?
    Код:
    ОбластьЗаголовок.Параметры.ТекстЗаголовка = ЭтаФорма.ДокументОбъект.Дата;
    
  2. Diego
    Offline

    Diego Любитель 1С Команда форума

    Регистрация:
    3 апр 2009
    Сообщения:
    966
    Симпатии:
    2
    Баллы:
    29
    1. Сумма по табличной части в печатной форме никак не зависит от того, отображается эта сумма где-то на форме или нет.
    В печатной форме так и выводите эту сумму как пытались на форме:
    Код:
    Область.Параметры.Сумма = ТабличнаяЧасть1.Итог("Сумма");
    
    А в форме показ этой суммы лучше засунуть в процедуру ОбновлениеОтображения()

    Код:
    Процедура ОбновлениеОтображения()
    ЭлементыФормы.Всего_Итог.Значение = ТабличнаяЧасть1.Итог("Сумма");
    КонецПроцедуры
    
    Кстати у ТЧ можно выводить сумму по каждой колонке прямо в ТЧ.
    Для этого в свойствах ТЧ установите галочку Подвал, а затем в свойствах нужных колонок поставить галочки "Отображать итоги в подвале".

    2. При выводе даты используйте функцию Формат

    Код:
    ОбластьЗаголовок.Параметры.ТекстЗаголовка =Формат(Дата, "ДЛФ=Д");
    
    В скобках можно еще ДЛФ=ДД, посмотрите в синтакс-помощнике описание функции Формат

    Конструкция ЭтаФорма.ДокументОбъект.Дата не нужна, у документа у Вас ведь есть реквизит Дата, вот и обращайтесь напрямую к нему, а не к его отображению на форме.
  3. TopicStarter Overlay
    AngelKirov
    Offline

    AngelKirov

    Регистрация:
    11 ноя 2011
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    С эти разобралась, спасибо огромное!!! но у меня не стал обновляться столбец "Сумма" в Журнале "Счета". Ссылка у него на реквизит Счета "Всего_Итог", который и считается автоматически...

    Подскажите еще пожалуйста как прописать функцию чтобы программа автоматически сама писала итоговую сумму прописью?
  4. TopicStarter Overlay
    AngelKirov
    Offline

    AngelKirov

    Регистрация:
    11 ноя 2011
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    Вот код:
    //Вывести область "СуммаПрописью"
    ОбластьСуммаПрописью = Макет.ПолучитьОбласть("СуммаПрописью");
    ОбластьСуммаПрописью.Параметры.Заполнить(ЭтотОбъект);
    ОбластьСуммаПрописью.Параметры.СуммаПрописью = ЧислоПрописью (СуммаПрописью, );
    ТабДок.Вывести(ОбластьСуммаПрописью);
    Подскажите пожалуйста какие параметры вводятся для корректного отображения?
  5. TopicStarter Overlay
    AngelKirov
    Offline

    AngelKirov

    Регистрация:
    11 ноя 2011
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    С ЧисломПрописью разобралась, а вот с журналом "Счета" не могу так и понять(((
  6. Diego
    Offline

    Diego Любитель 1С Команда форума

    Регистрация:
    3 апр 2009
    Сообщения:
    966
    Симпатии:
    2
    Баллы:
    29
    Если "Всего_Итог" реквизит счета, то никакого кода для его вывода в журнале документов не нужно.
    На табличном поле журнала щелкните правой клавишей мыши и выберите "Размещение данных".
    И там галочки поставьте у тех реквизитов документа, которые Вы хотите видеть в журнале.

    Но это именно, если есть такой реквизит документа.
    А у Вас я так понял из первого вопроса, что это не реквизит, а просто поле на форме документа, которое заполняется при открытии документа и не сохраняется нигде при закрытии.
    Если это так, то лучше добавить новый реквизит "Сумма".

    Еще вариант, если без реквизита, рассчитывать этот столбец "Сумма" в журнале, например в событии "При выводе строки". Но тогда при большом количестве записанных документов при открытии журнала будут заметные притормаживания.
  7. TopicStarter Overlay
    AngelKirov
    Offline

    AngelKirov

    Регистрация:
    11 ноя 2011
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    Все разобралась, спасибо большое!!!)))

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