Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
24 фев 2024, 15:23

Конвертация 2.1. Из нескольких документов "Возврат Поставщику" из УТ 10.3 за период выгрузить в один документ "Операция Бух" в Бухгалтерию 3.0

Автор Hot_Serg, 20 апр 2023, 13:34

0 Пользователей и 1 гость просматривают эту тему.

Hot_Serg

Здравствуйте! Может кто-нибудь идею подкинет или подскажет как сделать так, чтобы при повторной загрузке за этот же Период (бухгалтеры за месяц выгружают) не создавался ещё один документ, а перезаполнялся существующий.

В скриншотах существующий код, работает, но документы создаются новые при повторной загрузке за тот же период.

Максим75

там где создается документ вставить проверку, есть ли документ за нужную дату, если есть - то его брать, удалить строки и перезалить, если нет - то новый создавать.

Rettro

Hot_Serg, У тебя поиск только по дате и дату документа ты приводишь к концу дня. А если у тебя два документа в один день будут то всё сломается?
Попробуй искать и по дате и по номеру документа

Hot_Serg

Получилось! Большое СПАСИБО за идею!!!
1. Дописал в ПКО в ПослеЗагрузки:
2. Поиск по Дата, Организация, Содержание

//***** Ищем такой же документ заполненный. Начало *****
    СуществующийДок = Неопределено;

    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ОперацияБух.Ссылка КАК Ссылка
        |ИЗ
        |    Документ.ОперацияБух КАК ОперацияБух
        |ГДЕ
        |    ОперацияБух.Организация = &Организация
        |    И ОперацияБух.Содержание = &Содержание
        |";
   

    Запрос.УстановитьПараметр("Организация",     Организация);
    Запрос.УстановитьПараметр("Содержание",     Объект.Содержание);
   
    РезультатЗапроса = Запрос.Выполнить();
   
    ВыборкаДок = РезультатЗапроса.Выбрать();
   
    Пока ВыборкаДок.Следующий() Цикл
        СуществующийДок = ВыборкаДок.Ссылка;
        //Сообщить("СуществующийДок документа ОперацияБух = " + СуществующийДок);       
    КонецЦикла;
//***** Ищем такой же документ заполненный. Окончание *****

    Если Не СуществующийДок = Неопределено Тогда
        ДокОбъект = СуществующийДок.ПолучитьОбъект();
        Объект = ДокОбъект;
        //Объект.Комментарий = "Удалось оставить СуществующийДок!";
    Иначе
        Объект.УстановитьНовыйНомер();
        //Объект.Комментарий = "Это Новый Док";
    КонецЕсли;

Hot_Serg

Rettro, задача для СВОДНОГО Одного документа за месяц, в который попадают все документы "Возврат поставщику" по определённой Организации и Контрагенту за этот месяц из базы 1С Управление торговлей.
Так что в ПКД всегда КонецДня(Дата) - в конце месяца.

Максим75

Цитата: Hot_Serg от 24 апр 2023, 09:23Если Не СуществующийДок = Неопределено Тогда
        ДокОбъект = СуществующийДок.ПолучитьОбъект();
        Объект = ДокОбъект;
        //Объект.Комментарий = "Удалось оставить СуществующийДок!";
    Иначе
        Объект.УстановитьНовыйНомер();
        //Объект.Комментарий = "Это Новый Док";
    КонецЕсли;

тут могут быть траблы, когда пойдет в ветку Иначе, поскольку Объект - не понятно что такое, и ему устанавливается новый номер. Как бы не мешало создать объект какой-то. или он где-то выше устанавливается?
тогда снимается вопрос))

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск