Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
28 Сен 2020, 20:40
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Как сделать разность двух запросов?  (Прочитано 36741 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн vurdalak

  • ***
  • Сообщений: 229
  • РЕПУТАЦИЯ: 8
  • КПД: 3%
  • Регистрация: 2010-08-11
  • Сайт: 
  • Профессия: Ученик 1С
Есть две выборки запроса.
ЗапросСКД01
   Пока ВыборкаСКД01.Следующий() Цикл
   СКД01 = ВыборкаСКД01.СуммаОборот;
КонецЦикла;
ЗапросСКК02
   Пока ВыборкаСКК02.Следующий() Цикл
   СКК02 =  ВыборкаСКК02.СуммаОборот;
КонецЦикла;
Как сделать разность между ними, я пробовал СКД01 - СКК02 не получилось, не может преобразовать к типу число.


Оффлайн Makifka

  • **
  • Сообщений: 81
  • РЕПУТАЦИЯ: 23
  • КПД: 28%
  • Регистрация: 2010-08-13
  • Сайт: 
  • Профессия: Программист 1С
Я так полагаю, вы считаете остаточную стоимость основных средств, за минусом амортизации? В обоих циклах у вас в итоге присваивается последнее либо единственное значение Выборок запроса? Или вы его предполагаете суммировать? У вас оба значения присваиваются? попробуйте в циклы добавить
Сообщить(СКД01) и Сообщить(СКК02) соответственно.

Разность можно представить в виде

Ост01 = Число(СКД01) - Число(СКК02);

Вы можете показать тексты запросов?

Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
Покажите, пожалуйста, запросы. Я думаю, можно и одним запросом получить данные.

Оффлайн vurdalak

  • ***
  • Сообщений: 229
  • РЕПУТАЦИЯ: 8
  • КПД: 3%
  • Регистрация: 2010-08-11
  • Сайт: 
  • Профессия: Ученик 1С
Вот Запросы:
       ЗапросСКД01 = Новый Запрос;
   ЗапросСКД01.УстановитьПараметр("СчетДт",ПланыСчетов.Хозрасчетный.ОсновныеСредства);
   ЗапросСКД01.УстановитьПараметр("НачалоПериода",НачалоПериода);
ЗапросСКД01.УстановитьПараметр("КонецПериода",КонецПериода);
ЗапросСКД01.УстановитьПараметр("Организация",Организация);

    ЗапросСКД01.Текст =
   "ВЫБРАТЬ
   
   |   ХозрасчетныйОборотыДтКт.СуммаОборот

   |ИЗ
   |   РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, , , , , ,) КАК ХозрасчетныйОборотыДтКт
   |ГДЕ
   |   ХозрасчетныйОборотыДтКт.СчетДт = &СчетДт
   |И  ХозрасчетныйОборотыДтКт.Организация = &Организация";
       ВыборкаСКД01 = ЗапросСКД01.Выполнить().Выбрать() ;
        
   Пока ВыборкаСКД01.Следующий() Цикл
   СКД01 = ВыборкаСКД01.СуммаОборот;
КонецЦикла;

ЗапросСКК02 = Новый Запрос;
   ЗапросСКК02.УстановитьПараметр("СчетКт",ПланыСчетов.Хозрасчетный.АмортизацияОсновныхСредств);
   ЗапросСКК02.УстановитьПараметр("НачалоПериода",НачалоПериода);
ЗапросСКК02.УстановитьПараметр("КонецПериода",КонецПериода);
ЗапросСКК02.УстановитьПараметр("Организация",Организация);

    ЗапросСКК02.Текст =
   "ВЫБРАТЬ
   
   |   ХозрасчетныйОборотыДтКт.СуммаОборот

   |ИЗ
   |   РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, , , , , ,) КАК ХозрасчетныйОборотыДтКт
   |ГДЕ
   |   ХозрасчетныйОборотыДтКт.СчетКт = &СчетКт
   |И  ХозрасчетныйОборотыДтКт.Организация = &Организация";
       ВыборкаСКК02 = ЗапросСКК02.Выполнить().Выбрать();
        
   Пока ВыборкаСКК02.Следующий() Цикл
   СКК02 =  ВыборкаСКК02.СуммаОборот;
КонецЦикла;

Оффлайн vurdalak

  • ***
  • Сообщений: 229
  • РЕПУТАЦИЯ: 8
  • КПД: 3%
  • Регистрация: 2010-08-11
  • Сайт: 
  • Профессия: Ученик 1С
Мне нужно получить суммы по счетам СКД01 и СКК02,и сделать разность между этими суммами СКД01 - СКК02.

Оффлайн Makifka

  • **
  • Сообщений: 81
  • РЕПУТАЦИЯ: 23
  • КПД: 28%
  • Регистрация: 2010-08-13
  • Сайт: 
  • Профессия: Программист 1С
ЗапросСКД01.Текст =
   "ВЫБРАТЬ
   
   |   СУММА(ХозрасчетныйОборотыДтКт.СуммаОборот) КАК СуммаОборот

   |ИЗ
   |   РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, , , , , ,) КАК ХозрасчетныйОборотыДтКт
   |ГДЕ
   |   ХозрасчетныйОборотыДтКт.СчетДт В ИЕРАРХИИ (&СчетДт)
   |И  ХозрасчетныйОборотыДтКт.Организация = &Организация";

   ЗапросСКК02.Текст =
   "ВЫБРАТЬ
   
   |   СУММА(ХозрасчетныйОборотыДтКт.СуммаОборот) КАК СуммаОборот

   |ИЗ
   |   РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, , , , , ,) КАК ХозрасчетныйОборотыДтКт
   |ГДЕ
   |   ХозрасчетныйОборотыДтКт.СчетКт В ИЕРАРХИИ (&СчетКт)
   |И  ХозрасчетныйОборотыДтКт.Организация = &Организация";

Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
Попробуйте так:
ВЫБРАТЬ
ОборотПо01.СуммаОборот КАК ОборотПо01,
ОборотПо02.СуммаОборот КАК ОборотПо02,
ЕСТЬNULL(ОборотПо01.СуммаОборот, 0) - ЕСТЬNULL(ОборотПо02.СуммаОборот, 0) КАК РазностьОборотов
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, , СчетДт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОсновныеСредства), , , , Организация = &Организация) КАК ОборотПо01,
РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, , , , СчетКт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.АмортизацияОсновныхСредств), , Организация = &Организация) КАК ОборотПо02

Оффлайн Makifka

  • **
  • Сообщений: 81
  • РЕПУТАЦИЯ: 23
  • КПД: 28%
  • Регистрация: 2010-08-13
  • Сайт: 
  • Профессия: Программист 1С
в вашем варианте вы выбирали счета  01 и 02, которые в проводках не используются,  хотя на самом деле вам нужны субсчета 01.01 и 02.01

Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
в вашем варианте вы выбирали счета  01 и 02, которые в проводках не используются,  хотя на самом деле вам нужны субсчета 01.01 и 02.01

Тоже верное замечание, хотя такие запросы имеют место быть.

Оффлайн vurdalak

  • ***
  • Сообщений: 229
  • РЕПУТАЦИЯ: 8
  • КПД: 3%
  • Регистрация: 2010-08-11
  • Сайт: 
  • Профессия: Ученик 1С
А как выбрать в запросе субсчета?


Теги:
 

В 1с предприятие 8.3 управление торговлей 11.1 как изменить цену на несколько товаров с одним и тем же артиклем на последнюю введенную цену с помощью загрузки обработки или как это сделать в 1с с помощью программирования? прилагаю полный текст обработки

Автор сергей123Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 875
Последний ответ 11 Фев 2019, 15:15
от сергей123
Как сделать, чтобы поле в документе имело тип "ссылка на поле справочника"?

Автор друганРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 4241
Последний ответ 05 Мар 2017, 14:36
от Igor100500
Добрый день Необходимо на основании типовой конфигурации бухгалтерии сделать обработку, которая будет переносить остатки со счета расчетов 62.01 с одной организации в документ ввода начальных

Автор ZSSРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 1277
Последний ответ 18 Авг 2017, 11:57
от ZSS
Как "Наименование" сделать числом

Автор zedikusРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 3101
Последний ответ 24 Авг 2015, 06:26
от cska-fanat-kz
Добрый вечер! Прошу помочь, кто знает, подскажите пож. В счете не выводит грузоотправителя и грузополучаетля. Куда их внести ? Как сделать что бы выводило ? У меня 1с 8.3 редакция 11.1 управление торговлей Спасибо!

Автор Farid GasimliРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 3497
Последний ответ 07 Фев 2016, 14:34
от pavl_vs

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
74 Сообщений
oooo800
33 Сообщений
Дмитрий Джей Дмитрий Джей
30 Сообщений
IL2016
29 Сообщений
antoneus antoneus
25 Сообщений
LexaK
23 Сообщений
Ann_
16 Сообщений
DmitriyF DmitriyF
16 Сообщений
мадам брошкина
13 Сообщений
alexandr_ll
12 Сообщений

* Кто онлайн

  • Точка Гостей: 356
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal