|
|
|
Вывести данные в любом случае Ø (Волшебник 24.10.2023 12:59) |
☑ | ||
|---|---|---|---|---|
|
0
AlexEngine
24.10.23
✎
10:03
|
Здравствуте. я новичок в 1С, вот изучаю запросы
мне тут дали задание создать запрос таким образом чтобы если выводить нечего, тогда вывести нулевое значение вот дали запрос Запрос = Новый Запрос;
Запрос.УстановитьПараметр("НачалоМесяца", НачалоМесяца(Период));
Запрос.УстановитьПараметр("МоментВремениДокумента", Новый МоментВремени(Период, Регистратор));
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("Склад", Склад);
Запрос.УстановитьПараметр("ВидыСубконто", ВидыСубконто);
Запрос.Текст =
"ВЫБРАТЬ
|///////////////////Торговая наценка Сальдо начальное 42,1 (гр1)//////////////////////// +
| ХозрасчетныйОстатки.Субконто1 КАК Субконто1,
| ХозрасчетныйОстатки.Субконто2 КАК Субконто2,
| ЕСТЬNULL(ХозрасчетныйОстатки.СуммаНачальныйОстатокКт, 0) КАК СуммаНачальныйОстатокКт
|ПОМЕСТИТЬ ХозрасчетныйОстаткиТН
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(
| &НачалоМесяца,
| &МоментВремениДокумента,
| Месяц,
| ДвиженияИГраницыПериода,
| Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ТорговаяНаценка_),
| &ВидыСубконто,
| Организация = &Организация
| И Субконто1 = &Склад) КАК ХозрасчетныйОстатки
|;
|
|//////////////////Сальдо Дебетовое счета 41.2 (для Гр 4 но нужно отнять НДС)/////////////////////////// +
|ВЫБРАТЬ
| ХозрасчетныйОстатки.Субконто1,
| ХозрасчетныйОстатки.Субконто2,
| ЕСТЬNULL(ХозрасчетныйОстатки.СуммаНачальныйОстатокДт, 0) КАК СуммаНачальныйОстатокДт
|ПОМЕСТИТЬ ХозрасчетныйОстаткиПС
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(
| &НачалоМесяца,
| &МоментВремениДокумента,
| Месяц,
| ДвиженияИГраницыПериода,
| Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ТоварыВРозничнойТорговле),
| &ВидыСубконто,
| Организация = &Организация
| И Субконто1 = &Склад) КАК ХозрасчетныйОстатки
|;
|
|//////////////Сальдо Кредитовое счета 42.3 (Для расчета гр4)//////////////////////// +
|ВЫБРАТЬ
| ХозрасчетныйОстатки.Субконто1 КАК Субконто1,
| ХозрасчетныйОстатки.Субконто2 КАК Субконто2,
| ЕСТЬNULL(ХозрасчетныйОстатки.СуммаНачальныйОстатокКт, 0) КАК СуммаНачальныйОстатокКт
|ПОМЕСТИТЬ ХозрасчетныйНачальныеОстаткиНДС
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(
| &НачалоМесяца,
| &МоментВремениДокумента,
| Авто,
| ДвиженияИГраницыПериода,
| Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РозничныйНДС),
| &ВидыСубконто,
| Организация = &Организация
| И Субконто1 = &Склад) КАК ХозрасчетныйОстатки
|;
|
|///////////////////Торговая Себестоимость перемещенных товраов Дебетовый оборот счета 41.2 в корресп со счетом 41.1 для расчета (гр5) тут надо прибавить гр2/////////////////////////////// +
|ВЫБРАТЬ
| ХозрасчетныйСебестоимостьПС.СубконтоДт1 КАК Субконто1,
| ХозрасчетныйСебестоимостьПС.СубконтоДт2 КАК Субконто2,
| ЕСТЬNULL(ХозрасчетныйСебестоимостьПС.СуммаОборот, 0) КАК СуммаОборот
|ПОМЕСТИТЬ ХозрасчетныйСебестоимостьПС
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(
| &НачалоМесяца,
| &МоментВремениДокумента,
| ,
| СчетДт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ТоварыВРозничнойТорговле)),
| ,
| СчетКт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ТоварыНаСкладах),
| &ВидыСубконто,
| Организация = &Организация) КАК ХозрасчетныйСебестоимостьПС
|;
|////////////////////////////////////////////////////////////////////////////////+
|ВЫБРАТЬ
| ХозрасчетныйОборотыДтКт.СубконтоКт1,
| ХозрасчетныйОборотыДтКт.СубконтоКт2,
| ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СуммаОборот, 0) КАК СуммаОборот
|ПОМЕСТИТЬ ХозрасчетныйОборотыНТТ
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(
| &НачалоМесяца,
| &МоментВремениДокумента,
| ,
| СчетДт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.СебестоимостьРеализованнойПродукцииТоваровРаботУслуг)),
| ,
| СчетКт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ТоварыВРозничнойТорговле),
| &ВидыСубконто,
| Организация = &Организация) КАК ХозрасчетныйОборотыДтКт
|;
|
|//////////////////////////////////////////////////////////////////////////////// +
|ВЫБРАТЬ
| ХозрасчетныйОборотыДтКтНДС.СубконтоКт1,
| ХозрасчетныйОборотыДтКтНДС.СубконтоКт2,
| ЕСТЬNULL(ХозрасчетныйОборотыДтКтНДС.СуммаОборот,0) КАК СуммаОборот
|ПОМЕСТИТЬ ХозрасчетныйОборотыНДС
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(
| &НачалоМесяца,
| &МоментВремениДокумента,
| ,
| СчетДт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.СебестоимостьРеализованнойПродукцииТоваровРаботУслуг)),
| ,
| СчетКт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РозничныйНДС),
| &ВидыСубконто,
| Организация = &Организация) КАК ХозрасчетныйОборотыДтКтНДС
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ХозрасчетныйОстаткиТН.Субконто1 КАК Склад,
| ХозрасчетныйОстаткиТН.Субконто2 КАК СтавкаНДС,
| ЕСТЬNULL(СУММА(ЕСТЬNULL(ХозрасчетныйОстаткиТН.СуммаНачальныйОстатокКт, 0)),0) КАК Гр1,
| ЕСТЬNULL(СУММА(ЕСТЬNULL(ХозрасчетныйОстаткиПС.СуммаНачальныйОстатокДт, 0)) - СУММА(ЕСТЬNULL(ХозрасчетныйНачальныеОстаткиНДС.СуммаНачальныйОстатокКт, 0)),0) КАК Гр4,
| ЕСТЬNULL(СУММА(ЕСТЬNULL(ХозрасчетныйСебестоимостьПС.СуммаОборот, 0)),0) КАК ДтОб412С411,
| ЕСТЬNULL(СУММА(ЕСТЬNULL(ХозрасчетныйОборотыНТТ.СуммаОборот, 0)),0) КАК Кр412Корр904,
| ЕСТЬNULL(СУММА(ЕСТЬNULL(ХозрасчетныйОборотыНДС.СуммаОборот, 0)),0) КАК Кредит423Корр904
|ИЗ
| ХозрасчетныйОстаткиТН КАК ХозрасчетныйОстаткиТН
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ХозрасчетныйОстаткиПС КАК ХозрасчетныйОстаткиПС
| ПО ХозрасчетныйОстаткиТН.Субконто1 = ХозрасчетныйОстаткиПС.Субконто1
| И ХозрасчетныйОстаткиТН.Субконто2 = ХозрасчетныйОстаткиПС.Субконто2
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ХозрасчетныйСебестоимостьПС КАК ХозрасчетныйСебестоимостьПС
| ПО ХозрасчетныйОстаткиТН.Субконто1 = ХозрасчетныйСебестоимостьПС.Субконто1
| И ХозрасчетныйОстаткиТН.Субконто2 = ХозрасчетныйСебестоимостьПС.Субконто2
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ХозрасчетныйНачальныеОстаткиНДС КАК ХозрасчетныйНачальныеОстаткиНДС
| ПО ХозрасчетныйОстаткиТН.Субконто1 = ХозрасчетныйНачальныеОстаткиНДС.Субконто1
| И ХозрасчетныйОстаткиТН.Субконто2 = ХозрасчетныйНачальныеОстаткиНДС.Субконто2
| ЛЕВОЕ СОЕДИНЕНИЕ ХозрасчетныйОборотыНТТ КАК ХозрасчетныйОборотыНТТ
| ПО ХозрасчетныйОстаткиТН.Субконто1 = ХозрасчетныйОборотыНТТ.СубконтоКт1
| И ХозрасчетныйОстаткиТН.Субконто2 = ХозрасчетныйОборотыНТТ.СубконтоКт2
| ЛЕВОЕ СОЕДИНЕНИЕ ХозрасчетныйОборотыНДС КАК ХозрасчетныйОборотыНДС
| ПО ХозрасчетныйОстаткиТН.Субконто1 = ХозрасчетныйОборотыНДС.СубконтоКт1
| И ХозрасчетныйОстаткиТН.Субконто2 = ХозрасчетныйОборотыНДС.СубконтоКт2
|
|СГРУППИРОВАТЬ ПО
| ХозрасчетныйОстаткиТН.Субконто1
| ,ХозрасчетныйОстаткиТН.Субконто2";
Если НЕ РазделятьПоСтавкамНДС Тогда // Исключение третьего субконто (партии) из запроса
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ХозрасчетныйОстатки.Субконто2,", "");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ХозрасчетныйОборотыДтКт.СубконтоКт2,", "");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ХозрасчетныйОборотыДтКтНДС.СубконтоКт2,", "");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ХозрасчетныйОстаткиТН.Субконто2 КАК СтавкаНДС,", "");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "И ХозрасчетныйОстаткиТН.Субконто2 = ХозрасчетныйОстаткиПС.Субконто2", "");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "И ХозрасчетныйОстаткиТН.Субконто2 = ХозрасчетныйСебестоимостьПС.Субконто2", "");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "И ХозрасчетныйОстаткиТН.Субконто2 = ХозрасчетныйНачальныеОстаткиНДС.Субконто2", "");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "И ХозрасчетныйОстаткиТН.Субконто2 = ХозрасчетныйОборотыНТТ.СубконтоКт2", "");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "И ХозрасчетныйОстаткиТН.Субконто2 = ХозрасчетныйОборотыНДС.СубконтоКт2", "");
Запрос.Текст = СтрЗаменить(Запрос.Текст, ",ХозрасчетныйОстаткиТН.Субконто2", "");
КонецЕсли;
Возврат Запрос.Выполнить().Выгрузить();
так вот, если в каком-то из подзапросов нету данных, то все данные не выводятся, а выводить необходимо всегда я уже сходил в церковь, с бубном танцевал, с гуглом разговаривал, но то ли я гугла не понимаю, то ли он меня ) подскажите, пожалуйста, выход из положения. |
|||
|
1
Галахад
гуру
24.10.23
✎
10:04
|
(0) Спроси какие именно данные нужно выводить в любом случае. И уже к этой таблице соединяй другие.
|
|||
|
2
Рэйв
24.10.23
✎
10:07
|
Новичек...Смешно.
(0) И в чем проблема, новичек? |
|||
|
3
Рэйв
24.10.23
✎
10:08
|
Я так понимаю гугл и церковь не помогли?
|
|||
|
4
AlexEngine
24.10.23
✎
10:08
|
Субконто 1 / 2 и сумму если данных нет тогда сумма ноль
я так палагаю если не выводить субконто тогда |СГРУППИРОВАТЬ ПО | ХозрасчетныйОстаткиТН.Субконто1 | ,ХозрасчетныйОстаткиТН.Субконто2"; ругаться же быдет или я ошибаюсь? |
|||
|
5
AlexEngine
24.10.23
✎
10:09
|
(3) вроде бы я так и написал
(2) чего смешного то? / проблема в том что я понимаю ка кэто реализовать. |
|||
|
6
AlexEngine
24.10.23
✎
10:09
|
(1) простите я ответил в (4)
|
|||
|
7
AlexEngine
24.10.23
✎
10:13
|
я изучил другие запросы к примеру
в обработке рабочего места менеджера в диномическом списке есть запрос ВЫБРАТЬ СправочникНоменклатура.Ссылка КАК Номенклатура, Остатки.ВНаличииОстаток КАК Количество, СправочникНоменклатура.Артикул, Цены.Цена КАК Цена ИЗ Справочник.Номенклатура КАК СправочникНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки(&Период, Склад = &Склад) КАК Остатки ПО СправочникНоменклатура.Ссылка = Остатки.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК Цены ПО СправочникНоменклатура.Ссылка = Цены.Номенклатура ГДЕ СправочникНоменклатура.ЭтоГруппа = &ЭтоГруппа так вот я не вижу отличий от моего запроса но при этом если по товару небыло движений то он выводит ноль в колонке остатка к примеру |
|||
|
8
AlexEngine
24.10.23
✎
10:14
|
и здесь я вхожу в ступор и не понимаю
я добавил везде | ЕСТЬNULL(ХозрасчетныйСебестоимостьПС.СуммаОборот, 0) что-бы если оборота нет то показать ноль но, получается так что если хоть в одном запросе пусто то все данные теряются ( |
|||
|
9
Рэйв
24.10.23
✎
10:18
|
(8)Да ты не входишь в ступор. Имхо, ты в нем и находишься:-+)
|
|||
|
10
Рэйв
24.10.23
✎
10:20
|
(7)Кривоватый у тебя запрос как по мне.
Чреват дублями из-за двойного левого соединения... Могу быть не прав конечно. |
|||
|
11
AlexEngine
24.10.23
✎
10:20
|
(9) вероятно! ладно пошел я отсюда по добру да по здорову мне здесь похоже не рады (
|
|||
|
12
shuhard
24.10.23
✎
10:21
|
(11) и не возвращайся
|
|||
|
13
Смотрящий
24.10.23
✎
10:22
|
(7)
ИЗ Справочник.Номенклатура КАК СправочникНоменклатура Вот из-за этого выводятся нулевые если не было движений 1. отсматривается справочник номенклатуры. весь. 2. к нему пристегивается остаток 3. к нему пристегивается цена у тебя же запрос в (0), в первой и второй временной таблице, наоборот - в отбираются данные из регистра - нет движений - нет данных. Надо посмотреть что за субконто 1 и 2 на 41 счете и прошестить таблицу субконто с левым соединением с регистром бухгалтерии |
|||
|
14
AlexEngine
24.10.23
✎
10:22
|
(10) оба запроса не мои это мне дали исправить или попытаться исправить до этого я никогда не работал с запросами.
|
|||
|
15
AlexEngine
24.10.23
✎
10:24
|
(13) то-есть выходит что, мне нужно типа эм...
создать типа Таблицу значений поместить в нее данные субконто 1 и 2 и далее делать запрос по ней? тогда получится так же как и с запросом в спр товаров? в общем мысль я понял спасибо что помогли я пошел пробовать что касаемо (12) а это Вам решать? вы кто здесь простите? |
|||
|
16
Рэйв
24.10.23
✎
10:24
|
(17)Юный падаван, ну ты уж изучи азы 1С прежде чем приходить сюда позориться:-)
|
|||
|
17
AlexEngine
24.10.23
✎
10:25
|
(12) если Вы модератор и считаете что я не должен быть на данном форуме я не вернусь! извините что посетил данный форум! прощайте!
|
|||
|
18
AlexEngine
24.10.23
✎
10:26
|
(7) позориться? в чем позор?
|
|||
|
19
Рэйв
24.10.23
✎
10:26
|
(16)->(14)
|
|||
|
20
AlexEngine
24.10.23
✎
10:27
|
(18) для (16)
(16) то есть форум не для помощи а для гуру 1С? ну тогда пардоньте |
|||
|
21
Рэйв
24.10.23
✎
10:28
|
(18)Видишь ли, мой юный друг, прежде чем начинать задавать правильные вопросы, нужно хотя бы быть немного в тебе :-)
|
|||
|
22
AlexEngine
24.10.23
✎
10:29
|
(19) и, что? в этом такого?
а Вы блин все знаете во всем разбираетесь или пошли учиться на когото и нифига не знали к Вам подошел учитель и сказал ты юнный падаван иди изучи азы а потом приходи учиться? интересный у Вас подход! удачи Вам! |
|||
|
23
Рэйв
24.10.23
✎
10:29
|
(20)Да.Этот форум для помощи начинающим 1С-никам...Но ты пока даже на начинающего не тянешь...
|
|||
|
24
AlexEngine
24.10.23
✎
10:31
|
(21) мда, посмотрел Ваши шедевры дизайна и прочего понятно с кем имею дело разговаривать с Вами неочем! прощайте!
|
|||
|
25
Рэйв
24.10.23
✎
10:31
|
(22)Ты ничего не знаешь.А злости в тебе как у матерого адинесника..
|
|||
|
26
Рэйв
24.10.23
✎
10:31
|
(24) и тебе не хворать.
|
|||
|
27
Галахад
гуру
24.10.23
✎
10:31
|
(4) Замени пока
ВНУТРЕННЕЕ СОЕДИНЕНИЕ на ЛЕВОЕ СОЕДИНЕНИЕ |
|||
|
28
AlexEngine
24.10.23
✎
10:33
|
(23) не ТЫ а ВЫ! я с Вами не переходил на ТЫ!
идите поучитесь идите получите должное воспитание а потом пишите на форумах! и да, мне уже 37 лет и думаю я уже не столь юнный друг! да и не Ваш друг это точно! |
|||
|
29
Смотрящий
24.10.23
✎
10:34
|
Кидаться гОвнами - бесценно ))
И чето про мастеркард ))) |
|||
|
30
AlexEngine
24.10.23
✎
10:35
|
(27) Спсибо я попробую.
(25) я довольно долго работал с 1С 7. и не использовал там практически никогда запросы но да я не профессионал в 1С но все же всегда не поздно чему то научится! |
|||
|
31
AlexEngine
24.10.23
✎
10:36
|
(26) спасибо!
|
|||
|
32
Рэйв
24.10.23
✎
10:37
|
(28)Я побольше тебя в этих наших интернета,пацанчик....И еще помню, что обращение на ВЫ в Сети- это оскорбление.
Но если ВАМ так будет легче- то не пошли бы ВЫ нахрен:-) |
|||
|
33
AlexEngine
24.10.23
✎
10:38
|
Удивляюсь я однако людям подобно "РЭЙВ" будут же доказывать что снег ФИолетовый но не черный! знает что не прав но нужно свое вставить
100% накручивает кол-Во сообщений! |
|||
|
34
AlexEngine
24.10.23
✎
10:38
|
(32) )) ну хоть так (Да мне легче спасибо!)
|
|||
|
35
AlexEngine
24.10.23
✎
10:42
|
Спасибо с запросм получилось все я создал ТЗ в нее запихнул склады и ставки НДС
(это и ест ьсубконто 1 / 2) и далее переписал запрос по этой тз тоесть первой именно эта ТЗ где в качестве необходимых мне "ГР1,2,3) я указал 0 тепреь вс еработает ка кположенно спасибо! |
|||
|
36
AlexEngine
24.10.23
✎
10:43
|
(32) какая разница где Вы там побольше? или что у Вас там побольше?
Вы мерится будите? |
|||
|
37
AlexEngine
24.10.23
✎
10:47
|
(27) это поомжет безуслоно но до тех пор пока есть данные в "ХозрасчетныйОстаткиТН" а потом будет так - же фигня.
Спсибо конечно Вам! но я все же переписал как указал в (35) |
|||
|
38
AlexEngine
24.10.23
✎
10:57
|
(РЭЙВ) раскачагарил меня аш пар из ушей идет
))) |
|||
|
39
Рэйв
24.10.23
✎
11:01
|
(38)Обращайся если что:-)
|
|||
|
40
AlexEngine
24.10.23
✎
11:07
|
(39) да, да буду знать к каму обратиться.
|
|||
|
41
Dragonofdwarfs
24.10.23
✎
11:45
|
(40) Я просто оставлю это здесь... "Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование." © Фредерик Брукс-младший
|
|||
|
42
unenu
24.10.23
✎
11:51
|
что-то долго новичек прощается, вроде после 11-го сообщения уже должен был уйти в забвение серой пустоты.
ан нет, сидит и манипулирует своим уходом |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |