|
УПП 8.2 Несколько вопросов при переделывании документа | ☑ | ||
---|---|---|---|---|
0
demous
13.04.12
✎
10:13
|
Заранее всем благодарен за помощь, суть следующая, есть документ который формирует список по заявкам на расход и создает на заявки платежки
, его надо перегнать под немного другой вариант... в ней задано формирование в обязательном порядке по организации и по подразделению... помогите переделать эти моменты так, что бы если организация не выбрана или подразделение, то он формировал полный список документов Если не ЗначениеЗаполнено(Организация) тогда Сообщить("Не заполнена организация!"); Возврат; Конецесли; вот первое с чего начинает момент по организации дальше идет такой запрос Запрос.Текст="ВЫБРАТЬ | ДенежныеСредстваОстатки.БанковскийСчетКасса КАК Счет, | СУММА(ДенежныеСредстваОстатки.СуммаОстаток) КАК Остаток |ИЗ | РегистрНакопления.ДенежныеСредства.Остатки( | &Дат, | Организация = &Организация | И БанковскийСчетКасса.ВалютаДенежныхСредств = &Валюта) КАК ДенежныеСредстваОстатки | |СГРУППИРОВАТЬ ПО | ДенежныеСредстваОстатки.БанковскийСчетКасса"; Запрос.УстановитьПараметр("Дат",НачалоДня(Дата)); Запрос.УстановитьПараметр("Организация",Организация); Запрос.УстановитьПараметр("Валюта",ВалютаДокумента); Запрос.УстановитьПараметр("Подразделение",Подразделение); ТЗ=Запрос.Выполнить().Выгрузить(); РасчетныеСчета.Загрузить(ТЗ); Для Каждого Стр Из РасчетныеСчета Цикл Если Стр.Счет=Организация.ОсновнойБанковскийСчет Тогда Стр.СчетПоУмолчанию=Истина; КонецЕсли; КонецЦикла; СписокСостояний = Новый СписокЗначений; СписокСостояний.Добавить(Перечисления.СостоянияОбъектов.Утвержден); СписокСостояний.Добавить(Перечисления.СостоянияОбъектов.Подготовлен); Запрос.УстановитьПараметр("Дат",НачалоНедели(Дата)); Построитель.Параметры.Вставить("Дат",КонецНедели(Дата)); Построитель.Параметры.Вставить("Организация",Организация); |
|||
1
demous
13.04.12
✎
10:25
|
апну
|
|||
2
pumbaEO
13.04.12
✎
10:31
|
Построитель отчета используй или СКД, для задания условий.
|
|||
3
demous
13.04.12
✎
10:34
|
(2)это документ, это не отчет... тут разве можно их использовать?
|
|||
4
demous
13.04.12
✎
10:40
|
(2)построитель нашел.. .а СКД где там можно использовать?
|
|||
5
bvg
13.04.12
✎
10:40
|
примерно вот так:
ВЫБРАТЬ ДенежныеСредстваОстатки.БанковскийСчетКасса КАК Счет, СУММА(ДенежныеСредстваОстатки.СуммаОстаток) КАК Остаток ИЗ РегистрНакопления.ДенежныеСредства.Остатки(&Дат, БанковскийСчетКасса.ВалютаДенежныхСредств = &Валюта) КАК ДенежныеСредстваОстатки {ГДЕ ДенежныеСредстваОстатки.Организация.*} СГРУППИРОВАТЬ ПО ДенежныеСредстваОстатки.БанковскийСчетКасса |
|||
6
demous
13.04.12
✎
10:47
|
(5) спс, сейчас попробую
|
|||
7
demous
13.04.12
✎
10:54
|
(5) по прежнему формирует только если выбрана организация
|
|||
8
pumbaEO
13.04.12
✎
10:58
|
Как - то так:
Процедура ИнициализироватьПостроительОтчета(ПостроительОтчета) Экспорт // -= ВРЕМЕННЫЙ КОД: УДАЛИТЬ ПОСЛЕ ОТЛАДКИ =- // { Если Ложь Тогда ПостроительОтчета = Новый ПостроительОтчета; КонецЕсли; // } // ПостроительОтчета.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | НалоговаяНакладная.Ссылка КАК НалоговаяНакладная, | НалоговаяНакладная.Представление КАК Представление, | НАЧАЛОПЕРИОДА(НалоговаяНакладная.Дата, МЕСЯЦ) КАК ПериодС, | КОНЕЦПЕРИОДА(НалоговаяНакладная.Дата, МЕСЯЦ) КАК ПериодПо, | НалоговаяНакладная.Организация, | НалоговаяНакладная.ПродажаНижеОбычнойЦены, | ЗНАЧЕНИЕ(Документ.НалоговаяНакладная.ПустаяСсылка) КАК ВидДокумента |{ВЫБРАТЬ | НалоговаяНакладная.*, | Представление, | ПериодС, | ПериодПо, | Организация.*, | ПродажаНижеОбычнойЦены, | ВидДокумента} |ИЗ | Документ.НалоговаяНакладная КАК НалоговаяНакладная |ГДЕ | НалоговаяНакладная.Проведен | И &ЕстьОтборНН = ИСТИНА |{ГДЕ | НалоговаяНакладная.Ссылка.*, | НалоговаяНакладная.Номер, | НалоговаяНакладная.Дата, | НалоговаяНакладная.ВидОперации.*, | НалоговаяНакладная.Комментарий, | НалоговаяНакладная.Организация.*, | НалоговаяНакладная.Контрагент.*, | НалоговаяНакладная.ДоговорКонтрагента.*, | НалоговаяНакладная.ТипЦен.*, | НалоговаяНакладная.ВалютаДокумента.*, | НалоговаяНакладная.Ответственный.*, | НалоговаяНакладная.ДокументОснование.*, | НалоговаяНакладная.ПодтверждаетсяГТД, | НалоговаяНакладная.НомерГТД, | НалоговаяНакладная.Сделка.*, | НалоговаяНакладная.ТипПричиныНевыдачиПокупателю, | НалоговаяНакладная.ВидДоговора, | НалоговаяНакладная.СпецРежимНалогообложения, | НалоговаяНакладная.УточняемыйПериод, | НалоговаяНакладная.УслугиНерезидентаДляНехозДеят, | НалоговаяНакладная.ПометкаУдаления, | НалоговаяНакладная.КтоВыписалНалоговуюНакладную.*, | НалоговаяНакладная.ПродажаНижеОбычнойЦены, | НалоговаяНакладная.ВключаетсяВУточняющийРасчет, | НалоговаяНакладная.ВключенаВЕдиныйРеестрНалоговыхНакладных, | НалоговаяНакладная.ТребуетВключенияВЕдиныйРеестрНалоговыхНакладных} | |СГРУППИРОВАТЬ ПО | НалоговаяНакладная.Ссылка, | НалоговаяНакладная.Представление, | НалоговаяНакладная.Организация, | НалоговаяНакладная.ПродажаНижеОбычнойЦены, | НАЧАЛОПЕРИОДА(НалоговаяНакладная.Дата, МЕСЯЦ), | КОНЕЦПЕРИОДА(НалоговаяНакладная.Дата, МЕСЯЦ) | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | Приложение2КНалоговойНакладной.Ссылка, | Приложение2КНалоговойНакладной.Представление, | НАЧАЛОПЕРИОДА(Приложение2КНалоговойНакладной.Дата, МЕСЯЦ), | КОНЕЦПЕРИОДА(Приложение2КНалоговойНакладной.Дата, МЕСЯЦ), | Приложение2КНалоговойНакладной.Организация, | ЛОЖЬ, | ЗНАЧЕНИЕ(Документ.Приложение2КНалоговойНакладной.ПустаяСсылка) |{ВЫБРАТЬ | НалоговаяНакладная.*, | ПериодС, | ПериодПо, | Организация.*, | ПродажаНижеОбычнойЦены} |ИЗ | Документ.Приложение2КНалоговойНакладной КАК Приложение2КНалоговойНакладной |ГДЕ | Приложение2КНалоговойНакладной.Проведен | И &ЕстьОтборПриложение2 = ИСТИНА |{ГДЕ | Приложение2КНалоговойНакладной.Ссылка.*, | Приложение2КНалоговойНакладной.Номер, | Приложение2КНалоговойНакладной.ВидОперации.*, | Приложение2КНалоговойНакладной.Комментарий, | Приложение2КНалоговойНакладной.Организация.*, | Приложение2КНалоговойНакладной.Контрагент.*, | Приложение2КНалоговойНакладной.ДоговорКонтрагента.*, | Приложение2КНалоговойНакладной.ТипЦен.*, | Приложение2КНалоговойНакладной.ВалютаДокумента.*, | Приложение2КНалоговойНакладной.Ответственный.*, | Приложение2КНалоговойНакладной.НалоговаяНакладная.*, | Приложение2КНалоговойНакладной.ДокументОснование.*, | Приложение2КНалоговойНакладной.Сделка.*, | Приложение2КНалоговойНакладной.НалоговаяНакладная.ТипПричиныНевыдачиПокупателю КАК ТипПричиныНевыдачиПокупателю, | Приложение2КНалоговойНакладной.ВидДоговора, | Приложение2КНалоговойНакладной.СпецРежимНалогообложения, | Приложение2КНалоговойНакладной.УточняемыйПериод, | Приложение2КНалоговойНакладной.НалоговаяНакладная.УслугиНерезидентаДляНехозДеят КАК УслугиНерезидентаДляНехозДеят, | Приложение2КНалоговойНакладной.ПометкаУдаления, | Приложение2КНалоговойНакладной.КтоВыписалНалоговуюНакладную.*, | Приложение2КНалоговойНакладной.ВключаетсяВУточняющийРасчет, | Приложение2КНалоговойНакладной.ВключенаВЕдиныйРеестрНалоговыхНакладных, | Приложение2КНалоговойНакладной.ТребуетВключенияВЕдиныйРеестрНалоговыхНакладных, | Приложение2КНалоговойНакладной.ОснованиеКорректировки, | Приложение2КНалоговойНакладной.УточняемыйПериод, | Приложение2КНалоговойНакладной.СпецРежимНалогообложения} | |СГРУППИРОВАТЬ ПО | Приложение2КНалоговойНакладной.Ссылка, | Приложение2КНалоговойНакладной.Представление, | Приложение2КНалоговойНакладной.Организация, | НАЧАЛОПЕРИОДА(Приложение2КНалоговойНакладной.Дата, МЕСЯЦ), | КОНЕЦПЕРИОДА(Приложение2КНалоговойНакладной.Дата, МЕСЯЦ)"; ПостроительОтчета.ЗаполнитьНастройки(); // { Добавим отборы по умолчанию. // ПостроительОтчета.Отбор.Добавить("Дата"); ПостроительОтчета.Отбор.Дата.Использование = Истина; ПостроительОтчета.Отбор.Дата.ВидСравнения = ВидСравнения.ИнтервалВключаяГраницы; ПостроительОтчета.Отбор.Дата.ЗначениеС = НачалоДня(ТекущаяДата()); ПостроительОтчета.Отбор.Дата.ЗначениеПо = КонецДня(ТекущаяДата()); ПостроительОтчета.Отбор.Добавить("Организация"); ПостроительОтчета.Отбор.Добавить("ТребуетВключенияВЕдиныйРеестрНалоговыхНакладных",, "Требует включения в ЕРНН"); ПостроительОтчета.Отбор.ТребуетВключенияВЕдиныйРеестрНалоговыхНакладных.Использование = Истина; ПостроительОтчета.Отбор.ТребуетВключенияВЕдиныйРеестрНалоговыхНакладных.Значение = Истина; ПостроительОтчета.Отбор.ТребуетВключенияВЕдиныйРеестрНалоговыхНакладных.ВидСравнения = ВидСравнения.Равно; ПостроительОтчета.Отбор.Добавить("ВключенаВЕдиныйРеестрНалоговыхНакладных",, "Включена в ЕРНН"); ПостроительОтчета.Отбор.ВключенаВЕдиныйРеестрНалоговыхНакладных.Использование = Истина; ПостроительОтчета.Отбор.ВключенаВЕдиныйРеестрНалоговыхНакладных.Значение = Ложь; ПостроительОтчета.Отбор.ВключенаВЕдиныйРеестрНалоговыхНакладных.ВидСравнения = ВидСравнения.Равно; // } КонецПроцедуры Если организация пустая тогда Использование ставишь Ложь... ИнициализироватьПостроительОтчета(Построитель); Запрос = Построитель.ПолучитьЗапрос(); Результат = Запрос.Выполнить(); |
|||
9
demous
13.04.12
✎
11:03
|
(8) но как я правильно понял, получается форма отчета... тут моя ошибка... сорри, не дописал в шапке, что отчет по такой системе как требовалась я подготовил... а у начальства возникла потребность видеть сегодняшние данные по этому отчету, хоть через 5 лет, при этом чтоб они хранились в программе, то есть сохранение внешним доком типа htm или mxl их не устраивает... и единственный выход который я нашел, это сделать такой же документ как отчет...
|
|||
10
pumbaEO
13.04.12
✎
11:06
|
что за бред... Задачу в студию, можно не ТЗ а функциональное требование.
|
|||
11
demous
13.04.12
✎
11:12
|
(10) минутку)
|
|||
12
demous
13.04.12
✎
11:19
|
(10) http://rghost.ru/37556404
вот скрин отчета... сам отчет не сложный, но суть его в том, что начальству требуется теперь то, что я описал в (9) |
|||
13
demous
13.04.12
✎
11:33
|
(5) формирует без организации и подразделения... но при их выборе перестал на них реагировать,и формирует весь список
|
|||
14
demous
13.04.12
✎
11:38
|
вот еще в дополнение шапки
Процедура ПриОткрытии() Построитель.Текст = "ВЫБРАТЬ | ЗаявкиНаРасходованиеСредствОстатки.Контрагент КАК Контрагент, | ЗаявкиНаРасходованиеСредствОстатки.ЗаявкаНаРасходование КАК Заявка, | СУММА(ЗаявкиНаРасходованиеСредствОстатки.СуммаВзаиморасчетовОстаток * ЕСТЬNULL(КурсыВалютСрезПоследних.Курс, 1)) КАК СуммаВзаиморасчетов, | ЗаявкиНаРасходованиеСредствОстатки.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств, | ЗаявкиНаРасходованиеСредствОстатки.ДоговорКонтрагента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов, | ЗаявкиНаРасходованиеСредствОстатки.ЗаявкаНаРасходование.ДатаРасхода КАК СрокОплаты, | ЗаявкиНаРасходованиеСредствОстатки.ЗаявкаНаРасходование.Ответственный КАК Ответственный, | ЗаявкиНаРасходованиеСредствОстатки.ЗаявкаНаРасходование.ЦФО КАК Подразделение, | ЗаявкиНаРасходованиеСредствОстатки.ЗаявкаНаРасходование.Д_Приоритет КАК Приоритет, | СУММА(ЗаявкиНаРасходованиеСредствОстаткиИОбороты.СуммаВзаиморасчетовРасход) КАК Расход, | СУММА(ЗаявкиНаРасходованиеСредствОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток) КАК СуммаДокумента, | СУММА(ЗаявкиНаРасходованиеСредствОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток) КАК Остаток |ИЗ | РегистрНакопления.ЗаявкиНаРасходованиеСредств.Остатки( | &Дат, | Организация = &Организация | И ЗаявкаНаРасходование.ЦФО = &Подразделение) КАК ЗаявкиНаРасходованиеСредствОстатки | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&Дат, ) КАК КурсыВалютСрезПоследних | ПО ЗаявкиНаРасходованиеСредствОстатки.ДоговорКонтрагента.ВалютаВзаиморасчетов = КурсыВалютСрезПоследних.Валюта, | РегистрНакопления.ЗаявкиНаРасходованиеСредств.ОстаткиИОбороты(, , , , ) КАК ЗаявкиНаРасходованиеСредствОстаткиИОбороты |ГДЕ | ЗаявкиНаРасходованиеСредствОстатки.ЗаявкаНаРасходование.Состояние В(&Состояния) | И ЗаявкиНаРасходованиеСредствОстатки.ЗаявкаНаРасходование.ВалютаДокумента = &ВалютаДокумента |{ГДЕ | ЗаявкиНаРасходованиеСредствОстатки.Контрагент.*, | ЗаявкиНаРасходованиеСредствОстатки.ЗаявкаНаРасходование.ЦФО.* КАК Подразделение, | ЗаявкиНаРасходованиеСредствОстатки.ЗаявкаНаРасходование.* КАК Заявка} | |СГРУППИРОВАТЬ ПО | ЗаявкиНаРасходованиеСредствОстатки.Контрагент, | ЗаявкиНаРасходованиеСредствОстатки.ЗаявкаНаРасходование, | ЗаявкиНаРасходованиеСредствОстатки.СтатьяДвиженияДенежныхСредств, | ЗаявкиНаРасходованиеСредствОстатки.ДоговорКонтрагента.ВалютаВзаиморасчетов, | ЗаявкиНаРасходованиеСредствОстатки.ЗаявкаНаРасходование.ДатаРасхода, | ЗаявкиНаРасходованиеСредствОстатки.ЗаявкаНаРасходование.Ответственный, | ЗаявкиНаРасходованиеСредствОстатки.ЗаявкаНаРасходование.ЦФО, | ЗаявкиНаРасходованиеСредствОстатки.ЗаявкаНаРасходование.Д_Приоритет | |УПОРЯДОЧИТЬ ПО | СтатьяДвиженияДенежныхСредств, | Контрагент, | Заявка |АВТОУПОРЯДОЧИВАНИЕ"; Построитель.ЗаполнитьНастройки(); //ПересчитатьОстаткиНаКонец(); //НомерПлатежки = СледующийНомер(ПоследнийНомерПлатежки()); Если ЭтоНовый() Тогда ВалютаДокумента = мВалютаУпрУчета; КонецЕсли; КонецПроцедуры |
|||
15
demous
13.04.12
✎
11:42
|
в таком варианте, формирует только если выбранно подразделение и организация
|ИЗ | РегистрНакопления.ЗаявкиНаРасходованиеСредств.Остатки( | &Дат, | Организация = &Организация | И ЗаявкаНаРасходование.ЦФО = &Подразделение) КАК ЗаявкиНаРасходованиеСредствОстатки если это убираю, то заполняет весь список по заявкам (13) |
|||
16
demous
13.04.12
✎
11:54
|
апну
|
|||
17
pumbaEO
13.04.12
✎
11:58
|
тебе ничего не поможет, используй пример из 8 для установки отборов и получения запроса с правильными отборами, заполняй табличную часть документа, отчет строй по движениям документа.
|
|||
18
demous
13.04.12
✎
12:27
|
(17) с документом понятно... буду разбираться... вопрос такой еще
Можно ли как то сделать сохранение отчета в программе, что бы можно было его открыть через какой-то промежуток времени, с актуальными на момент сохранения данными? |
|||
19
Argon
13.04.12
✎
12:33
|
Можно попробовать запихнуть его в регистр настроек пользователя
|
|||
20
Argon
13.04.12
✎
12:34
|
Ну или добавить отдельный регистр сведений с хранилищами значений
|
|||
21
demous
13.04.12
✎
12:39
|
Отчет в регистр? можно чуть более толкования добавить? просто пока я не представляю этого момента(((
|
|||
22
bvg
13.04.12
✎
12:47
|
если отчет выводит данные сейчас , то и через 5 лет он будет выводить эти же данные, зачем еще куда то сохранять?
|
|||
23
demous
13.04.12
✎
13:31
|
(22) не устраивает то, что его надо будет формировать... вот ........... надо так, что бы он сохранялся как документ, вот ты хоть убей
|
|||
24
Argon
13.04.12
✎
13:31
|
Не отчет в регистр, а ДАННЫЕ полученные им. Насколько я понял задача стоит в том чтобы вывести данные, не на основании документов в ИБ (которые могли просто поменяться), а именно те данные которые были на момент формирование отчета
|
|||
25
Argon
13.04.12
✎
13:33
|
Хотя как более простой вариант просто сохранять в файлы, которые потом можно открывать (но тогда данные фактически будут не в базе)
|
|||
26
demous
13.04.12
✎
13:43
|
в (24) правильно понял задачу... то есть менялись данные или не менялись, они должны показываться именно на тот момент когда был сформирован отчет... а формироваться он будет в понедельник и в пятницу с подведением итогов...
и (25) сохранение в отдельный файл ну ни как не устраивает руководство |
|||
27
Argon
13.04.12
✎
15:29
|
Ну тогда либо используй какой нибудь стандартный регистр - типа "настройки пользователей", либо создай свой собственный, в отчеты добавь возможность сохранить результаты. При сохранении создавай запись в регистре за заталкивай туда результаты отчета (рекомендую использовать тип данных "хранилище значений")
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |