Имя: Пароль:
1C
1С v8
УПП проверка таб на совпадение номенклатуры в таб части
0 JIeoIIoJIbD
 
26.08.13
10:11
Привет всем , сложность следующая : есть документ "установка скидок" и "Заказ покупателя" нужно проверить есть ли номенклатура из табличной части одного документа в другом , также не забывая про дату установки/окончания действия скидки и "контрагента"
1 Галахад
 
гуру
26.08.13
10:12
Оно же само все проставляет.
2 JIeoIIoJIbD
 
26.08.13
10:12
делаю следующим образом, но не взлетает, подскажите куда копать

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

                                Если НЕ Запрос.Выполнить().Пустой() Тогда
                                    РезультатВыборки = Запрос.Выполнить().Выбрать();
                                
                                    Таблица = Новый ТаблицаЗначений;
                                    Таблица.Колонки.Добавить("Наименование");
                            
                                    
                                    Пока РезультатВыборки.Следующий() Цикл
                                        НоваяСтрока = Таблица.Добавить();
                                        НоваяСтрока.Наименование = РезультатВыборки;
                            
                                    КонецЦикла;
                                    Сообщить(РезультатВыборки.Количество() );
                                КонецЕсли;