0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 54
|
|
1 | |
Запрос. Условие: строка из первой табличной части равна любой строке из другой табличной части21.10.2013, 06:57. Показов 8931. Ответов 23
Метки нет Все метки)
(
Есть документ "РаспределениеМатериаловНаВыпуск".
У этого документа имеется "Форма документа". На этой форме есть элементы формы: "ОсновнаяПанель". На элементе "ОсновнаяПанель" есть две табличные части: "Продукция" и "Материалы". Каждая табличная часть имеет поле "Заказ". Вопрос: Как мне поставить условие в запрос: "строка из первой табличной части равна любой строке из другой табличной части"? Я предполагаю должно получиться что-то на подобие: Документ.РаспределениеМатериаловНаВыпуск.ФормаДокумента.Элем ентыФормы.ОсновнаяПанель.Материалы.Заказ = Документ.РаспределениеМатериаловНаВыпуск.ФормаДокумента.Элем ентыФормы.ОсновнаяПанель.Продукция.Заказ Но то что я написал не работает. Помогите пожалуйста решить данную проблему.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
21.10.2013, 06:57 | |
Ответы с готовыми решениями:
23
Копирование данных из ячейки одной Табличной Части на форме в такую же ячейку другой Табличной части на этой же форме
Значение строки табличной части получить в табличной части другого документа
|
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 54
|
|
21.10.2013, 07:31 [ТС] | 2 |
Или так:
Документ.РаспределениеМатериаловНаВыпуск.ФормаДокумента.Элем ентыФормы.ОсновнаяПанель.Страницы.Продукция.Значение = Документ.РаспределениеМатериаловНаВыпуск.ФормаДокумента.Элем ентыФормы.ОсновнаяПанель.Страницы.Материалы.Значение
0
|
900 / 877 / 8
Регистрация: 15.03.2012
Сообщений: 2,680
|
|
21.10.2013, 09:13 | 3 |
so1idsnake, не совсем понятно о чем идет речь, т.к. в запросах обращение к элементам формы не используются. Вам условие нужно все таки в запросе наложить или просто в коде формы что то проверить?
1
|
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 54
|
|
21.10.2013, 09:30 [ТС] | 4 |
Мне нужно наложить условие в запросе.
На скриншоте видно Панель. У которой пять вкладок, две из них: "Продукция" и "Материалы". В каждой из вкладок имеются строки. Мне нужно, что бы запрос, брал строки из вкладки "Материалы" и сравнивал их со строками вкладки "Продукция". Если две строки имеют одинаковое поле "Заказ", то выводить эти строки во вкладке "Материалы". Я делал так: Код
|ИЗ ( | //ДляУпрУчета //ТекстЗапросаПоОстаткамНезавершенногоПроизводстваУУ | //ДляУпрУчета //ДляБухУчета ОБЪЕДИНИТЬ ВСЕ | //ДляБухУчета //ТекстЗапросаПоОстаткамНезавершенногоПроизводстваБУ | //ДляБухУчета //ДляНалУчета ОБЪЕДИНИТЬ ВСЕ | //ДляНалУчета //ТекстЗапросаПоОстаткамНезавершенногоПроизводстваНУ | ) КАК НезавершенноеПроизводство, | Документ.РаспределениеМатериаловНаВыпуск |ГДЕ | НезавершенноеПроизводство.Заказ = Продукция.Заказ
0
|
900 / 877 / 8
Регистрация: 15.03.2012
Сообщений: 2,680
|
|
21.10.2013, 12:09 | 5 |
Используете внутреннее соединение таблиц Документ.РаспределениеМатериаловНаВыпуск.Материалы и Документ.РаспределениеМатериаловНаВыпуск.Продукция.
1
|
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 54
|
|
21.10.2013, 12:26 [ТС] | 6 |
Внутреннее соединение тоже пробовал:
Код
|ИЗ ( | | | //ДляУпрУчета //ТекстЗапросаПоОстаткамНезавершенногоПроизводстваУУ | //ДляУпрУчета //ДляБухУчета ОБЪЕДИНИТЬ ВСЕ | //ДляБухУчета //ТекстЗапросаПоОстаткамНезавершенногоПроизводстваБУ | //ДляБухУчета //ДляНалУчета ОБЪЕДИНИТЬ ВСЕ | //ДляНалУчета //ТекстЗапросаПоОстаткамНезавершенногоПроизводстваНУ | ) КАК НезавершенноеПроизводство, | Документ.РаспределениеМатериаловНаВыпуск | |ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РаспределениеМатериаловНаВыпуск.Материалы КАК ДокументРаспределениеМатериаловНаВыпускМатериалы | По ДокументРаспределениеМатериаловНаВыпускМатериалы.Заказ = Документ.РаспределениеМатериаловНаВыпуск.Продукция.Заказ.Ссылка Я нуб ещё в этом, быть может я пишу неправильно соединение?
0
|
855 / 654 / 111
Регистрация: 01.11.2012
Сообщений: 2,406
|
||||||
21.10.2013, 12:54 | 7 | |||||
1
|
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 54
|
|
21.10.2013, 13:06 [ТС] | 8 |
Ребята, вы уж сильно не ругайтесь на меня, но у меня до этого в запросе есть другие условие, и нужно добавить новые не избавляясь от старых.
Вот код: Код
ТекстЗапроса = " |ВЫБРАТЬ | НезавершенноеПроизводство.ЕстьРасчетСебестоимостиВыпуска, | НезавершенноеПроизводство.Затрата КАК Номенклатура, | НезавершенноеПроизводство.ХарактеристикаЗатраты КАК ХарактеристикаНоменклатуры, | НезавершенноеПроизводство.СерияЗатраты КАК СерияНоменклатуры, | НезавершенноеПроизводство.СтатьяЗатрат, | НезавершенноеПроизводство.НоменклатурнаяГруппа, | НезавершенноеПроизводство.Заказ КАК Заказ, | | НезавершенноеПроизводство.ЕдиницаИзмерения, | НезавершенноеПроизводство.Коэффициент, | | НезавершенноеПроизводство.СчетЗатрат, | НезавершенноеПроизводство.СчетЗатратНУ, | | | &Знак * НезавершенноеПроизводство.Количество КАК Количество, | &Знак * НезавершенноеПроизводство.КоличествоБух КАК КоличествоБух, | &Знак * НезавершенноеПроизводство.КоличествоНал КАК КоличествоНал, | | &Знак * НезавершенноеПроизводство.Сумма КАК Сумма, | &Знак * НезавершенноеПроизводство.СуммаБух КАК СуммаБух, | &Знак * НезавершенноеПроизводство.СуммаНал КАК СуммаНал | |ИЗ ( | | | //ДляУпрУчета //ТекстЗапросаПоОстаткамНезавершенногоПроизводстваУУ | //ДляУпрУчета //ДляБухУчета ОБЪЕДИНИТЬ ВСЕ | //ДляБухУчета //ТекстЗапросаПоОстаткамНезавершенногоПроизводстваБУ | //ДляБухУчета //ДляНалУчета ОБЪЕДИНИТЬ ВСЕ | //ДляНалУчета //ТекстЗапросаПоОстаткамНезавершенногоПроизводстваНУ | ) КАК НезавершенноеПроизводство, | Документ.РаспределениеМатериаловНаВыпуск.Материалы КАК Материалы | |ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РаспределениеМатериаловНаВыпуск.Продукция КАК Продукция | По Материалы.Заказ = Продукция.Заказ При этом строки выводятся каким-то чудом если одна из табличных частей вообще пустая. Уже мозг скоро лопнет. Ещё на всякий случай добавлю что данные в табличной части "материалы" берутся из РегистрНакопления.НезавершенноеПроизводство. Быть может это важно.
0
|
855 / 654 / 111
Регистрация: 01.11.2012
Сообщений: 2,406
|
|
21.10.2013, 13:20 | 9 |
Уточню, у тебя есть ТЧ Продукция и она заполена, ты хочешь заполнять ТЧ Материалы по текущей строке из ТЧ Продукция Остатками по региструНакопления.НезавершенноеПроизводство?
1
|
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 54
|
|
21.10.2013, 13:32 [ТС] | 10 |
У меня есть ТЧ продукция и она заполнена, ТЧ материалы очищена.
Сейчас по нажатию кнопки, у меня формируется запрос, который берёт данные из РегистрНакопления.НезавершенноеПроизводство и вставляет эти строки в ТЧ материалы. Я хочу что бы эти строки проходили дополнительный отбор, и что бы записывались только те строки, у которых поле "Заказ" имеет аналогичную запись в ТЧ продукция с таким же заполнением поля "Заказ".
0
|
855 / 654 / 111
Регистрация: 01.11.2012
Сообщений: 2,406
|
|
21.10.2013, 13:41 | 12 |
Или как Dethmontt предлагает или так,
del У предыдущего автора лучше
1
|
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 54
|
|
21.10.2013, 14:12 [ТС] | 13 |
Строку №1 я добавил внутри запроса.
Строку №3 я изменил немного второй параметр так как отладчик ругался и вставил сразу после запроса: Код
ТекстЗапроса.УстановитьПараметр("Заказы", Документы.РаспределениеМатериаловНаВыпуск.ПолучитьФорму("ФормаДокумента").ЭлементыФормы.ОсновнаяПанель.Страницы.Продукция.ВыгрузитьКолонку("Заказ")); Заполнение ТЧ не произведено! Поле объекта недоступно для чтения Когда я изменял последнюю строку и набрал Продукция. , то у меня было "Видимость", "Доступность", "Заголовок", "Значение", "Имя", "КартинкаЗаголовка", "Раскрыта". Мне кажется он не знает что такое "ВыгрузитьКолонку".
0
|
Модератор
![]() |
|
21.10.2013, 14:18 | 14 |
По моему это ты не понимаешь что написал =))
Добавлено через 1 минуту Покажи все параметры запроса Добавлено через 2 минуты Для понимания.... Попробуй объяснить что ты тут написал?
1
|
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 54
|
|
21.10.2013, 14:31 [ТС] | 15 |
Это я попытался обратиться к колонке "Заказ" табличной части "продукция". И да, признаю, это я не понимаю что написал)))
Что значит показать все параметры запроса? То есть написать "ТекстЗапроса." и посмотреть что будет после точки? К сожаления ничего не будет... Или под параметрами запроса подразумевался сам запрос? Если да, то вот он: Код
ТекстЗапроса = " |ВЫБРАТЬ | НезавершенноеПроизводство.ЕстьРасчетСебестоимостиВыпуска, | НезавершенноеПроизводство.Затрата КАК Номенклатура, | НезавершенноеПроизводство.ХарактеристикаЗатраты КАК ХарактеристикаНоменклатуры, | НезавершенноеПроизводство.СерияЗатраты КАК СерияНоменклатуры, | НезавершенноеПроизводство.СтатьяЗатрат, | НезавершенноеПроизводство.НоменклатурнаяГруппа, | НезавершенноеПроизводство.Заказ КАК Заказ, | | НезавершенноеПроизводство.ЕдиницаИзмерения, | НезавершенноеПроизводство.Коэффициент, | | НезавершенноеПроизводство.СчетЗатрат, | НезавершенноеПроизводство.СчетЗатратНУ, | | &Знак * НезавершенноеПроизводство.Количество КАК Количество, | &Знак * НезавершенноеПроизводство.КоличествоБух КАК КоличествоБух, | &Знак * НезавершенноеПроизводство.КоличествоНал КАК КоличествоНал, | | &Знак * НезавершенноеПроизводство.Сумма КАК Сумма, | &Знак * НезавершенноеПроизводство.СуммаБух КАК СуммаБух, | &Знак * НезавершенноеПроизводство.СуммаНал КАК СуммаНал | |ИЗ ( | | //ДляУпрУчета //ТекстЗапросаПоОстаткамНезавершенногоПроизводстваУУ | //ДляУпрУчета //ДляБухУчета ОБЪЕДИНИТЬ ВСЕ | //ДляБухУчета //ТекстЗапросаПоОстаткамНезавершенногоПроизводстваБУ | //ДляБухУчета //ДляНалУчета ОБЪЕДИНИТЬ ВСЕ | //ДляНалУчета //ТекстЗапросаПоОстаткамНезавершенногоПроизводстваНУ | ) КАК НезавершенноеПроизводство | |ГДЕ | НезавершенноеПроизводство.Заказ В (&Заказы) // это я добавил только что. |СГРУППИРОВАТЬ ПО | НезавершенноеПроизводство.ЕстьРасчетСебестоимостиВыпуска, | НезавершенноеПроизводство.Затрата, | НезавершенноеПроизводство.ХарактеристикаЗатраты, | НезавершенноеПроизводство.СерияЗатраты, | НезавершенноеПроизводство.СтатьяЗатрат, | НезавершенноеПроизводство.НоменклатурнаяГруппа, | НезавершенноеПроизводство.Заказ, | | НезавершенноеПроизводство.ЕдиницаИзмерения, | НезавершенноеПроизводство.Коэффициент, | | НезавершенноеПроизводство.СчетЗатрат, | НезавершенноеПроизводство.СчетЗатратНУ, | НезавершенноеПроизводство.ИндексУчета, | | НезавершенноеПроизводство.Количество, | НезавершенноеПроизводство.КоличествоБух, | НезавершенноеПроизводство.КоличествоНал, | | НезавершенноеПроизводство.Сумма, | НезавершенноеПроизводство.СуммаБух, | НезавершенноеПроизводство.СуммаНал | |//ТолькоОтрицательныеОстатки ИМЕЮЩИЕ (НезавершенноеПроизводство.Количество < 0 |//ТолькоОтрицательныеОстатки ИЛИ НезавершенноеПроизводство.КоличествоБух < 0 |//ТолькоОтрицательныеОстатки ИЛИ НезавершенноеПроизводство.КоличествоНал < 0) | |УПОРЯДОЧИТЬ ПО | НезавершенноеПроизводство.ИндексУчета | |ИТОГИ | МАКСИМУМ(ЕстьРасчетСебестоимостиВыпуска), | СУММА(Количество), | СУММА(КоличествоБух), | СУММА(КоличествоНал), | СУММА(Сумма), | СУММА(СуммаБух), | СУММА(СуммаНал) |ПО | НезавершенноеПроизводство.Затрата, | //Материальные НезавершенноеПроизводство.ХарактеристикаЗатраты, | //Материальные НезавершенноеПроизводство.СерияЗатраты, | НезавершенноеПроизводство.СтатьяЗатрат, | НезавершенноеПроизводство.НоменклатурнаяГруппа, | НезавершенноеПроизводство.Заказ, | //Материальные НезавершенноеПроизводство.ЕдиницаИзмерения, | //Материальные НезавершенноеПроизводство.Коэффициент, | НезавершенноеПроизводство.СчетЗатрат |";
0
|
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 54
|
|
21.10.2013, 15:49 [ТС] | 17 |
0
|
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 54
|
|
21.10.2013, 17:35 [ТС] | 19 |
0
|
Модератор
![]() |
|
21.10.2013, 20:56 | 20 |
Процедура Инициализировать(Объект,ИмяТЧ,НепомнюЭтотПараметр)
//Тут много текста //................ //................ Запрос.УстановитьПараметр("Заказы",Объект.ИмяТабличнойЧастиПроизводство.ВыгрузитьКолонку("Заказ"));
1
|
21.10.2013, 20:56 | |
Помогаю со студенческими работами здесь
20
Заполнение табличной части одного документа из табличной части другого документа Заполнение табличной части одного документа из табличной части этого же документа Строка табличной части (событие) Запись первой строки табличной части в в реквизит Запрос к табличной части Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |