Удаление строк из табличной части документа, все или по условию.


Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить — сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П 17 правил для составления оптимального ЗАПРОСа к данным базы 1С 50
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш 1С 7.x : Как получить курсы валют с сайта НБУ http://www.bank.gov.ua/ за любую дату ? 6
Функция ПолучитьТаблицуКурсовНБУ(ДатаКурса, Ежедневно = 1) // если в качестве второго параметра указать число отличное от 1 — получем валюты, которые котируются на ежемесячной основе Перем Reader, Url, Точки, HtmlTab, Строк, Р, НомСтроки, НомЯче 1С 8.x : Как убрать лидирующие нули в номере Документа (вариант2) 0
Скопировать строку с номером, с лидирующими нулями, в числовом поле (с форматом без групп, без группировки), и вернуть(скопировать) обратно в строковом поле с номером. Возвращает без нулей. Посмотреть все результаты поиска похожих
Еще в этой же категории
Документ «Операция» — Как программно создать и заполнить? 50
В бухгалтерских подсистемах типовых конфигураций есть всем известный документ «Операция». Бухгалтерам не приходится долго объяснять, как им пользоваться. Все по-бухгалтерски просто и лаконично: счет дебета, счет кредита, субконто, количество, сумма и Как удалить движения документа программно? 36
Потребовалось в УТ быстро удалить все движения по банку, дело вроде легкое — отменить проведение всех поступлений и списаний безналичных денежных средств, но не тут то было. При попытке отмены проведения выполнялись проверки на условия оплаты по Как проверить какого Типа Документ? 27
Если ТипЗнч(ОбрДокументСсылка) = Тип(» ДокументСсылка.РеализацияТоваров» ) Тогда // Строки кода, выполняемые при истинности условия. КонецЕсли; Отмена создания документа в Обработке Заполнения 22
В процедуре ОбработкаЗаполнения установка СтандартнаяОбработка = Ложь не приводит к отмене создания документа. В Интернете нашел только советы передавать параметр в форму и при открытии формы его анализировать, что в принципе правильно, но как-то неу Последовательность выполнения процедур записи, проведения, отмены проведения Документов в УП. 20
Идея была взята с Последовательность записи/проведения в обычных формах (некоторые части теста скопированы и подкорректированы *12 ). Для чего может пригодиться знание последовательности, в которой отрабатывают предопределенные процедуры модуля д Посмотреть все в категории Документы
1С 8.3 Удалить строки табличной части документа/справочника — Программист 1С Минск. Автоматизация бизнеса.

1С 8.3 Удалить строки табличной части документа/справочника
Данные > Примеры кода 1С > 1С 8.3 Документы
ПРИМЕРЫ КОДА 1С
Перейти в основной раздел:

Удалить строки (по условию) в табличной части в 1С 8.3:
&НаСервере
Процедура УдалитьСтрокиВТЧпоУсловию ()
ОтгрузкаСсылка = Документы . ОтгрузкаТоваров . НайтиПоНомеру ( «МРБ-000123» , ‘20200430’ );
МассивСтрокУдалить = Новый Массив ;
// Вариант 1
Для Каждого Строка Из ОтгрузкаСсылка . Номенклатура Цикл
Если НЕ ЗначениеЗаполнено ( Строка . Номенклатура ) Тогда
МассивСтрокУдалить . Добавить ( Строка );
КонецЕсли;
КонецЦикла;
Для Каждого ЭлементМассив Из МассивСтрокУдалить Цикл
Объект . Номенклатура . Удалить ( ЭлементМассив ); //удаляем нужную строку
КонецЦикла;
// Вариант 2
//КоличествоСтрок = ОтгрузкаСсылка.Номенклатура.Количество()-1;
//ИндексСтроки = КоличествоСтрок;
//Для А = 0 по КоличествоСтрок Цикл
// Строка = ОтгрузкаСсылка.Номенклатура.Получить(ИндексСтроки);
// Если НЕ ЗначениеЗаполнено(Строка.Номенклатура) Тогда
// ОтгрузкаСсылка.Номенклатура.Удалить(Строка);
// КонецЕсли;
// ИндексСтроки = ИндексСтроки — 1;
//КонецЦикла;
Удалить строки (с отбором) в табличной части в 1С 8.3:
&НаСервере
Процедура УдалитьСтрокиВТЧпоОтбору ()
ОтгрузкаСсылка = Документы . ОтгрузкаТоваров . НайтиПоНомеру ( «МРБ-000123» , ‘20200430’ );
ОтгрузкаТоваров = ОтгрузкаСсылка . ПолучитьОбъект ();
СтруктураДляПоиска = Новый Структура ( «Количество» , 0 );
//Получаем список строк соответсвтвующих отбору, и перебором удаляем.
МассивСтрокУдалить = ОтгрузкаТоваров . Номенклатура . НайтиСтроки ( СтруктураДляПоиска );
Для Каждого Строка Из МассивСтрокУдалить Цикл
ОтгрузкаТоваров . Номенклатура . Удалить ( Строка );
КонецЦикла;
ОтгрузкаТоваров . Записать (); // Записываем изменения в документ
Удалить строки через Таблицу Значений (с отбором) в табличной части в 1С 8.3:
&НаСервере
Процедура УдалитьСтрокиВТЧпоОтборуЧерезТЗ ()
ОтгрузкаСсылка = Документы . ОтгрузкаТоваров . НайтиПоНомеру ( «МРБ-000123» , ‘20200430’ );
// Укажем условия отбора: Нужно оставить только строки где СубконтоКт1 = РБПНаПФР
ПараметрыОтбора = Новый Структура ( «СубконтоКт1» , Справочники . РасходыБудущихПериодов . РБПНаПФР );
//Теперь выгружаем табличную часть в таблицу значений
ТЗисходн = ОтгрузкаСсылка . Номенклатура . Выгрузить ();
//Скопируем ТЗ с заданным отбором в новую ТЗ
ТЗ = ТЗисходн . Скопировать ( ПараметрыОтбора );
//Очистим табличную часть
ОтгрузкаСсылка . Номенклатура . Очистить ();
//Загружем в табличную часть новую таблицу значений
ОтгрузкаСсылка . Номенклатура . Загрузить ( ТЗ );
Удалить строки по условию из табличной части 1С
Удивительно, но простым перебором строк и удалением по индексу нужные строки из табличной части удалить не получится. Дело в том, что при удалении индексы строк меняются.
Решить проблему можно с помощью такого кода:
КолВо = Бонусы . Количество ( ) — 1 ; // Получаем количество строк в табличной части минус один
ИндексСтрок и = КолВо ; //Первый индекс строки
Для Счетчик = 0 по КолВо Цикл //Перебираем строки табличной части
Запись = Бонусы . Получить ( ИндексСтроки ) ; //Получаем первую строку
Если Запись . СуммаУТ=Запись . СуммаРозница тогда //Проверяем на заданное условие
Бонусы . Удалить ( Запись ) ; //Удаляем
ИндексСтрок и = ИндексСтрок и — 1 ; //Получаем индекс следующей записи
КонецЦикла;
Надеюсь, вам помог этот пример. Если вы знаете другой способ, как удалить строки по условию из табличной части, вы можете поделиться им в комментариях.)
А если вы хотите научиться без обращения к программистам справляться с большинством задач — приглашаю Вас на мой курс Аналитик 1С
Похожие записи:
-
Обработка табличной части 1с 8.2. Скачать пример.Для того, чтобы произвести какие то действия со строками табличной.Внешняя Счет-фактура для УТ 10.3 с 1.07.2021 (редакция 534)С 1.07.2021 все предприятия обязаны применять новую форму счет-фактуры по.Вывести сообщение пользователю с привязкой к конкретной строке табличной части.В том случае, когда производится проверка в табличной части с.Где в 1С акт сверки и как его сделать в Бухгалтерии 3.0 и 2.0Содержание статьи: Делаем акт сверки в 1С Бухгалтерия 3.0 Делаем.
От Программист 1С
Просмотреть все записи от Программист 1С по этой ссылке.
Извините, но этот сайт или его страница сейчас отключены
О причинах неработоспособности сайта Вы можете уточнить у администрации – хостинг-провайдер .masterhost, отвечающий за его поддержку, предоставляет управление услугами и доменами их владельцам.
Здесь можно ознакомиться с актуальными акциями и выгодными предложениями от .masterhost
Если этот сайт принадлежит Вам
Пожалуйста, проверьте баланс лицевого счета или свяжитесь со службой технической поддержки:
- +7 (495) 772-97-20 (для Москвы);
- 8-800-200-97-20 (для регионов);
- E-mail: support@masterhost.ru.