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

Помогите с вопросом по строке ТЧ

Автор Алексей_1985_06, 14 дек 2019, 14:15

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

Алексей_1985_06

Добрый день уважаемые программисты 1С. Помогите решить вопрос с табличной частью, необходимо чтоб при каждой записи (проведении документа) в ТЧ "Паспортные данные" в справочнике, происходила запись новых данных паспорта, а старые данные вносились в поле "Сведения о ранее выданных паспортах", это происходит, но все записи почему-то в данную колонку происходят только со 2-й строки... Не могу понять что не так в коде?


&НаСервере
Процедура ИзменитьДанныеСправочникаНаСервере()
// Заполнить ТЧ "ПаспортныеДанные"
ИзмененияВСправочник = Объект.ФамилияИмяОтчество.ПолучитьОбъект(); // получаем ссылку на конкретного человека

Если ИзмененияВСправочник.ПаспортныеДанные.Количество() > 0 Тогда  //есть данные старого паспорта (записана первая строка)
НоваяСтрока = ИзмененияВСправочник.ПаспортныеДанные.Добавить(); // тогда добавляем в ТЧ "ПаспортныеДанные" новую строку для нового паспорта
// Присваиваем значения (строка/столбец) ТЧ "ПаспортныеДанные" 
НоваяСтрока.СерияПаспорта = Объект.СерияПаспорта;
НоваяСтрока.НомерПаспорта = Объект.НомерПаспорта;
НоваяСтрока.ДатаВыдачиПаспорта = Объект.ДатаВыдачи;
НоваяСтрока.КемВыданПаспорт = Объект.КемВыдан;
НоваяСтрока.КодПодразделения = Объект.КодПодразделения;
НоваяСтрока.Исполнитель = ИмяПользователя() + " | " + Строка(Формат(ТекущаяДата(),"ДЛФ=ДДВ"));

СтараяСтрока = ИзмененияВСправочник.ПаспортныеДанные[0];  // определяем первую строку ТЧ "ПаспортныеДанные"
НоваяСтрока.СведенияОРанееВыданныхПаспортах = "Серия:" + " " + СтараяСтрока.СерияПаспорта + " | " + "Номер:" + " " + СтараяСтрока.НомерПаспорта + " | " + "Код подразделения:" + " " + СтараяСтрока.КодПодразделения + " | " + "Дата выдачи:" + " " + Формат (СтараяСтрока.ДатаВыдачиПаспорта,"ДФ=dd.MM.yyyy") + " года";

СледующаяСтрока = ИзмененияВСправочник.ПаспортныеДанные[1]; // определяем вторую строку ТЧ "ПаспортныеДанные"
НоваяСтрока.СведенияОРанееВыданныхПаспортах = "Серия:" + " " + СледующаяСтрока.СерияПаспорта + " | " + "Номер:" + " " + СледующаяСтрока.НомерПаспорта + " | " + "Код подразделения:" + " " + СледующаяСтрока.КодПодразделения + " | " + "Дата выдачи:" + " " + Формат (СледующаяСтрока.ДатаВыдачиПаспорта,"ДФ=dd.MM.yyyy") + " года";
ИзмененияВСправочник.Записать();
КонецЕсли;
КонецПроцедуры


Теги:

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

Рейтинг@Mail.ru

Поиск