Подскажите как сделать что бы документ не дублировался при загрузки. Хочу сделать так что бы при загрузке файл заменял предыдущий по этой же дате. В данный момент он следом записывает
Процедура ЗагрузитьОстаткиВДокумент(ТаблицаОстатков, ДатаФайла)
СтруктураПоиска = Новый Структура;
ДатаДокумента = СтрЗаменить(ДатаФайла, "T", " ");
СтруктураПоиска.Вставить("Дата", ДатаФайла);
Док = Документы.ОстаткиДистрибьютора.Выбрать( , , СтруктураПоиска);
Если Док.Следующий() Тогда
НайденныйДок = Док.Ссылка.ПолучитьОбъект();
НайденныйДок.Дата = ДатаФайла;
НайденныйДок.Организация = ЭтотОбъект.Организация;
НайденныйДок.Контрагент = ЭтотОбъект.Контрагенты.Получить(0);
НайденныйДок.Подразделение = ЭтотОбъект.Подразделение;
НайденныйДок.Товары.Загрузить(ТаблицаОстатков);
Если НЕ НайденныйДок.ПометкаУдаления Тогда
НайденныйДок.Записать(РежимЗаписиДокумента.Проведение);
#Если Клиент Тогда
Сообщить("Документ: "+ НайденныйДок + " записан.");
#КонецЕсли
Иначе
#Если Клиент Тогда
Сообщить("Документ: "+ НайденныйДок + " помечен на удаление. Операция не выполнена.")
#КонецЕсли
КонецЕсли;
Иначе
НовыйДокумент = Документы.ОстаткиДистрибьютора.СоздатьДокумент();
НовыйДокумент.Дата = ДатаФайла;
НовыйДокумент.Организация = ЭтотОбъект.Организация;
НовыйДокумент.Контрагент = ЭтотОбъект.Контрагенты.Получить(0);
НовыйДокумент.Подразделение = ЭтотОбъект.Подразделение;
НовыйДокумент.Товары.Загрузить(ТаблицаОстатков);
НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);
#Если Клиент Тогда
Сообщить("Создан новый документ: " + НовыйДокумент+".");
#КонецЕсли
КонецЕсли;
КонецПроцедуры
ПоказатьПо теме из базы знаний
- Загрузка чеков из ФНС в документы 1С:БП, УНФ, ERP, КА и УТ
- 1С:Распознавание первичных документов (1С:РПД): цены от 600 руб.
- Автоматизация подписания внутренних электронных документов 1С БГУ 2
- Выгрузка файлов из документов для 1С: Документооборот 3.0
- Выгрузка документов из 1С в XML ФНС для загрузки в сервисы ЭДО. Для УТ 11.5
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(0) По всей видимости у Вас ДатаФайла - это строка, да еще и в специфичном формате:
А конструкцию Нужно переписать так:
предварительно преобразовав ДатаДокумента в тип "Дата" или приведя к виду "ГГГГММДД".
ДатаДокумента = СтрЗаменить(ДатаФайла, "T", " ");
А конструкцию
Док = Документы.ОстаткиДистрибьютора.Выбрать( , , СтруктураПоиска);
Док = Документы.ОстаткиДистрибьютора.Выбрать(ДатаДокумента, ДатаДокумента);
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот