Перейти к содержимому

Тч в 1с что это

  • автор:

Технологический журнал

Технологический журнал системы 1С:Предприятие 8 может использоваться для анализа технологических проблем работы системы и анализа аварийных завершений. Он регистрирует информацию от всех приложений системы 1С:Предприятие 8, работающих на данном компьютере.

Технологический журнал представляет собой совокупность текстовых файлов, хранящихся в указанном каталоге.

Технологический журнал

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

1С 8.3 Табличный документ — Программист 1С Минск. Автоматизация бизнеса.

✔ Создание печатной формы из табличного документа

&НаКлиенте
Процедура СозданиеПечатнойФормыИзТабличногоДокумента ( Команда )

НастройкаКолонтитуловПечатнойФормы ( ФормаПечати );
НастройкаПараметровПечатиТабличногоДокумента ( ФормаПечати );

ФормаПечати . Показать ( «Отчет по долгам» );

// Сохранение «Отчета по долгам»
ФормаПечати . Записать ( «D:\Storage\data\ОтчетПоДолгам.xls» , ТипФайлаТабличногоДокумента . XLS );

// Печать «Отчета по долгам» сразу на принтер
ФормаПечати . Напечатать ( РежимИспользованияДиалогаПечати . НеИспользовать );

&НаСервере
Функция СозданиеПечатнойФормыИзТабличногоДокументаНаСервере ()

Макет = ЭтотОбъект . ПолучитьМакет ( «Макет_Табл» );

// Изменение табличного макета после его создания.
ПрограммноеИзменениеТабличногоДокумента ( Макет );

ФормаПечати = Новый ТабличныйДокумент ;

// Получение области и макета по имени
Шапка = Макет . ПолучитьОбласть ( «Шапка» );
// Заполнение параметров
Шапка . Параметры . Дата = ТекущаяДата ();
Шапка . Параметры . Номер = 2020 ;
// Вывод шапки в документ
ФормаПечати . Вывести ( Шапка );

// Заголовок табличной части.
ЗаголовокТ = Макет . ПолучитьОбласть ( «ТЧ_Заголовок» );
ФормаПечати . Вывести ( ЗаголовокТ );

ТЧ_Строка = Макет . ПолучитьОбласть ( «ТЧ_Строка» );
SSDIntelOptaneDC = Справочники . Номенклатура . НайтиПоНаименованию ( «SSD Intel Optane DC P4800X 1.5TB» );

// Группировка строк таблицы в сворачивающийся блок
ФормаПечати . НачатьГруппуСтрок ( «Номенклатура» , Истина);

Для Х = 1 По 100 Цикл
ТЧ_Строка . Параметры . Номенклатура = SSDIntelOptaneDC ;
ТЧ_Строка . Параметры . Количество = Х ;

// Параметр расшифровки «РасшифровкаНоменклатуры» — для открытия формы номенклатуры из макета по клику
ТЧ_Строка . Параметры . РасшифровкаНоменклатуры = SSDIntelOptaneDC ;
ФормаПечати . Вывести ( ТЧ_Строка );
КонецЦикла;

OFF: Зачем нужна табличная часть справочника, если есть регистр сведений и Чем отли

(13) Обрати внимание, что форум бесплатный, а профессиональные консультации совсем наоборот, так что, будь готов, что не все жаждут с тобой делиться легкодобываемыми знаниями. И критику тоже надо уметь принимать.

Ответы на вопросы:

1. Объект, а регистр необъектная сущность.
2. назначением использования. Временные таблицы "дороже", но предоставляют больший набор возможностей. И да, если плохо пишешь запросы, пиши через временные таблицы (у вложенных больше нюансов и легче нагнать тормоза на систему).

Как рассчитать сумму табличной части документа 1с 8.3

Данная небольшая статья будет полезна тем кто только начал изучать 1С программирование. В ней я хочу рассказать о том как можно рассчитать сумму в табличной части документа по всем строкам и вывести её в отдельный реквизит на форме который будет называться «Сумма документа». На самом деле способов подсчета суммы ТЧ очень много. Можно даже вывести итог по колонке цена без написания кода.

Рекомендую прочитать следующие статьи, они будут очень полезны как начинающим так и опытным программистам и администраторам 1С.

Как рассчитать сумму всех строкам табличной части

Допустим что у нас есть документ с табличной частью «Товары». И нам нужно знать итоговую сумму всех позиций. Для этого мы создали реквизит «Сумма документа» и хотим видеть там итог.

Сумма ТЧ 1С

Для этого нужно создать процедуру и написать вот такой код.

Немного поясню код.

Объект.СуммаДокумента = 0; — Обнуляем значение.

СтрокаДокумента — Объявляем переменную.

Объект.Товары — Табличная часть нашего документа.

Объект.СуммаДокумента = Объект.СуммаДокумента + (СтрокаДокумента.Количество * СтрокаДокумента.Цена); — высчитываем итоговую сумму по каждой строке ТЧ и складываем.

Процедуру создаем в модуле формы.

Лучший способ расчета суммы табличной части документа в 1с 8.3

После этого открываем документ и после нажатия «Записать» сумма документа посчитается автоматически.

Как подставить сумму табличной части в реквизит документа

Если добавить позиции в табличную часть или удалить то после сохранения сумма также пересчитается.

Как создать реквизит в который подставить сумму ТЧ документа

На мой взгляд это самый простой и самый оптимальный способ решения поставленной задачи с вычислением суммы табличной части документа.

Если вы считаете по другому обязательно напишите!

Сумма ТЧ 1С : 13 комментариев

А как рассчитать сумма табличной части в печатной форме, т.е в макете есть поле ИТОГО и в него должна подставляться сумма табличной части.

Если в самом документе нет суммы то вычислять в запросе СУММА(Документ.ТабличнаяЧасть.Цена) Как Сумма

Здравствуйте! Есть несколько документов с ТЧ в которых есть цена, количество и сумма, как написать один общий модуль для расчета суммы?

Вот тут можете посмотреть как создать общий модуль для этих целей

Здравствуйте, как посчитать итоги суммы в табличной части если она заполнена ссылками на документы. Допустим счет на оплату, где сумма документа собирается из документов актов выполненных работ внесенных в табличную часть счета.

я добавил расчет общей Суммы в обработчики ПриИзменении цены и количества и тогда общая сумма считается сразу без нажатия Записать или провести
&НаКлиенте
Процедура ТоварыКоличествоПриИзменении(Элемент)
Товары = Элементы.Товары.ТекущиеДанные;
Товары.Сумма = Товары.Цена*Товары.Количество;
Объект.СуммаДокумента = Объект.Товары.Итог(«Сумма»); // сюда добавил расчет Общей суммы
КонецПроцедуры

&НаКлиенте
Процедура ТоварыЦенаПриИзменении(Элемент)
Товары = Элементы.Товары.ТекущиеДанные;
Товары.Сумма = Товары.Цена*Товары.Количество;
Объект.СуммаДокумента = Объект.Товары.Итог(«Сумма»);
КонецПроцедуры

Ну да все верно меняется цена или количество и выполняется процедура.

Немного усовершенствовал процедуру расчета для документа:
на форме в свойствах элементов формы в табличной части для Количество, Цена и Сумма выставил одно и то же Событие для избежания дублирования кода,
А чтобы не было соблазна руками изменить общую сумму сделал отдельную процедуру:

&НаКлиенте
Процедура СуммаДокументаПриИзменении(Элемент)
Объект.СуммаДокумента = Объект.Товары.Итог(«Сумма»);
КонецПроцедуры

я добавил расчет общей Суммы в обработчики ПриИзменении цены и количества и тогда общая сумма считается сразу без нажатия Записать или провести
&НаКлиенте
Процедура ТоварыКоличествоПриИзменении(Элемент)
Товары = Элементы.Товары.ТекущиеДанные;
Товары.Сумма = Товары.Цена*Товары.Количество;
Объект.СуммаДокумента = Объект.Товары.Итог(«Сумма»); // сюда добавил расчет Общей суммы
КонецПроцедуры

&НаКлиенте
Процедура ТоварыЦенаПриИзменении(Элемент)
Товары = Элементы.Товары.ТекущиеДанные;
Товары.Сумма = Товары.Цена*Товары.Количество;
Объект.СуммаДокумента = Объект.Товары.Итог(«Сумма»);
КонецПроцедуры

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

Подскажите, пожалуйста, как рассчитать сумму по документу, если поле Цена это элемент таблицы значений формы документа, а поле количество это реквизит формы? Перемножить поле количество на цену в данном случае нельзя. Как тогда быть?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *