Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 03:33

Подсчет количества ремонта (сколько строк в табличной части документа)

Автор GoldMen, 17 сен 2012, 15:53

0 Пользователей и 1 гость просматривают эту тему.

GoldMen

Создал реквизит в документе по 1С "КоличествоРемонтов", и вызвал Событие При изменении

&НаКлиенте
Процедура КоличествоРемонтовПриИзменении(Элемент)
   ...
КонецПроцедуры

Как подсчитать Количество ремонтов?  (на примере д.б. 2). Благодарю.

sadovod

А вы их хранить хотите или просто показать для информации?

GoldMen

Цитата: sadovod от 17 сен 2012, 16:16
А вы их хранить хотите или просто показать для информации?
Показать информацию. В базе данных около 1000 документов, в одном документе может от 1 до 20 записей для одного вагона. Поэтому вручную не удобно добавить либо изменить Количество Ремонтов.

sadovod

Если база уже заполнена документами, то вручную, конечно не нужно, можно несложной процедурой автоматом заполнить в каждом из них этот реквизит с помощью запроса...
А на форме документа, ну тут вообще несколько вариантов. Уточните, вы форму документа сами создали или она автоматически генерируется?

sadovod

А, вы же уже процедуру ПриИзменении() сделали, значит форму создали сами...
Ну так вот, это процедура не нужна. Количество строк табличной части можно показать так - разверните основной реквизит 'Объект', затем разверните табличную часть 'Ремонты' (или как она у вас называется). Там есть служебный реквизит КоличествоСтрок, просто перетащите его на форму.

sadovod

А сам реквизит 'КоличествоРемонтов' можно не показывать вообще. А присваивать ему значение только при записи документа в обработчике события ПередЗаписью() (этот обработчик находится в модуле объекта).

   КоличествоРемонтов = Ремонты.Количество();

sadovod

Если нужно, могу привести примерный код процедуры заполнения этого реквизита для уже готовых документов...

GoldMen

Цитата: sadovod от 17 сен 2012, 17:08
Если нужно, могу привести примерный код процедуры заполнения этого реквизита для уже готовых документов...
Получилось. Спасибо. Осталось нужно доделать в самом документе.

GoldMen

Цитата: sadovod от 17 сен 2012, 17:06
А сам реквизит 'КоличествоРемонтов' можно не показывать вообще. А присваивать ему значение только при записи документа в обработчике события ПередЗаписью() (этот обработчик находится в модуле объекта).

   КоличествоРемонтов = Ремонты.Количество();

Как присваивать? Я не очень хорошо понимаю в кодах.

GoldMen

Цитата: GoldMen от 17 сен 2012, 17:13
Цитата: sadovod от 17 сен 2012, 17:08
Если нужно, могу привести примерный код процедуры заполнения этого реквизита для уже готовых документов...
Получилось. Спасибо. Осталось нужно доделать в самом документе.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск