Как найти строку в табличной части документа в 1с 8
Перейти к содержимому

Как найти строку в табличной части документа в 1с 8

Как найти строку в табличной части документа в 1с 8

Казалось бы, простая задача – изменить данные в определённой строке табличной части документа или справочника.

Получаем объект, табличную часть которого надо изменить. Используем метод ПолучитьОбъект() .

Итак, у нас есть табличная часть и есть метод Найти() , который возвращает строку табличной части. Однако при попытке присвоить полю найденной строки какого-либо значения, система выдаёт ошибку.

Выход: изменять строки табличной части в цикле.

Допустим, табличная часть называется «Товары». Она имеет две колонки: «Номенклатура» и «Артикул».

1С 8.3 Проверка на дубли строк в табличной части документа — Программист 1С Минск. Автоматизация бизнеса.

1С 8.3 Проверка на дубли строк в табличной части документа

  • 1С 8.3 Документы

Процедура ОбработкаПроверкиЗаполнения ( Отказ , ПроверяемыеРеквизиты )

Если Товары . Количество () = 0 Тогда
Возврат;
КонецЕсли;

ПроверитьДублиСтрок ( Ссылка , «Товары» , «Номенклатура, ШтрихКод» , Отказ );

//Процедура проверяет наличие в ТЧ дублей строк по указанным реквизитам
//ДокументСсылка — ссылка на проверяемый документ
//ИмяТабЧасти — имя проверяемой табличной части (строка)
//ПроверяемРеквизиты — перечень проверяемых реквизитов (строка, реквизиты разделяются запятой)
Процедура ПроверитьДублиСтрок ( ДокументСсылка , ИмяТабЧасти , ПроверяемРеквизиты , Отказ )

ТаблДок = ДокументСсылка [ ИмяТабЧасти ]. Выгрузить ();
ТаблДок . Колонки . Добавить ( «КоличПроверкаДублей» );
ТаблДок . ЗаполнитьЗначения ( 1 , «КоличПроверкаДублей» );
ТаблДок . Свернуть ( ПроверяемРеквизиты , «КоличПроверкаДублей» );

Для Каждого ТекСтрока Из ТаблДок Цикл
Если ТекСтрока . КоличПроверкаДублей > 1 Тогда
ДляСообщения = «» ;
СтрРекв = СокрЛП ( ПроверяемРеквизиты );
Пока Найти ( СтрРекв , «,» ) > 0 Цикл
НаимРеквизита = СокрЛП ( Лев ( СтрРекв , Найти ( СтрРекв , «,» ) — 1 ));
СтрРекв = Прав ( СтрРекв , СтрДлина ( СтрРекв ) — Найти ( СтрРекв , «,» ));
ДляСообщения = ДляСообщения + ТекСтрока [ НаимРеквизита ]+ «, » ;
КонецЦикла;
ДляСообщения = ДляСообщения + ТекСтрока [ СокрЛП ( СтрРекв )];

Сообщение = Новый СообщениеПользователю ;
Сообщение . Текст = «В разделе » + ТекСтрока . Раздел + » одинаковые значения: » + ДляСообщения + «, сохранение невозможно» ;
Сообщение . Сообщить ();

Таблица значений в 1С 8.3, 1С 8.2Как работать с таблицей значений 1С 8.3, 1С 8.2 Таблица значений 1С 8.3, 1С 8.2 Примеры для разработчика 1С

Рассмотрим основные приемы работы с таблицей значений при помощи встроенного языка 1С. Примеры будем ориентировать на потребность программиста 1С применять эти способы и приемы в версиях 1С 8.3 и 1С 8.2

Как известно, таблица значений чрезвычайно удобный инструмент для оперирования с наборами данных.

Рассматривать будем начиная с самого простого, постепенно усложняя примеры работы с таблицей значений.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *