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

Заполнить табличную часть. Программно.

Автор applesound, 31 дек 2019, 13:27

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

applesound

Добрый день.
Необходимо заполнить табличную часть спрвочника Партнеры.КонтактнаяИнформация.
Часть реквизитов заполнено: Ссылка, НомерСтроки, Тип, Вид, Представление, ЗначенияПолей
Часть реквизитов не заполнено: НомерТелефона, НомерТелефонаБезКодов

Необходимо на основании заполненного поля Представление дозаполнить поля НомерТелефона и НомерТелефонаБезКодов


Создана Подписка на событие / СправочникОбъект.Партнеры / ПередЗаписью
Процедура в общем модуле. При записи отладчиком попадаю в процедуру. Всё остальное не работает.

Процедура ПартнерПередЗаписьюПроверитьДополнитьКИПередЗаписью(Объект, Отказ) Экспорт
// Вставить содержимое обработчика.
ДляОтладки = Истина;
Таблица = Объект.КонтактнаяИнформация.Добавить();
Таблица.Колонки.Добавить("НомерТелефона");
Таблица.Колонки.Добавить("НомерТелефонаБезКодов");

Для каждого Строка Из Таблица Цикл
Строка.НомерТелефона = Объект.КонтактнаяИнформация.Представление;
Сообщить(Строка.НомерТелена);
Строка.НомерТелефонаБезКодов = Объект.КонтактнаяИнформация.Представление;
Сообщить(Строка.НомерТелефонаБезКодов);
КонецЦикла;
КонецПроцедуры

alexandr_ll

Цитата: applesound от 31 дек 2019, 13:27
Добрый день.
Необходимо заполнить табличную часть спрвочника Партнеры.КонтактнаяИнформация.
Часть реквизитов заполнено: Ссылка, НомерСтроки, Тип, Вид, Представление, ЗначенияПолей
Часть реквизитов не заполнено: НомерТелефона, НомерТелефонаБезКодов

Необходимо на основании заполненного поля Представление дозаполнить поля НомерТелефона и НомерТелефонаБезКодов


Создана Подписка на событие / СправочникОбъект.Партнеры / ПередЗаписью
Процедура в общем модуле. При записи отладчиком попадаю в процедуру. Всё остальное не работает.

Процедура ПартнерПередЗаписьюПроверитьДополнитьКИПередЗаписью(Объект, Отказ) Экспорт
// Вставить содержимое обработчика.
ДляОтладки = Истина;
Таблица = Объект.КонтактнаяИнформация.Добавить();
Таблица.Колонки.Добавить("НомерТелефона");
Таблица.Колонки.Добавить("НомерТелефонаБезКодов");

Для каждого Строка Из Таблица Цикл
Строка.НомерТелефона = Объект.КонтактнаяИнформация.Представление;
Сообщить(Строка.НомерТелена);
Строка.НомерТелефонаБезКодов = Объект.КонтактнаяИнформация.Представление;
Сообщить(Строка.НомерТелефонаБезКодов);
КонецЦикла;
КонецПроцедуры
Этот метод
Таблица = Объект.КонтактнаяИнформация.Добавить();
Добавляет пустую строку в табличную часть справочника, поэтому все дальнейшее не выполняется. Вероятно, вы планировали выгрузить табличную часть в таблицу значений.
Таблица = Объект.КонтактнаяИнформация.Выгрузить();

FanFani

Я так понял что поле представление просто перенести в строку номер телефона?
Извините, но в коде какой-то бред написан.

Процедура ПартнерПередЗаписьюПроверитьДополнитьКИПередЗаписью(Объект, Отказ) Экспорт
Для каждого СтрокаТЧ из Объект.КонтактнаяИнформация Цикл
    Если Не ЗначениеЗаполнено(СтрокаТЧ.НомерТелефона) Тогда
        СтрокаТЧ.НомерТелефона = СтрокаТЧ.Представление;
        СтрокаТЧ.НомерТелефонаБезКодов = СтрокаТЧ.Представление;
    КонецЕсли;
КонецЦикла;
КонецПроцедуры

applesound

Вопрос закрыт. Всем спасибо!!!
Добавлено: 09 янв 2020, 18:14


Цитата: FanFani от 07 янв 2020, 11:20
Я так понял что поле представление просто перенести в строку номер телефона?
Извините, но в коде какой-то бред написан.

Процедура ПартнерПередЗаписьюПроверитьДополнитьКИПередЗаписью(Объект, Отказ) Экспорт
Для каждого СтрокаТЧ из Объект.КонтактнаяИнформация Цикл
    Если Не ЗначениеЗаполнено(СтрокаТЧ.НомерТелефона) Тогда
        СтрокаТЧ.НомерТелефона = СтрокаТЧ.Представление;
        СтрокаТЧ.НомерТелефонаБезКодов = СтрокаТЧ.Представление;
    КонецЕсли;
КонецЦикла;
КонецПроцедуры


Всё работает !!!

Теги:

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

Рейтинг@Mail.ru

Поиск