|
Проверка строк на заполненность ячеек в таблице |
☑ |
0
Pyryrym
21.08.20
✎
16:43
|
Мне надо из таблицы перенести данные в другую, но при этом если какая то ячейка не заполнена, то эта строка не копируется. Я написал такой код
НачатьТранзакцию();
СтрокаДанных = ТаблицаЗначений.Добавить();
Артикул = Значение1;
Если Не ЗначениеЗаполнено(Артикул) Тогда
ОтменитьТранзакцию();
Продолжить;
КонецЕсли;
СтрокаДанных.Артикул = Артикул;
Наименование = Значение2;
Если Не ЗначениеЗаполнено(Группа) Тогда
ОтменитьТранзакцию();
Продолжить;
КонецЕсли;
ЗафиксироватьТранзакцию();
У меня в первой строке отсутствует наименование, однако новая строка только с артикулом все равно создается.
|
|
1
Pyryrym
21.08.20
✎
16:43
|
И это в цикле
|
|
2
ДенисЧ
21.08.20
✎
16:49
|
Транзакции на ТЗ не работают.
Просто сначала проверяй заполненость, а потом уже строку добавляй.
|
|
3
Жан Пердежон
21.08.20
✎
16:49
|
всё неправильно и зачем тут Транзакции?
|
|
4
ZDenis
21.08.20
✎
16:56
|
Для каждого Строка Из ТЗ_1 Цикл
Копируем = Истина;
Для каждого Колонка из ТЗ_1.Колонки Цикл
Если Не ЗначениеЗаполнено(Строка[Колонка]) Тогда
Копируем = Ложь;
Прервать;
КонецЕсли;
КонецЦикла;
Если Копируем Тогда
Стр = ТЗ_2.Добавить();
ЗаполнитьЗначенияСвойств(Стр, Строка);
КонецЕсли;
КонецЦикла;
|
|
5
Мимохожий Однако
21.08.20
✎
17:01
|
Если не заполнена строка - удалить строку
|
|
6
Pyryrym
21.08.20
✎
17:02
|
Я неправильно понял, что такое транзакции, спасибо :*
|
|