powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Простой запрос, а не работает
12 сообщений из 12, страница 1 из 1
Простой запрос, а не работает
    #40048824
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Требуется посчитать общую сумму во всех док. ПКО, введенных на основании одного док. РеализацияУслуг.
Т.е. на псевдо-SQL такой запрос:
Код: sql
1.
2.
3.
SELECT SUM(Документ.ПриходныйОрдер.Сумма)
FROM Документ.ПриходныйОрдер
WHERE Документ.ПриходныйОрдер.ДокументОснование = <заданный параметр>



Пишу в 1С 7.7 (самописный конфиг) такой запрос на кнопку "Сформировать" через конструктор запросов:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
	Запрос = СоздатьОбъект("Запрос");
	ТекстЗапроса = 
	"//{{ЗАПРОС(Сформировать)
	|ОбрабатыватьДокументы все;
	|Обрабатывать НеПомеченныеНаУдаление;
	|ДокОсн = Документ.ПриходныйОрдер.ДокументОснование;
	|Сум = Документ.ПриходныйОрдер.Сумма;
	|Функция СумСумма = Сумма(Сум);
	//|Группировка Документ;                 
	|Условие(ДокОсн = ДокументОснование);
	|"//}}ЗАПРОС


Но в каком бы из трех имеющихся док. ПКО не выполнялся запрос, "Запрос.СумСумма" всегда = 0.
Что не так? Помогите, пожалуйста, а то эску открывал последний раз несколько лет назад, а тут понадобилось изменить старый конфиг.
Вот имеющиеся ПКО и скрин куска из конфига ПКО:
...
Рейтинг: 0 / 0
Простой запрос, а не работает
    #40048864
а может без запроса? в 7.7 же можно поставить индексы и пользовать выборку с параметрами... запросы в 7.7 специфичная штука, никогда не понятно сразу, что в нем не работает
...
Рейтинг: 0 / 0
Простой запрос, а не работает
    #40048870
AHDP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
|Группировка ДокОсн;
...
Рейтинг: 0 / 0
Простой запрос, а не работает
    #40048871
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как влияют на запрос галки "Разрешить проведение документа", "Расчет", "Оперативный учет"?
Пока экспериментировал с ними (снимая, ставя), запрос стал считать. Но вот создал новый док.ПКО со всеми выключенными галками - и его сумма не вошла в запрос. Хотя и с остальных документов поснимал проведение...
...
Рейтинг: 0 / 0
Простой запрос, а не работает
    #40048886
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AHDP
|Группировка ДокОсн;

Не, группировка тут вообще не нужна.
...
Рейтинг: 0 / 0
Простой запрос, а не работает
    #40048888
AHDP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiYing
А как влияют на запрос галки "Разрешить проведение документа", "Расчет", "Оперативный учет"?
- компоненты платформы (проводки, журналы, регистры) по которым могут формироваться движения.
...
Рейтинг: 0 / 0
Простой запрос, а не работает
    #40048900
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А без условия?
...
Рейтинг: 0 / 0
Простой запрос, а не работает
    #40048928
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист 1с,

Без условия тоже не считается сумма из непроведенного док.ПКО.

В общем, выяснил вроде, условие включение документа в запрос: в конфиге ПКО должны стоять галки "Разрешить проведение документа", "Оперативный учет" и док-т надо провести. Несмотря на то, что при проводке не выполняется никаких действий
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Процедура ОбработкаПроведения(ПараметрПроведения)

	Если ПараметрПроведения=1 Тогда
		Сообщить( "Проведение "+Вид()+" № "+НомерДок+" от "+Формат(ДатаДок,"ДДММГГГГ" ) );
	Иначе 
	//	ОчиститьОкноСообщений();
	КонецЕсли; 
    //Здесь следует написать алгоритм проведения документа

КонецПроцедуры


Только тогда сумма этого док-та включается в результаты запроса! Даже если отменить позже проведение %)
А если эти галки не стоят, то док-т не участвует в запросе. Как-то так, эска странная штука :)
...
Рейтинг: 0 / 0
Простой запрос, а не работает
    #40048940
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiYing
А как влияют на запрос галки "Разрешить проведение документа", "Расчет", "Оперативный учет"?
Пока экспериментировал с ними (снимая, ставя), запрос стал считать. Но вот создал новый док.ПКО со всеми выключенными галками - и его сумма не вошла в запрос. Хотя и с остальных документов поснимал проведение...
А новый ПКО ты сделал "на основании" какого-то документа реализации, или сам по себе? Каким образом ты сослался на документ реализации? Если никаким, то у него пустая ссылка (Null), сравнение с которой всегда дает "ложь". Проверь, чему равно "ДокументОснование", которое ты задействовал в запросе.
...
Рейтинг: 0 / 0
Простой запрос, а не работает
    #40048942
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Garya,

Все ПКО сделаны "на основании" документа реализации услуг - в реквизите "ДокументОснование" типа "Документ.РеализацияУслуг" ссылка на него, это видно и на скриншоте в 1м посте (последняя графа).
...
Рейтинг: 0 / 0
Простой запрос, а не работает
    #40048994
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|ОбрабатыватьДокументы все;
|ДокОсн = Документ.ПриходныйОрдер.ДокументОснование;
|Сум = Документ.ПриходныйОрдер.Сумма;
|Функция СумСумма = Сумма(Сум);
|"//}}ЗАПР

А вот так?
...
Рейтинг: 0 / 0
Простой запрос, а не работает
    #40049013
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист 1с,

Спасибо, уже решил задачу. Запрос и из 1го поста работает как хотелось, просто нужно чтобы в конфиге были чекнуты "Разрешить проведение документа", "Оперативный учет", а изначально эти галки были отключены.

Думаю, вопрос закрыт, всем помогавшим - спасибо!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Простой запрос, а не работает
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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