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

Сохранение данных строки

Автор mohitus, 23 мая 2020, 23:07

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

mohitus

Доброго времени суток! Прошу помощи в решении такого вопроса - имеется Справочник с табличными данными. Хотелось бы сделать так, что после введения данных первой строки, при переходе на вторую, в ней "копировались" данные из предыдущей с сохранением возможности редактирования этих данных. И так далее.
Буду рад совету и помощи! Спасибо!

antoneus

Привязываем обработчик события ПриНачалеРедактирования элемента формы, который эта самая табличная часть.

&НаКлиенте
Процедура ИмяТЧПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)

    Если НоваяСтрока Тогда
        ТекСтрока = Объект.ИмяТЧ.НайтиПоИдентификатору(Элементы.ИмяТЧ.ТекущаяСтрока);
        Индекс = Объект.ИмяТЧ.Индекс(ТекСтрока);
        Если Индекс > 0 Тогда
            ПредыдущаяСтрока = Объект.ИмяТЧ[Индекс - 1];
            ЗаполнитьЗначенияСвойств(Элементы.ИмяТЧ.ТекущиеДанные, ПредыдущаяСтрока, "ИмяПоля1, ИмяПоля2")
        КонецЕсли;
    КонецЕсли;

КонецПроцедуры

mohitus

Спасибо за внимание, но к сожалению не заработало((
1. Имеет ли значение то, что этот обработчик для Справочника, а мне нужен для Документа?
2. У меня в ТЧ более 2 полей, как повлиять на это ограничение?

antoneus

1. Не имеет. Кстати, почему вы решили, что это процедура именно для справочника?
2. Третий параметр процедуры ЗаполнитьЗначенияСвойств - список имен копируемых реквизитов, который, разумеется, не ограничивается двумя.
3. В свойствах элемента формы процедура к событию привязана? Покажите код.

mohitus

1. Только по той причине, что в своём первом сообщении указал что имеется "Справочник с табличной частью"))
2. С этим разобрался)) Нашёл у себя ошибку в коде
3. А вот здесь пока не разобрался(
- код абсолютно такой же как вы мне и написали, за исключением правильного имени ТЧ и имени полей;
- суть вопроса понял. Думал что достаточно будет создать процедуру и она автоматически пропишется к событию. А сейчас смотрю на список доступных событий для формы и не вижу "ПриНачалеРедактирования" и где её теперь найти...не знаю((
Добавлено: 24 мая 2020, 23:35


Уважаемый antoneus! Вопрос решился очень просто!))) Оказывается есть "волшебная" кнопка - F9. Дублирует последнюю строку. Вношу небольшие изменения и снова F9...и т.д.


antoneus

Это событие не формы, а таблицы. Написал же сразу)

Цитата: antoneus от 23 мая 2020, 23:45
Привязываем обработчик события ПриНачалеРедактирования элемента формы, который эта самая табличная часть.

mohitus

Но разобраться до конца всё таки хотелось бы!)) Как можно это решить через код!

antoneus

Цитата: mohitus от 24 мая 2020, 22:57
Уважаемый antoneus! Вопрос решился очень просто!))) Оказывается есть "волшебная" кнопка - F9. Дублирует последнюю строку. Вношу небольшие изменения и снова F9...и т.д.

Я думал, там слишком много изменять, поэтому нужны костыли) И дублирует она не последнюю строку, а ту, на которой курсор, если что.

mohitus

Да, нашёл!!! Сейчас попробую!!!
Добавлено: 24 мая 2020, 23:52


antoneus! Спасибо огромное! Всё заработало с первого тычка!!))) респект!

Теги: справочник 

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

Рейтинг@Mail.ru

Поиск