helpf.pro
Регистрация

v8: Получение периода из регистра накопления

bless18
21.09.2012 11:11Прочитано: 4688
Добрый день!
Есть регистр накопления ЗаявкиНаРасходованиеСредств. Его регистратор документ ЗаявкиНаРасходование.
Когда документ Заявка оплачен, в регистре накопления получается запись с видом Расход.
Нужно выбрать из регистра последнюю дату оплаты.
Как выбрать записи регистра накопления с типом движения расход и выбрать поле Период.
Пытаюсь это сделать с помощью регистра накопления ЗаявкиНаРасходованиеОбороты. Но там почему-то нет периода..
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
21.09.2012 11:16Ответ № 1
нужно просто выбирать из регистра без оборотов с условием на вид движения
bless18
21.09.2012 11:39Ответ № 2
Сделала такой запрос:
Код 1C v 8.2 УП
 
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Ссылка", ДанныеСтроки.Ссылка);
Запрос.УстановитьПараметр("ВидДвижения", ВидДвиженияНакопления.Расход);
Запрос.Текст = "ВЫБРАТЬ
| ЗаявкиНаРасходованиеСредств.Период,
| ЗаявкаНаРасходованиеСредств.Ссылка
|ИЗ
| РегистрНакопления.ЗаявкиНаРасходованиеСредств КАК ЗаявкиНаРасходованиеСредств
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаявкаНаРасходованиеСредств КАК ЗаявкаНаРасходованиеСредств
| ПО ЗаявкиНаРасходованиеСредств.Регистратор = ЗаявкаНаРасходованиеСредств.Ссылка
| И ЗаявкиНаРасходованиеСредств.ЗаявкаНаРасходование = ЗаявкаНаРасходованиеСредств.Ссылка
|ГДЕ
| ЗаявкаНаРасходованиеСредств.Ссылка = &Ссылка
| И ЗаявкиНаРасходованиеСредств.ВидДвижения = &ВидДвижения";
Результат = Запрос.Выполнить();
Если ДанныеСтроки.Проведен Тогда
ДатаОплаты = Результат.Выгрузить()[0].Период;
КонецЕсли;


Ошибка:
{Документ.ЗаявкаНаРасходованиеСредств.Форма.ФормаСписка.Форма(134)}: Индекс находится за границами массива
ДатаОплаты = Результат.Выгрузить()[0].Период;
Из-за чего это может случитьсья?
bless18
21.09.2012 12:02Ответ № 3
В таком виде работает:
Код 1C v 8.2 УП
 
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Ссылка", ДанныеСтроки.Ссылка);
Запрос.УстановитьПараметр("ВидДвижения", ВидДвиженияНакопления.Расход);
Запрос.Текст = "ВЫБРАТЬ
| ЗаявкиНаРасходованиеСредств.Период
|ИЗ
| РегистрНакопления.ЗаявкиНаРасходованиеСредств КАК ЗаявкиНаРасходованиеСредств
|ГДЕ
| ЗаявкиНаРасходованиеСредств.ВидДвижения = &ВидДвижения
| И ЗаявкиНаРасходованиеСредств.ЗаявкаНаРасходование.Ссылка = &Ссылка";
Результат = Запрос.Выполнить().Выгрузить();
Если ДанныеСтроки.Проведен Тогда
Для Каждого СтрокаРезультат Из Результат Цикл
//ДатаОплаты = Результат.Выгрузить()[0].Период;
ОформлениеСтроки.Ячейки.ДатаОплаты.Значение = СтрокаРезультат.Период;
КонецЦикла;
КонецЕсли;


Можно ли как-то обратиться к полю период, не используя цикл
Конструкция [c82 ]ДатаОплаты = Результат.Выгрузить()[0].Период [/c82] выдает ошибку о том, что индекс за границами массива
Подсказка: Щелкнув по значку (справа от названия вопроса), вы получите список ответов на похожие вопросы!
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.