|
Помогите достать дату из документа.. | ☑ | ||
---|---|---|---|---|
0
FuriKuri
06.09.12
✎
18:28
|
Требуется в документе "ВозвратОбъектаИзПроката" при выборе объекта проката, что бы автоматически подставлялось количество дней нахождения объекта в прокате. Делаю это через регистр накопления "ОбъектыПрокатаУКлиентовОстатки"
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОбъектыПрокатаУКлиентовОстатки.ОбъектПроката, | ОбъектыПрокатаУКлиентовОстатки.Клиент, | НачалоПериода(ПередачаОбъектаПрокатаВПрокат.Дата,ДЕНЬ) КАК ДатаДока, | ОбъектыПрокатаУКлиентовОстатки.Ссылка |ИЗ | Документ.ПередачаОбъектаПрокатаВПрокат КАК ПередачаОбъектаПрокатаВПрокат | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОбъектыПрокатаУКлиентов.Остатки( | &ДатаДок, | Клиент = &Клиент | И ОбъектПроката В (&Объект)) КАК ОбъектыПрокатаУКлиентовОстатки | ПО ПередачаОбъектаПрокатаВПрокат.Клиент = ОбъектыПрокатаУКлиентовОстатки.Клиент | И ПередачаОбъектаПрокатаВПрокат.ПереченьОбъектовПроката.ОбъектПроката = ОбъектыПрокатаУКлиентовОстатки.ОбъектПроката | И ПередачаОбъектаПрокатаВПрокат.Ссылка = ОбъектыПрокатаУКлиентовОстатки.Ссылка"; Запрос.УстановитьПараметр("Объект",ПереченьОбъектовПроката.ВыгрузитьКолонку("ОбъектПроката")); Запрос.УстановитьПараметр("Клиент",Клиент); Запрос.УстановитьПараметр("ДатаДок",Дата); Так ли я делаю... при таком варианте данные вобще не могу получить :( |
|||
1
FuriKuri
06.09.12
✎
18:40
|
Как мне получить Дату документа "ПередачаОбъектаПрокатаВПрокат" через регистр накопления....?
|
|||
2
YF
06.09.12
✎
18:41
|
Регистратор - это документ
|
|||
3
VasjaIvanov
06.09.12
✎
18:43
|
ко(2)Регистратор.Дата не?
|
|||
4
FuriKuri
06.09.12
✎
18:45
|
В таблице "ОбъектыПрокатаУКлиентовОстатки" нету же регистратора? или я чего-то недопонимаю..
|
|||
5
vmv
06.09.12
✎
18:49
|
(1) не вникал, но получить ГУИД и по нему
http://help1c.com/faq8/view/1099.html если речь о праметре запроса |
|||
6
vmv
06.09.12
✎
18:49
|
(4) РегистрНакопления всегда с регистратором
|
|||
7
VasjaIvanov
06.09.12
✎
18:51
|
Как мне получить Дату документа "ПередачаОбъектаПрокатаВПрокат" через регистр накопления....?
точно из регистра накопления?? |
|||
8
fisher
06.09.12
✎
18:52
|
(0) По уму тебе надо документ сдачи в прокат измерением делать. И при возврате из проката по нему списывать.
По аналогии с партионкой, короче. |
|||
9
Noroving
06.09.12
✎
18:56
|
Не пойму одного зачем тебе здесь регистр остатков, ти никаких остатков по нему не тянеш. Возьми себе реальную таблицу, там тебе и регистратор...
|
|||
10
fisher
06.09.12
✎
19:00
|
(4) Конечно нет. Какие остатки могут быть по регистратору? Поэтому и нужно измерение. Чтобы взяв остатки можно было сразу понять, когда и по какому документу хрень числящаяся за уродцем была сдана ему в прокат.
|
|||
11
FuriKuri
06.09.12
✎
19:03
|
Ну у меня в запросе и есть через ССылку. Сейчас посмотрю, гдето чтото не так задал в запросе..
|
|||
12
FuriKuri
06.09.12
✎
19:21
|
ТаблЗнач=ЭлементыФормы.ПереченьОбъектовПроката.ТекущиеДанные;
ТаблЗнач.Цена=ТаблЗнач.ОбъектПроката.ЦенаЗаСут; ТаблЗнач.Сумма=ТаблЗнач.Количество*ТаблЗнач.ДнейПроката*ТаблЗнач.Цена; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОбъектыПрокатаУКлиентовОстатки.ОбъектПроката, | ОбъектыПрокатаУКлиентовОстатки.Клиент, | ОбъектыПрокатаУКлиентовОстатки.Ссылка |ИЗ | Документ.ПередачаОбъектаПрокатаВПрокат КАК ПередачаОбъектаПрокатаВПрокат | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОбъектыПрокатаУКлиентов.Остатки( | &ДатаДок, | Клиент = &Клиент | И ОбъектПроката = &Объект) КАК ОбъектыПрокатаУКлиентовОстатки | ПО ПередачаОбъектаПрокатаВПрокат.Ссылка = ОбъектыПрокатаУКлиентовОстатки.Ссылка"; Запрос.УстановитьПараметр("Объект",ТаблЗнач.ОбъектПроката); Запрос.УстановитьПараметр("Клиент",Клиент); Запрос.УстановитьПараметр("ДатаДок",Дата); Выборка=Запрос.Выполнить().Выбрать(); ТаблЗнач.ДнейПроката=(НачалоДня(Дата) - НачалоДня(Выборка.Документ.Дата)) / (60* 60 * 24); Вообще запутался.... создал ссылку в регистре.. не понимаю как вытащить по ней дату... (извините может туплю ужасно... новичек просто) |
|||
13
Noroving
06.09.12
✎
19:36
|
ТаблЗнач=ЭлементыФормы.ПереченьОбъектовПроката.ТекущиеДанные;
ТаблЗнач.Цена=ТаблЗнач.ОбъектПроката.ЦенаЗаСут; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОбъектыПрокатаУКлиентовОстатки.Ссылка.Дата КАК Дата |ИЗ | Документ.ПередачаОбъектаПрокатаВПрокат КАК ПередачаОбъектаПрокатаВПрокат | ПРАВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОбъектыПрокатаУКлиентов.Остатки( | &ДатаДок, | Клиент = &Клиент | И ОбъектПроката = &Объект) КАК ОбъектыПрокатаУКлиентовОстатки | ПО ПередачаОбъектаПрокатаВПрокат.Ссылка = ОбъектыПрокатаУКлиентовОстатки.Ссылка"; Запрос.УстановитьПараметр("Объект",ТаблЗнач.ОбъектПроката); Запрос.УстановитьПараметр("Клиент",Клиент); Запрос.УстановитьПараметр("ДатаДок",Дата); Выборка=Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() тогда ТаблЗнач.ДнейПроката=(НачалоДня(Дата) - НачалоДня(Выборка.Дата)) / (60* 60 * 24); ТаблЗнач.Сумма=ТаблЗнач.Количество*ТаблЗнач.ДнейПроката*ТаблЗнач.Цена; КонецЕсли; Так не? |
|||
14
Noroving
06.09.12
✎
19:38
|
только незнаю зачем там вооше соединение и документ в запросе
|
|||
15
Noroving
06.09.12
✎
19:47
|
и логика совсем не правельная. Я так понимаю ПередачаОбъектаПрокатаВПрокат делает приход по регистру, а ВозвратОбъектаИзПроката расход. Вам нужно получить дату последнего прихода по данному объекту проката для данного клиента. Тогда вам нужно делать отбор по типу регистратора или по виду движения накопления и тянуть последнюю дату регистрации с упоряд. по убыванию ПЕРВОЕ ЗНАЧЕНИЕ... Тогда может чото и получится
|
|||
16
GANR
06.09.12
✎
20:15
|
(0) Структура регистра РегистрНакопления.ОбъектыПрокатаУКлиентов не подходит для этой задачи !
Нужно в регистр добавить измерение "ДокументВыдачи" и приход / расход проводить в разрезе последнего. Либо FIFO-LIFO организовывать, либо в документе приема из проката указывать документы возврата и по ним списывать и "выковыривать" дату выдачи объекта в прокат. А если в РегистрНакопления.ОбъектыПрокатаУКлиентов уже есть проводки - надо пробежаться по ним обработкой и заполнить это самое измерение "ДокументВыдачи". Перепроводить опасно - все остатки поедут, если данных много. |
|||
17
GANR
06.09.12
✎
20:17
|
+(16)пардон
>в документе приема из проката указывать документы возврата в документе приема из проката указывать документы выдачи в прокат |
|||
18
GANR
06.09.12
✎
20:40
|
(0) Или, как вариант, можно провести инвентаризацию и "задолбить" остатки на определенную дату универсальным документом "Корректировка записей регистров".
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |