Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Регистры в запросе.  (Прочитано 12201 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Radistka
Помогающий

ru
Offline Offline
Пол: Женский

« : 24-10-2012 07:32 » 

короче чего то затупила... вспоминаю семёрку по потребности, запрос выглядит так:

Код:
	ТекстЗапроса = 
"//{{ЗАПРОС(Поступления)
|Период с НачДата по ТекДата;  [color=green]///Изменено Radistka 24.10.2012[/color]
|ВидМатериальногоРесурса = Регистр.РасчетыСПокупателями.ВидМатериальногоРесурса,Регистр.Расходы.ВидМатериальногоРесурса;
|ВидДеятельности = Регистр.РасчетыСПокупателями.ВидДеятельности,Регистр.Расходы.ВидДеятельности;
|ОблагаетсяНДС = Регистр.Расходы.ОблагаетсяНДС;
|СтавкаНДС = Регистр.РасчетыСПокупателями.СтавкаНДС;

|Номенклатура = Регистр.РасчетыСПокупателями.Номенклатура,Регистр.Расходы.Номенклатура;
|ДокументПоступления = Регистр.Расходы.ДокументПоступления,Регистр.РасчетыСПокупателями.ДокументПоступления;
|ДокументОтгрузки = Регистр.РасчетыСПокупателями.РасчДокумент;
|ДокументОплаты = Регистр.РасчетыСПокупателями.ДокументОплаты,Регистр.Расходы.ДокументОплаты;
|НомерСтроки = Регистр.РасчетыСПокупателями.НомерСтроки,Регистр.Расходы.НомерСтроки;

[color=green]                             ///Изменено Radistka 24.10.2012[/color]
|ДатаДок= Регистр.РасчетыСПокупателями.ДокументОплаты.ДатаДок,Регистр.Расходы.ДокументОплаты.ДатаДок;
                            
//

|КоличествоРасходы = Регистр.Расходы.КоличествоОплаченное;
|СтоимостьРасходы = Регистр.Расходы.СтоимостьОплаченная;

|СтоимостьПодлежащаяРеализации = Регистр.Расходы.СтоимостьОплаченная;

|КоличествоРасчеты = Регистр.РасчетыСПокупателями.Количество;
|СтоимостьРасчеты = Регистр.РасчетыСПокупателями.СтоимостьОплаченная;
|УчетнаяСтоимостьРасчеты = Регистр.РасчетыСПокупателями.Стоимость;
|Задолженность = Регистр.РасчетыСПокупателями.Сумма;
|НП = Регистр.РасчетыСПокупателями.СуммаНП;
|НДС = Регистр.РасчетыСПокупателями.СуммаНДС;

|Функция КоличествоНачОст  = НачОст(КоличествоРасходы);
|Функция КоличествоПриход  = Приход(КоличествоРасходы);
|Функция КоличествоКонОст  = КонОст(КоличествоРасходы);

|Функция СтоимостьНачОст  = НачОст(СтоимостьРасходы);
|Функция СтоимостьПриход  = Приход(СтоимостьРасходы);
|Функция СтоимостьКонОст  = КонОст(СтоимостьРасходы);

|Функция УчетноеКоличествоРасчетыНачОст  = НачОст(КоличествоРасчеты);
|Функция УчетноеКоличествоРасчетыРасход  = Расход(КоличествоРасчеты);
|Функция УчетноеКоличествоРасчетыКонОст  = КонОст(КоличествоРасчеты);

|Функция УчетнаяСтоимостьРасчетыНачОст  = НачОст(УчетнаяСтоимостьРасчеты);
|Функция УчетнаяСтоимостьРасчетыРасход  = Расход(УчетнаяСтоимостьРасчеты);
|Функция УчетнаяСтоимостьРасчетыКонОст  = КонОст(УчетнаяСтоимостьРасчеты);

|Функция СтоимостьРасчетыНачОст  = НачОст(СтоимостьРасчеты);
//|Функция СтоимостьРасчетыРасход  = Расход(СтоимостьРасчеты);
|Функция СтоимостьРасчетыРасход  = Приход(СтоимостьПодлежащаяРеализации);
|Функция СтоимостьРасчетыКонОст  = КонОст(СтоимостьРасчеты);

|Функция СуммаНДС = Расход(НДС);
|Функция СуммаНП = Расход(НП);
|Функция ЗадолженностьРасход = Расход(Задолженность);

|Группировка Месяц Все;
|Группировка ДокументПоступления;
|Группировка Номенклатура Без Групп;
|Группировка Документ;
|Группировка ДокументОплаты;
|Группировка НомерСтроки;
|Группировка ДокументОтгрузки;";

Если ВыбВидДеятельности.Выбран() = 1 Тогда
   ТекстЗапроса = ТекстЗапроса + "
|Условие (ВидДеятельности в ВыбВидДеятельности);";
КонецЕсли;

Если ВыбВидМатериальногоРесурса.РазмерСписка() > 0 Тогда
   ТекстЗапроса = ТекстЗапроса + "
|Условие (ВидМатериальногоРесурса в ВыбВидМатериальногоРесурса);";
КонецЕсли;

Если ВыбНоменклатура.Выбран() = 1 Тогда
   ТекстЗапроса = ТекстЗапроса + "
|Условие (Номенклатура в ВыбНоменклатура);";
КонецЕсли;

ТекстЗапроса = ТекстЗапроса + "
|Условие (ОблагаетсяНДС = ВыбОблагаетсяНДС);
|Условие (СтавкаНДС в СписокСтавокНДС);
|Условие (ДатаДок<=КонДата);[color=green]///Изменено Radistka 24.10.2012[/color]
|"//}}ЗАПРОС
;
Это собственно говоря вырезка из кода отчета "книгаУчетаТаблица16" конфигурации Учет и отчетность предпринимателя 1.2
единственное что в нём изменено - помеченно "///Изменено Radistka 24.10.2012". а проблема неожиданная - не срабаывает условие на дату. есть подозрение что условия на реквизиты Реквизитов регистра не читаются одинэсиной, но это было бы странно и очень печально. может тогда есть другие варианты достижения?

скрины структуры регистра прилагаю, вдруг приполезятся )

* Untitled.jpg (75.8 Кб - загружено 1138 раз.)
« Последнее редактирование: 24-10-2012 09:35 от Radistka » Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 24-10-2012 09:16 » 

ДокументОплаты - это реквизит?
Проверь в свойствах реквизита флажок Отбор движений на закладке Дополнительные.
Попробуй еще вариант:
Код: (1C v8)
"...
ДокументОплаты = Регистр.РасчетыСПокупателями.ДокументОплаты,Регистр.Расходы.ДокументОплаты;
...
Условие(ДокументОплаты.ДатаДок <= КонДата)
..."
;
Записан
Radistka
Помогающий

ru
Offline Offline
Пол: Женский

« Ответ #2 : 24-10-2012 09:35 » 

да, галочки не было, но она не спасла.
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 24-10-2012 12:57 » new

а запрос переделать, как я предлагал?
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines