Версия для печати темы (https://pro1c.org.ua/index.php?s=8bc55b8745c40830b2c8933c3cbba3c8&showtopic=8855)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Ограничить количество строк для табличной части

Автор: ignsv 06.09.12, 17:16

Нужно ограничить количество строк в ТЧ. Ну допустим для ввода "руками" :

Процедура ТоварыПередНачаломДобавления(Элемент, Отказ, Копирование)
    
КонстантаКво = Константы.КоличествоСтрокДляТЧ.Получить();
Если Товары.Количество() >= ?(КонстантаКво > 0,КонстантаКво, 20) Тогда
    Сообщить("Достигнуто максимальное количество строк в документе!");
    Отказ = Истина;    
КонецЕсли;
КонецПроцедуры


А вот есть еще "Подбор" или "Ввод на основании заказа" например.
как в таком случае проконтролировать количество строк?
Была идея в конце перед записью проверять и предупреждать об ошибке, но может есть возможность "оперативно" следить за количеством строк при программном добавлении?

Автор: logist 06.09.12, 17:29

Цитата(ignsv @ 06.09.12, 18:16) *
А вот есть еще "Подбор" или "Ввод на основании заказа" например.
как в таком случае проконтролировать количество строк?

Выдавать сообщение в ТоварыПриИзменении, и затем очищать ТЧ или удалять "лишние строки"

Автор: ignsv 06.09.12, 17:46

тоже так мыслил. сейчас с подбора не добавляет. зделал так:

ТоварыПриПолученииДанных(Элемент, ОформленияСтрок)

Если Элемент.Значение.Количество() > КонстантаКво Тогда
    Элемент.Значение.Удалить(Элемент.Значение.Количество()-1);
    Сообщить("Достигнуто максимальное количество строк в документе!");
    КонецЕсли;

Автор: Vofka 06.09.12, 18:16

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

Автор: logist 06.09.12, 18:33

Цитата(Vofka @ 06.09.12, 19:16) *
Увы, но события, которое бы возникало при добавлении строки в табличную часть изо всех мест - нету.

А ПриИзменении разве нет?

Автор: Ardi 06.09.12, 18:44

Пусть пердЗаписью ругается.

Автор: Vofka 06.09.12, 19:04

Цитата(logist @ 06.09.12, 19:33) *
А ПриИзменении разве нет?

При программном, по-моему, нету.

Автор: logist 06.09.12, 19:16

Цитата(Ardi @ 06.09.12, 19:44) *
Пусть пердЗаписью ругается.

Это не практично, с точки зрения пользователя. ИМХО.

Автор: Ardi 06.09.12, 20:03

А пользователю слова не давали.

Автор: pablo 07.09.12, 8:23

Не практично, зато универсально. А так же очередной инструмент для icon_smiley124.gif

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua