Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстатки.СуммаОстатокДт |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет = &Счет, , | Субконто1 = &Контрагент И Организация = &Организация И Субконто2 = &Договор) КАК ХозрасчетныйОстатки"; // Считаем что на счете ведется аналитика только в разрезе контрагентов // и договоров. Запрос.УстановитьПараметр("Период", Период1); Запрос.УстановитьПараметр("Контрагент", Контрагент); Запрос.УстановитьПараметр("Договор", Договор); Запрос.УстановитьПараметр("Организация", Организация); Запрос.УстановитьПараметр("Счет", ПланыСчетов.Хозрасчетный.РасчетыСПокупателями); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Документ = Документы.ОперацияБух.СоздатьДокумент(); Документ.Дата = РабочаяДата; Документ.Организация = Организация; Документ.Содержание = "Погашение дебиторской задолженности"; Проводка = Документ.Движения.Хозрасчетный.Добавить(); Проводка.СчетДт = ПланыСчетов.Хозрасчетный.РасчетыСПокупателями; Проводка.СчетКт = ПланыСчетов.Хозрасчетный.ПрочиеРасходы; Проводка.СубконтоДт.Контрагенты = Контрагент; Проводка.СубконтоДт.Договоры = Договор; Проводка.Сумма = Выборка.СуммаОстатокДт; Документ.СуммаОперации = Выборка.СуммаОстатокДт; Форма = Документ.ПолучитьФорму(); Форма.Открыть(); КонецЕсли;
// Пример 1 Для к = 1 по Метаданные.РеквизитПроводки() Сообщить(Метаданные.РеквизитПроводки(к).Идентификатор); КонецЦикла;
// Пример 2 СписокРеквизитов = СоздатьОбъект("СписокЗначений"); // реквизиты формы операции СписокРеквизитов.ДобавитьЗначение("ДатаОперации"); СписокРеквизитов.ДобавитьЗначение("НомерДок"); СписокРеквизитов.ДобавитьЗначение("СуммаОперации"); СписокРеквизитов.ДобавитьЗначение("Содержание"); // Дополнительные реквизиты операции Для М1 = 1 По Метаданные.РеквизитОперации() Цикл СписокРеквизитов.ДобавитьЗначение(Метаданные.РеквизитОперации(М1).Идентификатор); КонецЦикла; // Общие реквизиты документов Для М1 = 1 По Метаданные.ОбщийРеквизитДокумента() Цикл СписокРеквизитов.ДобавитьЗначение(Метаданные.ОбщийРеквизитДокумента(М1).Идентификатор); КонецЦикла; СписокРеквизитов.ДобавитьЗначение("НомерПроводки"); СписокРеквизитов.ДобавитьЗначение("ПланСчетов"); СписокРеквизитов.ДобавитьЗначение("СчетДт"); СписокРеквизитов.ДобавитьЗначение("СчетКт"); СписокРеквизитов.ДобавитьЗначение("Субконто"); СписокРеквизитов.ДобавитьЗначение("СубконтоДт"); СписокРеквизитов.ДобавитьЗначение("СубконтоКт"); Для М1 = 1 По Метаданные.МаксимальноеКоличествоСубконто Цикл СписокРеквизитов.ДобавитьЗначение("Субконто" + М1); СписокРеквизитов.ДобавитьЗначение("СубконтоКт" + М1); СписокРеквизитов.ДобавитьЗначение("СубконтоДт" + М1); КонецЦикла; СписокРеквизитов.ДобавитьЗначение("Валюта"); СписокРеквизитов.ДобавитьЗначение("Курс"); СписокРеквизитов.ДобавитьЗначение("Количество"); СписокРеквизитов.ДобавитьЗначение("ВалСумма"); СписокРеквизитов.ДобавитьЗначение("Сумма"); СписокРеквизитов.ДобавитьЗначение("НомерСтроки"); // Дополнительные реквизиты проводки Для М1 = 1 По Метаданные.РеквизитПроводки() Цикл СписокРеквизитов.ДобавитьЗначение(Метаданные.РеквизитПроводки(М1).Идентификатор); КонецЦикла; // журнал операций СписокРеквизитов.ДобавитьЗначение("ВидДок"); СписокРеквизитов.ДобавитьЗначение("ВремяОперации"); // Дополнительные графы журнала операций Для М1 = 1 По Метаданные.ГрафаЖурналаОпераций() Цикл СписокРеквизитов.ДобавитьЗначение(Метаданные.ГрафаЖурналаОпераций(М1).Идентификатор); КонецЦикла;