8.х Можно ли в запросе как в цикле из числа отнимать полученные данные

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Ленок87, 29 окт 2012.

  1. TopicStarter Overlay
    Ленок87
    Offline

    Ленок87 Опытный в 1С

    Регистрация:
    7 фев 2012
    Сообщения:
    261
    Симпатии:
    0
    Баллы:
    26
    Можно ли в запросе как в цикле из числа отнимать полученные данные Например

    платеж=100 руб
    Реал1=10;
    Реал2=20;
    Мне нужно 100-10=90
    90-20=70
    как это осуществить?
  2. yzek
    Offline

    yzek Опытный в 1С

    Регистрация:
    13 окт 2010
    Сообщения:
    713
    Симпатии:
    0
    Баллы:
    26
    Вам надо 70 получить или 90 и 70?
  3. TopicStarter Overlay
    Ленок87
    Offline

    Ленок87 Опытный в 1С

    Регистрация:
    7 фев 2012
    Сообщения:
    261
    Симпатии:
    0
    Баллы:
    26
    90 и 70
  4. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    на мой взгляд программно это проще оформить
  5. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    Ы. А в чем проблема?
    И тот и другой документ делают движения по какому то регистру. Подозреваю что Взаиморасчеты имя его.
    Вот а нельзя ли из этого регистра получить остатки на дату? А на дату регистратора (на сам регистратор?) Вот и даст он вам в остатках
    100
    90
    70
    для соответсвующего регистратора

    Ведь я правильно понял, что вам нужно на каждую дату, или регистратор иметь напротив в колонке еще и значение остатка (кредиторской/дебиторской задолженности)?
  6. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Полностью задачу опишите.
  7. TopicStarter Overlay
    Ленок87
    Offline

    Ленок87 Опытный в 1С

    Регистрация:
    7 фев 2012
    Сообщения:
    261
    Симпатии:
    0
    Баллы:
    26
    Мне нужно ускорить работу отчета а сос ложными запросами яя только знакомлюсь буду очень благодарна если вы поможете мне с этим
    Код:
    Процедура КнопкаСформироватьНажатие(Кнопка)
    Сообщить(ТекущаяДата());
    Макет=ПолучитьМакет("Отчет");
    ОбластьМакета=Макет.получитьОбласть("Шапка");
    Макет.Вывести(ОбластьМакета);
    Запрос=Новый Запрос;
    Запрос.Текст=
    ///запрос получает в результат все остатки по заказам по бух и упр
    "ВЫБРАТЬ
    | ЗаказПокупателя.Ссылка КАК Заказ,
    | бухРеализац.СуммаДокумента * -1 КАК СуммаДокументаРеалБух,
    | ЗаказПокупателя.ДоговорКонтрагента,
    | бухРеализац.Ссылка КАК РеалБух
    |ПОМЕСТИТЬ РеалБух
    |ИЗ
    | (ВЫБРАТЬ
    |  РеализацияТоваровУслуг.Ссылка КАК Ссылка,
    |  РеализацияТоваровУслуг.СуммаДокумента КАК СуммаДокумента
    | ИЗ
    |  Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    | ГДЕ
    |  РеализацияТоваровУслуг.ОтражатьВБухгалтерскомУчете
    |  И РеализацияТоваровУслуг.Проведен) КАК бухРеализац
    |  ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК ЗаказПокупателя
    |  ПО (ЗаказПокупателя.Ссылка = бухРеализац.Ссылка.Сделка)
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    | ЗаказПокупателя.Ссылка КАК Заказ,
    | ВложенныйЗапрос.Платеж,
    | ВложенныйЗапрос.ДоговорКонтрагента,
    | ВложенныйЗапрос.СуммаДокументаПлат
    |ПОМЕСТИТЬ ПлатжДоке
    |ИЗ
    | (ВЫБРАТЬ
    |  ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка КАК Платеж,
    |  ПлатежноеПоручениеВходящееРасшифровкаПлатежа.ДоговорКонтрагента КАК ДоговорКонтрагента,
    |  ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Сделка КАК Заказ,
    |  ПлатежноеПоручениеВходящееРасшифровкаПлатежа.СуммаПлатежа КАК СуммаДокументаПлат
    | ИЗ
    |  Документ.ПлатежноеПоручениеВходящее.РасшифровкаПлатежа КАК ПлатежноеПоручениеВходящееРасшифровкаПлатежа
    |   ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеВходящее КАК ПлатежноеПоручениеВходящее
    |   ПО ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка = ПлатежноеПоручениеВходящее.Ссылка
    | ГДЕ
    |  ПлатежноеПоручениеВходящее.ВидОперации = &ВидОперации) КАК ВложенныйЗапрос
    |  ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК ЗаказПокупателя
    |  ПО (ЗаказПокупателя.Ссылка = ВложенныйЗапрос.Заказ.Ссылка)
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    | РеалБухг.ДоговорКонтрагента,
    | РеалБухг.Заказ КАК заказ,
    | РеалБухг.РеалБух КАК док,
    | РеалБухг.СуммаДокументаРеалБух КАК сумма
    |ПОМЕСТИТЬ ВсеДок
    |ИЗ
    | РеалБух КАК РеалБухг
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    | ПлатжДоке.ДоговорКонтрагента,
    | ПлатжДоке.Заказ,
    | ПлатжДоке.Платеж,
    | ПлатжДоке.СуммаДокументаПлат
    |ИЗ
    | ПлатжДоке КАК ПлатжДоке
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    | ЗаказПокупателя.Ссылка КАК Заказ,
    | ВложенныйЗапрос.ДоговорКонтрагента,
    | СУММА(ВложенныйЗапрос.сумма) КАК ОстатокБух,
    | ЗаказПокупателя.ДоговорКонтрагента.Владелец.ОсновнойМенеджерПокупателя
    |ПОМЕСТИТЬ ОстатокПобух
    |ИЗ
    | Документ.ЗаказПокупателя КАК ЗаказПокупателя
    |  ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    |   ВсеДок.ДоговорКонтрагента КАК ДоговорКонтрагента,
    |   ВсеДок.заказ КАК заказ,
    |   ВсеДок.сумма КАК сумма
    |  ИЗ
    |   ВсеДок КАК ВсеДок) КАК ВложенныйЗапрос
    |  ПО ЗаказПокупателя.Ссылка = ВложенныйЗапрос.заказ.Ссылка
    |
    |СГРУППИРОВАТЬ ПО
    | ЗаказПокупателя.Ссылка,
    | ВложенныйЗапрос.ДоговорКонтрагента,
    | ЗаказПокупателя.ДоговорКонтрагента.Владелец.ОсновнойМенеджерПокупателя
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    | ВложенныйЗапрос.СуммаВзаиморасчетовОстаток * -1 КАК Поле1,
    | ЗаказПокупателя.Ссылка,
    | ЗаказПокупателя.ДоговорКонтрагента.Владелец.ОсновнойМенеджерПокупателя
    |ПОМЕСТИТЬ ОстУпр
    |ИЗ
    | (ВЫБРАТЬ
    |  ВзаиморасчетыСКонтрагентамиОстатки.Сделка КАК Сделка,
    |  ВзаиморасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток КАК СуммаВзаиморасчетовОстаток
    | ИЗ
    |  РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки КАК ВзаиморасчетыСКонтрагентамиОстатки) КАК ВложенныйЗапрос
    |  ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК ЗаказПокупателя
    |  ПО ВложенныйЗапрос.Сделка.Ссылка = ЗаказПокупателя.Ссылка
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    | ВЫБОР
    |  КОГДА ОстатокПобух.ОстатокБух <> 0
    |    ИЛИ ОстУпр.Поле1 <> 0
    |   ТОГДА ЗаказПокупателя.ДоговорКонтрагента.Владелец.ОсновнойМенеджерПокупателя
    | КОНЕЦ КАК ОсновнойМенеджер,
    | ВЫБОР
    |  КОГДА ОстатокПобух.ОстатокБух <> 0
    |    ИЛИ ОстУпр.Поле1 <> 0
    |   ТОГДА ЗаказПокупателя.ДоговорКонтрагента
    | КОНЕЦ КАК Договор,
    | ВЫБОР
    |  КОГДА ОстатокПобух.ОстатокБух <> 0
    |    ИЛИ ОстУпр.Поле1 <> 0
    |   ТОГДА ЗаказПокупателя.Ссылка
    | КОНЕЦ КАК Заказ,
    | СУММА(ЕСТЬNULL(ОстатокПобух.ОстатокБух, 0)) КАК ОстатокБух,
    | ЕСТЬNULL(ОстУпр.Поле1, 0) КАК ОстатокУпр
    |ИЗ
    | ОстатокПобух КАК ОстатокПобух
    |  ПОЛНОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК ЗаказПокупателя
    |   ПОЛНОЕ СОЕДИНЕНИЕ ОстУпр КАК ОстУпр
    |   ПО ЗаказПокупателя.Ссылка = ОстУпр.Ссылка.Ссылка
    |  ПО ОстатокПобух.Заказ = ЗаказПокупателя.Ссылка
    |ГДЕ
    | ЗаказПокупателя.Проведен
    |
    |СГРУППИРОВАТЬ ПО
    | ВЫБОР
    |  КОГДА ОстатокПобух.ОстатокБух <> 0
    |    ИЛИ ОстУпр.Поле1 <> 0
    |   ТОГДА ЗаказПокупателя.ДоговорКонтрагента
    | КОНЕЦ,
    | ВЫБОР
    |  КОГДА ОстатокПобух.ОстатокБух <> 0
    |    ИЛИ ОстУпр.Поле1 <> 0
    |   ТОГДА ЗаказПокупателя.ДоговорКонтрагента.Владелец.ОсновнойМенеджерПокупателя
    | КОНЕЦ,
    | ВЫБОР
    |  КОГДА ОстатокПобух.ОстатокБух <> 0
    |    ИЛИ ОстУпр.Поле1 <> 0
    |   ТОГДА ЗаказПокупателя.Ссылка
    | КОНЕЦ,
    | ЕСТЬNULL(ОстУпр.Поле1, 0)
    |
    |УПОРЯДОЧИТЬ ПО
    | ОсновнойМенеджер,
    | Договор,
    | Заказ";
    Запрос.УстановитьПараметр("ВидОперации",Перечисления.ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ОплатаПокупателя);
    Остатки=Запрос.Выполнить().Выгрузить();
    Остатки.ВыбратьСтроку();
    для каждого ост из остатки цикл
    Если ЗначениеЗаполнено(Ост.Договор) тогда
    
    Сообщить(Ост.Заказ);
    
    ОбластьМакета=Макет.получитьОбласть("Договор");
    ОбластьМакета.Параметры.Заполнить(Ост);
    Макет.Вывести(ОбластьМакета);
    
    ОбластьМакета=Макет.получитьОбласть("Заказы");
    
    СуммаПлатеж=Новый запрос;
    СуммаПлатеж.Текст=
    "ВЫБРАТЬ
    | ЗаказПокупателя.Ссылка КАК Заказ,
    | ЕСТЬNULL(ПриходОтраженныйВБух.Сумма, 0) КАК СуммаПриходВБух,
    | ЕСТЬNULL(ПриходВупр.СуммаВзаиморасчетовРасход, 0) КАК СуммаПриходВупр
    |ИЗ
    | Документ.ЗаказПокупателя КАК ЗаказПокупателя
    |  ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    |   СУММА(ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход) КАК Сумма,
    |   ВзаиморасчетыСКонтрагентамиОбороты.Сделка КАК Заказ
    |  ИЗ
    |   РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты(, , Регистратор, ) КАК ВзаиморасчетыСКонтрагентамиОбороты
    |  ГДЕ
    |   ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход > 0
    |   И ВзаиморасчетыСКонтрагентамиОбороты.Регистратор.ОтражатьВБухгалтерскомУчете
    | 
    |  СГРУППИРОВАТЬ ПО
    |   ВзаиморасчетыСКонтрагентамиОбороты.Сделка) КАК ПриходОтраженныйВБух
    |  ПО ЗаказПокупателя.Ссылка = ПриходОтраженныйВБух.Заказ.Ссылка
    |  ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    |   СУММА(ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход) КАК СуммаВзаиморасчетовРасход,
    |   ВзаиморасчетыСКонтрагентамиОбороты.Сделка КАК Сделка
    |  ИЗ
    |   РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты КАК ВзаиморасчетыСКонтрагентамиОбороты
    | 
    |  СГРУППИРОВАТЬ ПО
    |   ВзаиморасчетыСКонтрагентамиОбороты.Сделка) КАК ПриходВупр
    |  ПО ЗаказПокупателя.Ссылка = ПриходВупр.Сделка.Ссылка
    |ГДЕ
    | ЗаказПокупателя.Ссылка = &Ссылка"	   ;
    СуммаПлатеж.УстановитьПараметр("Ссылка",ост.Заказ);
    ТЗ=СуммаПлатеж.Выполнить().Выгрузить();
    Если  ТЗ.Количество()>0 тогда
    для каждого стр из ТЗ цикл
    ПоступленияБух=стр.СуммаПриходВБух;
    ПоступленияУпр=стр.СуммаПриходВупр
    
    конецЦикла;
    Иначе
    ПоступленияБух=0;
    ПоступленияУпр=0   
    конецесли;
    Реализации = новый  запрос;
    Реализации.Текст =
    //Запрос на док реал по бух и упр
    "ВЫБРАТЬ
    | РеализацияТоваровУслуг.Ссылка,
    | РеализацияТоваровУслуг.Сделка.Ссылка,
    | РеализацияТоваровУслуг.СуммаДокумента,
    | РеализацияТоваровУслуг.ОтражатьВБухгалтерскомУчете
    |ПОМЕСТИТЬ ДокументыРеалПоБух
    |ИЗ
    | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |ГДЕ
    | РеализацияТоваровУслуг.Сделка.Ссылка = &Ссылка
    | И РеализацияТоваровУслуг.Проведен
    | И РеализацияТоваровУслуг.ОтражатьВБухгалтерскомУчете
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    | ВзаиморасчетыСКонтрагентамиОбороты.Регистратор,
    | ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход,
    | ВзаиморасчетыСКонтрагентамиОбороты.Сделка.Ссылка КАК Заказ
    |ПОМЕСТИТЬ ДокРеалПоУпр
    |ИЗ
    | РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты(, , Регистратор, ) КАК ВзаиморасчетыСКонтрагентамиОбороты
    |ГДЕ
    | ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход > 0
    | И ВзаиморасчетыСКонтрагентамиОбороты.Сделка.Ссылка = &Ссылка
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ РАЗЛИЧНЫЕ
    | ДокРеалПоУпр.Заказ,
    | ДокРеалПоУпр.Регистратор КАК Реал,
    | ДокРеалПоУпр.СуммаВзаиморасчетовПриход КАК Сумма,
    | ДокРеалПоУпр.Регистратор.Дата КАК Дата,
    | 0 КАК Бух
    |ПОМЕСТИТЬ ВсеРеалЗаказа
    |ИЗ
    | ДокРеалПоУпр КАК ДокРеалПоУпр
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    | ДокументыРеалПоБух.СделкаСсылка,
    | ДокументыРеалПоБух.Ссылка,
    | ДокументыРеалПоБух.СуммаДокумента,
    | ДокументыРеалПоБух.Ссылка.Дата,
    | 1
    |ИЗ
    | ДокументыРеалПоБух КАК ДокументыРеалПоБух
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    | ВсеРеалЗаказа.Заказ,
    | ВсеРеалЗаказа.Дата,
    | ВЫБОР
    |  КОГДА ВсеРеалЗаказа.Бух = 1
    |   ТОГДА ВсеРеалЗаказа.Реал
    | КОНЕЦ КАК РеалБух,
    | ВЫБОР
    |  КОГДА ВсеРеалЗаказа.Бух = 1
    |   ТОГДА ВсеРеалЗаказа.Сумма
    | КОНЕЦ КАК СуммаРеалБух,
    | ВЫБОР
    |  КОГДА ВсеРеалЗаказа.Бух = 0
    |   ТОГДА ВсеРеалЗаказа.Реал
    | КОНЕЦ КАК РеалУпр,
    | ВЫБОР
    |  КОГДА ВсеРеалЗаказа.Бух = 0
    |   ТОГДА ВсеРеалЗаказа.Сумма
    | КОНЕЦ КАК СуммаРеалУпр
    |ИЗ
    | ВсеРеалЗаказа КАК ВсеРеалЗаказа"  ;
    
    Реализации.УстановитьПараметр("Ссылка",ост.заказ);
    ДокРеал=Реализации.Выполнить().Выгрузить();
    Если ост.Договор._КонтролироватьЧислоДнейЗадолжности тогда
    ДопустимоеЧислоДнейЗадолжности=ост.Договор._ДопустимоеЧислоДнейЗадолжности;
    ИначеЕсли
    ост.Договор._КонтролироватьПредельнуюДатуЗадолжности тогда
    
    ПредельнаяДатаЗадолжности=ост.Договор._ПредельнаяДатаЗадолжности;
    Иначе
    ДопустимоеЧислоДнейЗадолжности=1
    конецЕсли;
    Для каждого док из ДокРеал цикл
    Если ост.ОстатокБух<>0 и ЗначениеЗаполнено(док.СуммаРеалБух)   тогда
    ПоступленияБух= ПоступленияБух - док.СуммаРеалБух;
    Если ПоступленияБух <0 тогда
    Если ЗначениеЗаполнено(ДопустимоеЧислоДнейЗадолжности ) тогда
    Если Цел((ТекущаяДата()-док.Дата)/86400)> ДопустимоеЧислоДнейЗадолжности+7 тогда
    //поместить в картотеку Бух сумму документа 
    Макет.Параметры.ДолгФинКар=док.СуммаРеалБух;
    
    ИначеЕсли Цел((ТекущаяДата()-док.Дата)/86400)< ДопустимоеЧислоДнейЗадолжности+7 и  Цел((ТекущаяДата()-док.Дата)/86400)>0 тогда
    //поместить в просрочено Бух сумму документа
    Макет.Параметры.ДолгФинПроср=док.СуммаРеалБух;
    Иначе
    Макет.Параметры.ДолгФинВдог=док.СуммаРеалБух;
    
    //поместить в договоре Бух
    КонецЕсли;
    ИначеЕсли ЗначениеЗаполнено(ПредельнаяДатаЗадолжности) тогда
    Если Цел(ПредельнаяДатаЗадолжности/86400)+7-Цел(док.Дата/86400)> 0 тогда
    //поместить в картотеку Бух сумму документа
    Макет.Параметры.ДолгФинКар=док.СуммаРеалБух;
    ИначеЕсли Цел(ПредельнаяДатаЗадолжности/86400)+7-Цел(док.Дата/86400)<7 и  Цел(ПредельнаяДатаЗадолжности/86400)+7-Цел(док.Дата/86400)> 0  тогда
    //поместить в просрочено Бух сумму документа
    Макет.Параметры.ДолгФинПроср=док.СуммаРеалБух;
    
    Иначе
    //поместить в договоре Бух
    Макет.Параметры.ДолгФинВдог=док.СуммаРеалБух;
    
    КонецЕсли;
    
    КонецЕсли ;
    Иначе
    // поместить остаток в договоре +
    Макет.Параметры.ДолгФинВдог=док.СуммаРеалБух
    
    КонецЕсли;
    ИначеЕсли ост.ОстатокУпр<>0 и ЗначениеЗаполнено(док.СуммаРеалУпр)   тогда
    ПоступленияУпр=ПоступленияУпр- док.СуммаРеалУпр;
    Если ПоступленияУпр <0 тогда
    Если ЗначениеЗаполнено(ДопустимоеЧислоДнейЗадолжности ) тогда
    Если Цел((ТекущаяДата()-док.Дата)/86400)> ДопустимоеЧислоДнейЗадолжности+7 тогда
    //поместить в картотеку Упр сумму документа
    Макет.Параметры.ДолгУпрКар=док.СуммаРеалУпр;
    ИначеЕсли Цел((ТекущаяДата()-док.Дата)/86400)< ДопустимоеЧислоДнейЗадолжности+7 и Цел((ТекущаяДата()-док.Дата)/86400)>0 тогда
    //поместить в просрочено Упр сумму документа
    Макет.Параметры.ДолгУпрПроср=док.СуммаРеалУпр;
    
    Иначе
    //поместить в договоре Упр
    Макет.Параметры.ДолгУпрВДог=док.СуммаРеалУпр;
    
    КонецЕсли;
    ИначеЕсли ЗначениеЗаполнено(ПредельнаяДатаЗадолжности) тогда
    Если Цел(ПредельнаяДатаЗадолжности/86400)+7-Цел(док.Дата/86400)> 0 тогда
    //поместить в картотеку Упр сумму документа 
    Макет.Параметры.ДолгУпрКар=док.СуммаРеалУпр;
    
    ИначеЕсли Цел(ПредельнаяДатаЗадолжности/86400)+7-Цел(док.Дата/86400)<7 и  Цел(ПредельнаяДатаЗадолжности/60*60*24)+7-Цел(док.Дата/60*60*24)> 0  тогда
    //поместить в просрочено Упр сумму документа
    Макет.Параметры.ДолгУпрПроср=док.СуммаРеалУпр;
    
    Иначе
    //поместить в договоре Упр
    Макет.Параметры.ДолгУпрВДог=док.СуммаРеалБух;
    
    КонецЕсли;
    
    Иначе
    //поместить в остаток +
    Макет.Параметры.ДолгУпрВДог=док.СуммаРеалУпр
    
    КонецЕсли;
    
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;
    
    
    Макет.Параметры.Заказ=ост.Заказ; 
    Макет.Вывести(ОбластьМакета);
    Конецесли;
    КонецЦикла;
    
    Сообщить(ТекущаяДата());
    Макет.Показать();
    
    КонецПроцедуры
    
  8. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Ууууу... Я в этом не найду силы воли ковыряться.
    Запросы написаны не оптимально.
    На словах расскажите что выводит отчет, возможно подскажу как переписать.
  9. VIPOS
    Offline

    VIPOS Опытный в 1С

    Регистрация:
    12 сен 2012
    Сообщения:
    565
    Симпатии:
    1
    Баллы:
    29
    Просто если вы отчет деоали через коструктор, то тогда в колонке выбора полей добавте поле, в котором будете производить свои вычисления!

    Хотя тут я полностью согласен
  10. TopicStarter Overlay
    Ленок87
    Offline

    Ленок87 Опытный в 1С

    Регистрация:
    7 фев 2012
    Сообщения:
    261
    Симпатии:
    0
    Баллы:
    26
    в организации ведется раздельный учет по упр и бух
    Есть реализации которые отражены только в бух они не списывают товар но а основании них выписываются счета на оплату
    Так вот мне нужно проверить остатки в управл и бухгалтерском учетах отдельно
    Т.е должно получиться как то так
    Заказ Остаток в бух ,Остаток в упр

    причем все это заказчик тоже желает разделить на 3 колонки : В договоре(т.е по условию договора клиенту дается срок на оплату который он еще не превысил);Просрочено(срок указанный в договоре прошел но есть еще 7 дней на оплату);
    картотека(прошли все сроки)
  11. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    классика маразма.. даже не один запрос в цикле, а целых два..

    и сколько у вас это работает? засеките время в отладчике и проанализируйте результаты.
  12. VIPOS
    Offline

    VIPOS Опытный в 1С

    Регистрация:
    12 сен 2012
    Сообщения:
    565
    Симпатии:
    1
    Баллы:
    29
    Зато можно смело сходить и попить кофе=))) удачный вариант работы=)))
  13. TopicStarter Overlay
    Ленок87
    Offline

    Ленок87 Опытный в 1С

    Регистрация:
    7 фев 2012
    Сообщения:
    261
    Симпатии:
    0
    Баллы:
    26
    Я просила помочь ,а не показать на то что и без вас вижу
  14. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    ну как-то так:
    Код:
    ВЫБРАТЬ
    ВзаиморасчетыСКонтрагентами.Сделка,
    ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетов КАК СуммаВзаиморасчетовБух,
    NULL КАК СуммаВзаиморасчетовУпр
    ПОМЕСТИТЬ Таблица1
    ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентами КАК ВзаиморасчетыСКонтрагентами
    ГДЕ
    ВзаиморасчетыСКонтрагентами.Регистратор В
    (ВЫБРАТЬ
    РеализацияТоваровУслуг.Ссылка
    ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    ГДЕ
    РеализацияТоваровУслуг.ОтражатьВБухгалтерскомУчете)
    ОБЪЕДИНИТЬ ВСЕ
    ВЫБРАТЬ
    ВзаиморасчетыСКонтрагентами.Сделка,
    NULL,
    ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетов
    ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентами КАК ВзаиморасчетыСКонтрагентами
    ГДЕ
    ВзаиморасчетыСКонтрагентами.Регистратор В
    (ВЫБРАТЬ
    РеализацияТоваровУслуг.Ссылка
    ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    ГДЕ
    РеализацияТоваровУслуг.ОтражатьВУправленческомУчете)
    ;
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ШайтанТаблица.Сделка,
    СУММА(ШайтанТаблица.СуммаВзаиморасчетовБух) КАК СуммаВзаиморасчетовБух,
    СУММА(ШайтанТаблица.СуммаВзаиморасчетовУпр) КАК СуммаВзаиморасчетовУпр
    ИЗ
    Таблица1 КАК ШайтанТаблица
    СГРУППИРОВАТЬ ПО
    ШайтанТаблица.Сделка
  15. TopicStarter Overlay
    Ленок87
    Offline

    Ленок87 Опытный в 1С

    Регистрация:
    7 фев 2012
    Сообщения:
    261
    Симпатии:
    0
    Баллы:
    26
    Огромное спасибо за то что откликнулись, и потратили время на попытку разобраться с моей задачей ,
    но главной задачей для меня стоит избавиться от запросов в цикле (если это возможно конечно)
  16. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    нее.. неправильно написал запрос.. смотрю только реализации, а нам же ещё оплата нужна..
  17. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    сделка - это заказ покупателя? может ли быть несколько реализаций по одному заказу? если да, то может ли быть одна из этих реализаций отражена в бухгалтерии, а вторая не отражена в бухгалтерии?

    если один заказ - одна реализация, тогда проще всего добавить в заказ покупателя реквизит ОтражатьВБухгалтерскомУчете..
  18. TopicStarter Overlay
    Ленок87
    Offline

    Ленок87 Опытный в 1С

    Регистрация:
    7 фев 2012
    Сообщения:
    261
    Симпатии:
    0
    Баллы:
    26
    сделка-это заказ , но к сожалению не все так просто у меня как раз по одному заказу может быть несколько реализаций причем неокторые из них могут быть отражены в бух ,другие в упр, а третьи и в бух и в упр

    я это заметила думала вы решили оставить мне поле для размышлений но я к сожалению из-за своего пока скудного знания запросов ничего умнее того чтобы прийти к уже известным мне временным таблицам ничего непридумала.Пробовала эксперементировать с условием но пока без результатно
  19. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    а в документе оплаты сделка явно указывается?
  20. TopicStarter Overlay
    Ленок87
    Offline

    Ленок87 Опытный в 1С

    Регистрация:
    7 фев 2012
    Сообщения:
    261
    Симпатии:
    0
    Баллы:
    26
    В табличной части
Похожие темы
  1. Amber
    Ответов:
    6
    Просмотров:
    1.631
Загрузка...

Поделиться этой страницей