|
внешняя обработка на создание документа | ☑ | ||
---|---|---|---|---|
0
example
20.11.12
✎
15:21
|
Здравствуйте! Имеется внешняя обработка на создание документа и заполнения его таб части из dbf таблицы (перед этим все данные из dbf я гружу в табличную часть обработки из нее же и заполняю таб часть док-та)
Как это реализовать? Вот мой код: На эту кнопку я гружу данные из дбф в таб часть обработки Процедура ЗагрузитьФайл(Элемент) Материалы.Очистить(); хВ = Новый XBase; хВ.ОткрытьФайл(Путь); хВ.Первая(); к=1; Пока Не хВ.ВКонце() Цикл ГН=СтрЗаменить(хВ.INV," ",""); НУ=СтрЗаменить(хВ.N_U," ",""); ВТ=СтрЗаменить(хВ.KOD," ",""); КО=СтрЗаменить(хВ.KOB," ",""); Рд=СтрЗаменить(хВ.RASHOD," ",""); НоваяСтрока=Материалы.Добавить(); НоваяСтрока.ГаражныйНомер=Справочники.рар_ГаражныеНомера.НайтиПоНаименованию(ГН); НоваяСтрока.НомерУчастка=НУ; НоваяСтрока.ВидТоплива=Справочники.Номенклатура.НайтиПоНаименованию(); НоваяСтрока.КодОбъекта=Справочники.НоменклатурныеГруппы.НайтиПоНаименованию(КО); НоваяСтрока.Расход=Рд; хВ.Следующая(); КонецЦикла; КонецПроцедуры А на эту кнопку уже формирую док, заполняю шапку и таб часть Процедура КнопкаВыполнитьНажатие(Кнопка) ТребованиеНакладная=Документы.ТребованиеНакладная.СоздатьДокумент(); ТребованиеНакладная.Организация=Организация; ТребованиеНакладная.Подразделение=Участок; ТребованиеНакладная.Склад=Склад; ТребованиеНакладная.Ответственный=ПараметрыСеанса.ТекущийПользователь; ТребованиеНакладная.Дата=КонецМесяца(МесяцЗагрузки); ТребованиеНакладная.ОтражатьВУправленческомУчете = Истина; ТребованиеНакладная.ОтражатьВБухгалтерскомУчете = Истина; ТребованиеНакладная.ОтражатьВНалоговомУчете = Истина; ТребованиеНакладная.Ответственный=Справочники.Пользователи.НайтиПоНаименованию(); ТребованиеНакладная.НДСвСтоимостиТоваров=Перечисления.ДействиеНДСВСтоимостиТоваров.НеИзменять; Для каждого стр из Материалы Цикл СтрокаТН=ТребованиеНакладная.Материалы.Добавить(); СтрокаТН.Номенклатура=стр.ВидТоплива; ЭтаФорма.Обновить(); СтрокаТН.Количество=стр.Расход; СтрокаТН.ЕдиницаИзмерения=Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(); СтрокаТН.Коэффициент=Число(1.000); СтрокаТН.СтатьяЗатрат=Справочники.СтатьиЗатрат.НайтиПоНаименованию(); СтрокаТН.НоменклатурнаяГруппа=стр.КодОбъекта; СтрокаТн.ГаражныйНомер=стр.ГаражныйНомер; СтрокаТн.Качество=Справочники.Качество.Новый; СтрокаТн.Склад=Склад; ТребованиеНакладная.Записать(); КонецЦикла; ТребованиеНакладная.Записать(); КонецПроцедуры Сейчас все данные грузятся в один документ, а нужно чтобы для каждого значение "КодОбъекта" создавался отдельный док |
|||
1
shuhard
20.11.12
✎
15:22
|
(0) не флюди
v8: Вопрос по обработке на создание документа |
|||
2
Feunoir
20.11.12
✎
15:26
|
В чем вопрос-то?
Таблица сортируется по КодОбъекта; Перебираются строки; Если код в текущей строке отличается от кода в предыдущей, то записывает документ и создаем новый. Это самый простой вариант. |
|||
3
del123
20.11.12
✎
15:31
|
Зачем в цикле каждый раз документ записываешь?
|
|||
4
example
20.11.12
✎
15:46
|
Feunoir, я понимаю, что надо так, я не могу это в своем коде отобразить по неопытности!!
del123, это здесь ошибся, а так док конечно же записываю после цикла! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |