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

уникальность наименования

Автор malvina_l, 14 апр 2014, 08:43

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

malvina_l

Помогите пожалуйста!!!!
Есть документ, в документе есть табличная часть с полем серии,серии-это спарвочник "СЕрии" , делаю в документе в обработке проведения на уникальность этого поля не работает никак!!!
            ТЧ=ЭтотОбъект.Товары.Выгрузить();
      Для каждого ТекСтрока из ТЧ цикл

        Запрос=Новый Запрос;
      Запрос.Текст="ВЫБРАТЬ
                   |   СерииНоменклатуры.СерияНоменклатуры,
                   |   СерииНоменклатуры.СерияНоменклатуры.Наименование,
                   |   СерииНоменклатуры.СерияНоменклатуры.Ссылка
                   |ИЗ
                   |   Справочник.СерииНоменклатуры КАК СерииНоменклатуры
                   |ГДЕ
                   |   СерииНоменклатуры.СерияНоменклатуры.Наименование <> &СерияНоменклатуры";
                |   И СерииНоменклатуры.СерияНоменклатуры= &Серия";
               
   Запрос.УстановитьПараметр("СерияНоменклатуры",ТекСтрока.СерияНоменклатуры.Наименование);
   Запрос.УстановитьПараметр("Серия",ТекСтрока.справочник);    
   Если НЕ Запрос.Выполнить().Пустой() Тогда
        Сообщить("СерияНоменклатуры " + ТекСтрока.СерияНоменклатуры + " не уникально");
        Отказ = Истина;
    КонецЕсли;
КонецЦикла;



wise

(0)
{
Запрос.УстановитьПараметр("СерияНоменклатуры",ТекСтрока.СерияНоменклатуры.Наименование);
Запрос.УстановитьПараметр("Серия",ТекСтрока.справочник);
}
НАВЕРНОЕ, здесь ОШИБКА.
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

cska-fanat-kz

Проверяйте лучше примерно в таком ключе:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
| СУММА(1) КАК КоличествоТоваров
|ПОМЕСТИТЬ ВТ
|ИЗ
| Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
|ГДЕ
| ПоступлениеТоваровУслугТовары.Ссылка = &СсылкаНаДокумент
|
|СГРУППИРОВАТЬ ПО
| ПоступлениеТоваровУслугТовары.Номенклатура
|
|ИНДЕКСИРОВАТЬ ПО
| Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ.Номенклатура,
| ВТ.КоличествоТоваров
|ИЗ
| ВТ КАК ВТ
|ГДЕ
| ВТ.КоличествоТоваров > 1";

Запрос.УстановитьПараметр("СсылкаНаДокумент", СсылкаНаДокумент);

РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// Здесь ругаемся на дубли
КонецЦикла;


То есть работайте только с ТЧ, а вы делаете зачем-то N запросов к справочнику.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

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

Рейтинг@Mail.ru

Поиск