helpf.pro
Регистрация
 +1 
Распечатать

Функция проверки на дубли строк в табличной части документа

Код 1C v 8.х
 Функция ПроверкаНаДублиСтрок(Ссылка, ИмяТаблЧасти = "Товары", Колонка = "Товар", Колонка2 = "", Отказ = Ложь, Заголовок = "") Экспорт

ИмяДока = Ссылка.Метаданные().Имя;

ЕстьДополнительно = Колонка2 <> "";

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Док." + Колонка + " КАК ID,
| ПРЕДСТАВЛЕНИЕ(Док." + Колонка + ") КАК Сверка," + ?(ЕстьДополнительно,"
| ПРЕДСТАВЛЕНИЕ(Док." + Колонка2 + ") КАК Сверка2,", "") + "
| Док.НомерСтроки КАК НомерСтроки,
| ДокКопия.НомерСтроки КАК НомерСтрокиКопия
|ИЗ
| Документ." + ИмяДока + "." + ИмяТаблЧасти + " КАК Док
| СОЕДИНЕНИЕ Документ." + ИмяДока + "." + ИмяТаблЧасти + " КАК ДокКопия
| ПО Док." + Колонка + "= ДокКопия." + Колонка + "
| И Док.НомерСтроки < ДокКопия.НомерСтроки" + ?(ЕстьДополнительно,"
| И Док." + Колонка2 + "= ДокКопия." + Колонка2, "") + "
|ГДЕ
| Док.Ссылка = &Ссылка
| И ДокКопия.Ссылка = &Ссылка
|
|УПОРЯДОЧИТЬ ПО
| ID,
| НомерСтроки";

Запрос.УстановитьПараметр("Ссылка", Ссылка);
Результат = Запрос.Выполнить().Выбрать();
ЕстьДубль = Ложь;
СтрокаСообщения = "Проверка табличной части на дублирующиеся строки:
|Обнаружены одинаковые позиции! Колонк"
+ ?(ЕстьДополнительно, "и: " +Колонка +" и " + Колонка2, "а: "+ Колонка);

Пока Результат.Следующий() Цикл

Если ЕстьДополнительно Тогда
Значение = СокрП(Результат.Сверка)+ ", " + Результат.Сверка2;
Иначе
Значение = Результат.Сверка;
КонецЕсли;

СтрокаСообщения = СтрокаСообщения + Символы.ПС + "Строка № " + Формат(Результат.НомерСтроки, "ЧГ=")
+ " и строка № " + Формат(Результат.НомерСтрокиКопия, "ЧГ=")
+ " значение: " + Значение;
ЕстьДубль = Истина;

КонецЦикла;

Если ЕстьДубль Тогда
обСообщитьОбОшибке(СтрокаСообщения, Отказ, Заголовок);
КонецЕсли;
Возврат Отказ;
КонецФункции
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 11625
 +1 
Распечатать
Возможно, вас также заинтересует
Как заполнить табличную часть формы программно? 2
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код...
1C и Google Maps 12
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во...
1C: Enterprise Development Tools 35
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
Excel файл как Внешний источник данных 4
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто. 1. В конфигурации добавляет новый объект метаданных типа " Внешние источники данных" и назовем его просто " Excel" . ...
Google maps : вывод точек на карту и режим панорамы 2
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С...
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.