Создать на основании документ для каждой строки табличной части
Доброго времени суток! Суть дела: есть созданный свой документ, в документе много строк с информацией контрагент, договор и т.п. хочу сделать колонку, типо гиперссылки, где нажимаешь на нее и вводится документ на основании строки или же, нажатием какой-то общей кнопки, создаются документы реализации по каждой строке документа, без открытия формы, и не проведенные.
Вопрос: кто нибудь сталкивался с таким?
Вопрос: кто нибудь сталкивался с таким?
По теме из базы знаний
- Табличная часть из дополнительных реквизитов с обработкой событий в расширении
- Формирование файла типа xml для формализованных электронных передаточных и корректировочных документов и неформализованного электронного документа Счет на основании документа бухгалтерии
- Автоматическое закрытие этапа производства с формированием производственных документов
- Неограниченное количество строк в табличной части документа
- Универсальный редактор табличных частей документов РеСольДо
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Стандартно делают внешнюю обработку с типом команды "Обработка заполнения" а в модуле обработки прописываешь свой алгоритм. Если конфигурация содержит БСП, никаких проблем не по написанию и подключению обработки нет.
В чем возникла сложность реализации?
Обычно поступают иначе. Создают колонку "Пометка" (булево), создают 2 кнопки с картинками установки галочек для всех строк и снятия галочек для всех строк. Создается команда. В команде делается отбор по таблице, где признак "Пометка"="Истина". Далее в цикле проходимся по массиву с найденными строками и для каждой из них создаем новый документ с предварительной проверкой на его существовании уже в базе
Для эстетичности, если работа не разовая можно вынести в фоновое задание с прогрессом.
Обычно поступают иначе. Создают колонку "Пометка" (булево), создают 2 кнопки с картинками установки галочек для всех строк и снятия галочек для всех строк. Создается команда. В команде делается отбор по таблице, где признак "Пометка"="Истина". Далее в цикле проходимся по массиву с найденными строками и для каждой из них создаем новый документ с предварительной проверкой на его существовании уже в базе
Для эстетичности, если работа не разовая можно вынести в фоновое задание с прогрессом.
(4) Я на в модуле формы использую этот код:
Но происходит, ничего...вот в чем сложность..
Процедура КоманднаяПанель1СоздатьДокументыРеализации(Кнопка)
Для Каждого СтрокаТабличнойЧасти из ЭтотОбъект.Реестр Цикл
ДокументОснование = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
ДокументОснование.Дата = ДокументОбъект.Дата;
ДокументОснование.Контрагент = СтрокаТабличнойЧасти.Арендатор;
НоваяСтрока = ДокументОснование.Услуги.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТабличнойЧасти);
ДокументОснование.Записать(РежимЗаписиДокумента.Запись);
КонецЦикла;
КонецПроцедуры
ПоказатьНо происходит, ничего...вот в чем сложность..
(6)захожу в форму документа, нажимаю кнопку, секунду покрутилось и все, думаю может создался документ, пробегаю по списку реализаций, ничего нет. Вот сижу по точке останова смотрю..думал как то проще все будет. У меня куча реквизитов для записи в реализацию, для начала взял два простых Дата и контрагент, не думаю что как то влияет отсутствие других реквизитов.
(10)Блиин...спасибо за совет по ЖР..действительно документы создались и я их не увидел из-за того что отбор по организации стоял..я же в коде организацию не прописал..какая нелепость...извините что голову Вам мурыжу..теперь надо найти кусок кода чтобы проверял уже созданные документы, а то их там теперь уже куча :)))))))))))))))))))))))))))
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот