powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Запрос: таблица в справочнике.
19 сообщений из 19, страница 1 из 1
Запрос: таблица в справочнике.
    #38218547
CTYDEHT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно и нубский такой вопрос

Есть справочник НеотправленныеУведомления с таблицей ПараметрыУведомления, подскажите как все это реализовать в запросе.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
НалВСпрНеотправленныеУведомления = Справочники.НеотправленныеУведомления.Выбрать();
		Если НалВСпрНеотправленныеУведомления.Отправлен = Истина Тогда
			Продолжить;
		КонецЕсли;			

	Пока НалВСпрНеотправленныеУведомления.Следующий() Цикл
                Для каждого СтрТЗ Из НалВСпрНеотправленныеУведомления.ПараметрыУведомления Цикл
                КонецЦикла;

        КонецЦикла;



Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
		Запрос = Новый Запрос;
		ТекстЗапроса ="
			|ВЫБРАТЬ *
			|ПараметрыУведомления
			|ИЗ 
			|Справочник.НеотправленныеУведомления КАК НУ
			|ГДЕ 
			|НУ.Отправлен <> ИСТИНА
			|";

		Запрос.Текст = ТекстЗапроса;
		Результат = Запрос.Выполнить().Выгрузить();
		Для каждого НалВСпрНеотправленныеУведомления из Результат Цикл
КонецЦикла;



Выборку нужных элементов справочника я сделал, вот только как обратится к таблице текущего элемента выборки так и не могу понять((. Чувстую что чего-то в запросе нехватает.

С запросами в 1с практически незнаком.
...
Рейтинг: 0 / 0
Запрос: таблица в справочнике.
    #38218581
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CTYDEHT,
а зачем вам тут запрос?
...
Рейтинг: 0 / 0
Запрос: таблица в справочнике.
    #38218594
CTYDEHT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckerCTYDEHT,
а зачем вам тут запрос?

Сначала надо отобрать нужные элементы справочника, потом обратится к таблицам отобранных элементов. Не знаю как к ним обратится.


Сверху немного условие неправильно вставил, выше цикла, а отредактировать нельзя.
...
Рейтинг: 0 / 0
Запрос: таблица в справочнике.
    #38218617
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CTYDEHT, откройте конструктор запроса, посмотрите какие таблицы предоставляет система для этого справочника. Сразу все станет намного понятнее.
...
Рейтинг: 0 / 0
Запрос: таблица в справочнике.
    #38218631
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CTYDEHT,
если есть индекс по полю Отправлен то можно так:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
выборка = Справочники.НеотправленныеУведомления.Выбрать(,,новый структура("Отправлен",ложь));

Пока выборка.следующий() цикл
//если нужно только читать данные таблицы
ТЧ = выборка.ссылка.ПараметрыУведомления;
//если нужно будет изменять данные таблицы
ТЧ = выборка.ПолучитьОбъект().ПараметрыУведомления;

Для каждого Строка из ТЧ цикл

Параметр = Строка.ИмяРеквизитаТаблицыПараметрыУведомления ;
//или
Строка.ИмяРеквизитаТаблицыПараметрыУведомления = Параметр;

конецЦикла;

КонецЦикла;



Если индекса нет, можно отобрать вашим запросом, только вот это |НУ.Отправлен <> ИСТИНА замените на человеческое условие.
После него пишете:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
выборка = Запрос.выполнить().выбрать();

Пока выборка.следующий() цикл
//если нужно только читать данные таблицы
ТЧ = выборка.ссылка.ПараметрыУведомления;
//если нужно будет изменять данные таблицы
ТЧ = выборка.ссылка.ПолучитьОбъект().ПараметрыУведомления;

Для каждого Строка из ТЧ цикл

Параметр = Строка.ИмяРеквизитаТаблицыПараметрыУведомления ;
//или
Строка.ИмяРеквизитаТаблицыПараметрыУведомления = Параметр;

конецЦикла;

КонецЦикла;
...
Рейтинг: 0 / 0
Запрос: таблица в справочнике.
    #38218653
CTYDEHT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
выборка = Запрос.выполнить().выбрать();

Пока выборка.следующий() цикл
//если нужно только читать данные таблицы
ТЧ = выборка.ссылка.ПараметрыУведомления;
//если нужно будет изменять данные таблицы
ТЧ = выборка.ссылка.ПолучитьОбъект().ПараметрыУведомления;

Для каждого Строка из ТЧ цикл

Параметр = Строка.ИмяРеквизитаТаблицыПараметрыУведомления ;
//или
Строка.ИмяРеквизитаТаблицыПараметрыУведомления = Параметр;

конецЦикла;

КонецЦикла;



Спасибо, как раз то, что надо было.
...
Рейтинг: 0 / 0
Запрос: таблица в справочнике.
    #38218660
CTYDEHT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker

только вот это |НУ.Отправлен <> ИСТИНА замените на человеческое условие.


А что в нем такого плохого?
Или лучше сразу писать "Отправлен <> ИСТИНА", без НУ?
...
Рейтинг: 0 / 0
Запрос: таблица в справочнике.
    #38218663
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CTYDEHT,
А что в нем такого плохого?
У вас есть ровно два родителя, мама и папа, вы называете папу "НЕ МАМА"?
...
Рейтинг: 0 / 0
Запрос: таблица в справочнике.
    #38218905
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckerCTYDEHT,
А что в нем такого плохого?
У вас есть ровно два родителя, мама и папа, вы называете папу "НЕ МАМА"?Хм а те у кого эээ 2 папы или 2 мамы... Тема не раскрыта.
...
Рейтинг: 0 / 0
Запрос: таблица в справочнике.
    #38219000
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1с,
ну ладно еще 2 папы, но 2 мамы?
...
Рейтинг: 0 / 0
Запрос: таблица в справочнике.
    #38219292
CTYDEHT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker
Код: vbnet
1.
2.
//если нужно будет изменять данные таблицы
ТЧ = выборка.ссылка.ПолучитьОбъект().ПараметрыУведомления;



А как обратиться к элементу справочника для записи?

Пробую тот же ПолучитьОбъект и меня шлют говоря что метода ПолучитьОбъект() нету...
...
Рейтинг: 0 / 0
Запрос: таблица в справочнике.
    #38219307
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CTYDEHT,
не может быть, дайте кусок кода где пробуете, есть такой метод.
...
Рейтинг: 0 / 0
Запрос: таблица в справочнике.
    #38219325
CTYDEHT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckerCTYDEHT,
не может быть, дайте кусок кода где пробуете, есть такой метод.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
		Запрос = Новый Запрос;
		ТекстЗапроса ="
			|ВЫБРАТЬ НУ.АдресПочты, НУ.ПараметрыУведомления, НУ.ДатаОтправления, НУ.Отправлен
			|ИЗ 
			|Справочник.НеотправленныеУведомления КАК НУ
			|ГДЕ 
			|НУ.Отправлен = ЛОЖЬ
			|";
			
		Запрос.Текст = ТекстЗапроса;
		НУРезультат = Запрос.Выполнить().Выбрать();
		Пока НУРезультат.Следующий() Цикл



НУРезультат.ПолучитьОбъект().Отправлен = Истина;

При таком выдает

Метод объекта не обнаружен (ПолучитьОбъект)
НУРезультат.ПолучитьОбъект().Отправлен = Истина;
...
Рейтинг: 0 / 0
Запрос: таблица в справочнике.
    #38219329
CTYDEHT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя у вас еще написано там "ссылка"

Код: vbnet
1.
2.
//если нужно будет изменять данные таблицы
ТЧ = выборка.ссылка.ПолучитьОбъект().ПараметрыУведомления;



Незнаю ток что подразумевается под ссылкой. или там метод "Ссылка"? пробовал сним таже беда, ток уже говорит что нет "Ссылка".
...
Рейтинг: 0 / 0
Запрос: таблица в справочнике.
    #38219334
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CTYDEHT,
|ВЫБРАТЬ НУ.АдресПочты, НУ.ПараметрыУведомления, НУ.ДатаОтправления, НУ.Отправлен
Добавьте туда еще НУ.Ссылка. Объект получите так: НУРезультат.ссылка.ПолучитьОбъект()
...
Рейтинг: 0 / 0
Запрос: таблица в справочнике.
    #38219357
CTYDEHT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckerCTYDEHT,
|ВЫБРАТЬ НУ.АдресПочты, НУ.ПараметрыУведомления, НУ.ДатаОтправления, НУ.Отправлен
Добавьте туда еще НУ.Ссылка. Объект получите так: НУРезультат.ссылка.ПолучитьОбъект()

Добавил
Код: vbnet
1.
2.
3.
Объект = НУРезультат.Ссылка.ПолучитьОбъект();
			Объект.Отправлен = Истина;
			Объект.Записать();



Все получилось, огромное спасибо.

Не могли бы вы посоветовать книгу в которой можно почитать о вложенных запросах.

У меня есть вот такая вот штучка, там как мне кажется как-то надо создать вложенный запрос, чтобы все было в 1 запросе, но как это сделать я даже и не представляю. Эта немного другая тема, рядом. уважаемый "Программист 1с " дал мне куда копать, но не ориентируясь в запросах это очень сложно сделать, вот собственно ссылка туда, если есть время то прошу помочь разобраться как это можно было бы реализовать. Перейти
...
Рейтинг: 0 / 0
Запрос: таблица в справочнике.
    #38219379
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CTYDEHT,
Не могли бы вы посоветовать книгу в которой можно почитать о вложенных запросах.
любую литературу по SQL DML читайте, запросы в 1С не с другой планеты прилетели. Можете поупражняться на sql-ex.ru
...
Рейтинг: 0 / 0
Запрос: таблица в справочнике.
    #38219439
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckerПрограммист 1с,
ну ладно еще 2 папы, но 2 мамы?Ну эээ такое впечатление что Вы не Москвич. Не в курсе лесбгей отношений.
...
Рейтинг: 0 / 0
Запрос: таблица в справочнике.
    #38219525
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1с,
не Москвич)) можно тогда на примере рук, левой и правой. Или с этим в Москве тоже какие-то особенности?
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Запрос: таблица в справочнике.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]