Программное создание акта сверки во внешней обработке для БП 30
Всем доброго дня!
Пытаюсь программно сформировать акты сверки во внешней обработке для БП 30, а также добавить ссылки на созданные в массив и обрабатывать запись созданных в зависимости от условия.
Сейчас код функции выглядит следующим образом:
Эта функция была частично взята из формы документа АктСверкиВзаиморасчетов. На данном этапе застрял на получении списка счетов - не могу сообразить как его получить. В функции из документа обращение выполняется через
Просьба подсказать, как решить проблему во внешней обработке.
Пытаюсь программно сформировать акты сверки во внешней обработке для БП 30, а также добавить ссылки на созданные в массив и обрабатывать запись созданных в зависимости от условия.
Сейчас код функции выглядит следующим образом:
&НаСервере
Функция СоздатьАктСверкиНаСервере(Данные)
МассивАктовСверки = Новый Массив;
Для Каждого ТекущаяСтрока Из Данные Цикл
Если СоздатьАктСверки Тогда
//АктСверки = Документы.АктСверкиВзаиморасчетов.СоздатьДокумент();
СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("ДатаНачала", ДатаАктаСверкиС);
СтруктураПараметров.Вставить("ДатаОкончания", Новый Граница(КонецДня(ДатаАктаСверкиПо), ВидГраницы.Включая));
СтруктураПараметров.Вставить("Организация", ТекущаяСтрока.Организация);
СтруктураПараметров.Вставить("Контрагент", ТекущаяСтрока.Контрагент);
СтруктураПараметров.Вставить("СОбособленнымиПодразделениями", Ложь);
СтруктураПараметров.Вставить("ВыводитьСчетаФактуры", Ложь);
СтруктураПараметров.Вставить("ЗаполнятьДанныеКонтрагента", Истина);
СтруктураПараметров.Вставить("Валюта", Неопределено);
ФильтрСписокСчетов = Новый Массив();
Для Каждого СтрокаСчета Из ТекущаяСтрока.СписокСчетов Цикл
Если ЗначениеЗаполнено(СтрокаСчета.Счет) И СтрокаСчета.УчаствуетВРасчетах Тогда
ФильтрСписокСчетов.Добавить(СтрокаСчета.Счет);
КонецЕсли;
КонецЦикла;
Если ФильтрСписокСчетов.Количество() = 0 Тогда
ТекстОшибки = НСтр("ru='Не задан список счетов, по которым производится сверка.'");
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки, , , "Данные.СписокСчетов");
Возврат Неопределено;
КонецЕсли;
СтруктураПараметров.Вставить("ФильтрСписокСчетов", ФильтрСписокСчетов);
АналитикаРасчетов = Новый Массив();
АналитикаРасчетов.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты);
АналитикаРасчетов.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры);
СтруктураПараметров.Вставить("ДоговорКонтрагента", Неопределено);
СтруктураПараметров.Вставить("ВыводитьПолныеНазванияДокументов", Ложь);
СтруктураПараметров.Вставить("ВалютаДокумента", ТекущаяСтрока.Валюта);
СтруктураПараметров.Вставить("РазбитьПоДоговорам", Истина);
СтруктураПараметров.Вставить("ВалютаРегламентированногоУчета", ТекущаяСтрока.Валюта);
// Вызывается процедура ПодготовитьДанныеДляЗаполнения
НаименованиеЗадания = "ЗаполнитьПоДаннымОрганизации";
Результат = ДлительныеОперации.ЗапуститьВыполнениеВФоне(
УникальныйИдентификатор,
"Документы.АктСверкиВзаиморасчетов.ПодготовитьДанныеДляЗаполнения",
СтруктураПараметров,
НаименованиеЗадания);
АдресХранилища = Результат.АдресХранилища;
Сообщить (ТекущаяСтрока.Валюта);
// Заполняются табличные части акта сверки
Если Результат.ЗаданиеВыполнено Тогда
Сообщить ("2");
СтруктураДанных = ПолучитьИзВременногоХранилища(АдресХранилища);
ТекущаяСтрока.ОстатокНаНачало = СтруктураДанных.ОстатокНаНачало;
ТекущаяСтрока.ПоДаннымОрганизации.Загрузить(СтруктураДанных.ПоДаннымОрганизации);
Если СтруктураДанных.Свойство("ПоДаннымКонтрагента") Тогда
ТекущаяСтрока.ПоДаннымКонтрагента.Загрузить(СтруктураДанных.ПоДаннымКонтрагента);
КонецЕсли;
КонецЕсли;
//Если НеПроводитьАктСверки Тогда
// АктСверки.Записать(РежимЗаписиДокумента.Запись);
//Иначе
// АктСверки.Записать(РежимЗаписиДокумента.Проведение);
//КонецЕсли;
//МассивАктовСверки.Добавить(ТекущаяСтрока.Ссылка);
КонецЕсли;
КонецЦикла;
Возврат МассивАктовСверки;
КонецФункции
ПоказатьЭта функция была частично взята из формы документа АктСверкиВзаиморасчетов. На данном этапе застрял на получении списка счетов - не могу сообразить как его получить. В функции из документа обращение выполняется через
Объект.СписокСчетов
Просьба подсказать, как решить проблему во внешней обработке.
По теме из базы знаний
- Типовая борьба - личный опыт работы с типовыми конфигурациями 1С:8
- Перенос данных из УПП 1.3 / КА 1.1 в БП 3. Переносятся документы, справочники и начальные остатки
- Перенос данных из УПП 1.3 в ERP 2 / УТ 11 / КА 2. Переносятся документы, справочная информация и остатки
- Акт сверки взаиморасчетов по списку контрагентов или свернуто на 1 контрагента
- Интеграция 1С с маркетплейсами из одного окна: Озон, ВБ, Яндекс, Сбер, Али, ЛаМода - для УНФ, УТ, КА, ERP
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
Что значит вручную? Акты сверки формируются в зависимости от указанного периода, выбранных счетов (в других функциях выбираются счета, из которых для формирования акта сверки берем реквизиты Контрагент, Организация и тд)
росто вручную записать. Спросить у бухгалтера, какие счета их там интересуют, и забить в обработку.
Что значит вручную? Акты сверки формируются в зависимости от указанного периода, выбранных счетов (в других функциях выбираются счета, из которых для формирования акта сверки берем реквизиты Контрагент, Организация и тд)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот