Управляемые формы: создание документа, запись в табличнуб часть

Новая тема
Показывать по сообщений
"Подскажите, кто знает.<br> Задача: загрузить из внешнегго файла проводки в бух.операцию.<br>не могу записать проводки - не пишет, так как в Операции Бух нет табличной части.<br>усложняется еще и управляемой формой.<br>Создала внешнюю обработку, на ней кнопку с командой Загрузить<br>Ниже укороченный ( убрала про обрашение к файлу его чтение и прочее).<br>Интересует только Запись проводок.<br>//для теста использую счет 51 и текущюю дату<br>&НаСервере<br>Функция   СоздатьНовыйДокумент(дата,таблицаЗнач)<br>    НовыйДокумент = Документы.ОперацияБух.СоздатьДокумент();<br>    НовыйДокумент.Организация = Справочники.Организации.НайтиПоКоду("00000001");<br>    НовыйДокумент.Дата = Дата;<br>    НовыйДокумент.Записать();<br>//тут идет запись в таб часть, но не получается.<br>    Строчка = НовыйДокумент.Движения.Хозрасчетный.Добавить();<br>    Строчка.Период = дата;<br>    Строчка.Активность = Истина;<br>    Строчка.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду(строка("51"));<br>    Строчка.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду(Строка("51"));//тупо на 51<br>//НЕ пишет , документ создает, а табличные части пустые//<br>  Возврат НовыйДокумент.Ссылка;<br><br>КонецФункции<br> <br>&НаКлиенте<br>Процедура Загрузить(Команда)<br>        ДатаПр= ТекущаяДата();<br>        дебет = "51";<br>        ДанныеЗаполнения=Новый массив(0);<br>        ДанныеЗаполнения.Вставить(0,Дебет);<br>        СсылкаНаДокумент = СоздатьНовыйДокумент(ДатаПр,ДанныеЗаполнения);<br>КонецПроцедуры"
"С первого взгляда без тестирования - создаются строки, а потом возврат ссылки идет без записи.<br>зы. Но мне почему то кажется что обращение "Строчка = НовыйДокумент.Движения.Хозрасчетный.Добавить();" не верно. (если это обращение к движениям, а не к табличной части)"
Выдается какая-то ошибка? Если да, на каком этапе и текст.
А вы просто создаете движение, и не привязываете его к документу. Нет?
Добавление верное, но записи движений я не вижу.
Обращение к свойству документа "Движения" в модуле объекта документа само по себе создает набор записей с установленным отбором по регистратору равному ссылке на этот документ. Собственно, в этом и заложено удобство.
Удобно, действительно.<br>Работать с ним приходится редко, так что забываются нюансы.
т.е. не хватает записи регистратора?
а как тогда?
"Как то так<br> <br>&НаКлиенте<br>Процедура СоздатьОперацию(Команда)<br> // Вставить содержимое обработчика.<br> создатьдок();<br>КонецПроцедуры<br><br>&НаСервере<br>Процедура создатьдок()<br> док=Документы.ОперацияБух.СоздатьДокумент();<br> док.Дата=Текущаядата();<br> док.Организация=Справочники.Организации.НайтиПоКоду("00-000001");<br> док.ТиповаяОперация = Неопределено;<br> док.ЗаполнениеДвижений.Очистить();<br> док.СторнируемыйДокумент = Неопределено;<br>    док.СуммаОперации=60000;<br> Док.ОбменДанными.Загрузка = Истина;<br> Док.Движения.Хозрасчетный.Записывать = Истина;<br> стр=док.Движения.Хозрасчетный.Добавить();<br> стр.СчетДт=ПланыСчетов.Хозрасчетный.РасчетныеСчета;<br> стр.СчетКт=ПланыСчетов.Хозрасчетный.Вспомогательный;<br> стр.Период=Текущаядата();<br> стр.Организация=Справочники.Организации.НайтиПоКоду("00-000001");<br> стр.Активность=истина;<br> стр.Сумма=10000;<br> стр=док.Движения.Хозрасчетный.Добавить();<br> стр.СчетДт=ПланыСчетов.Хозрасчетный.РасчетныеСчета;<br> стр.СчетКт=ПланыСчетов.Хозрасчетный.Вспомогательный;<br> стр.Период=Текущаядата();<br> стр.Организация=Справочники.Организации.НайтиПоКоду("00-000001");<br> стр.Активность=истина;<br> стр.Сумма=50000;<br> док.Записать(РежимЗаписиДокумента.Запись);<br> КонецПроцедуры"
Читают тему
(гостей: 1)

Быстрый переход