Здравствуйте, уважаемые клерки.
Помогите, пожалуйста, решить такую проблему:
мне нужно накатить данные об оптовых продажах (накладные и счета-фактуры) в типовую конфигурацию 1С:Бухгалтерия предприятия (редакция 1.5).
Написала внешнюю обработку, которая сначала из dbf-файла закатывает документы "Реализация товаров и услуг", проводит их, а потом из другого dbf-файла пытается накатить счета-фактуры выданные, связав их с уже накаченными документами реализации.
Мне не удаётся записать счета-фактуры в режиме проведения документов, потому что 1С считает, что в документе "Счет-фактура выданный" не заполнен реквизит ДокументОснование. Я, честное слово, уже трое суток пытаюсь понять, что я делаю неправильно![]()
Посмтрите, плиз, кусок кода обработчика, и подскажите, где я налажала!
ДокументСЧФ = Документы.СчетФактураВыданный;
ДокументНАКЛ = Документы.РеализацияТоваровУслуг;
Для Каждого СтрокаТаблицы Из ТЗСФ Цикл
Если ДокументСЧФ.НайтиПоНомеру(СтрокаТаблицы.НомерДок) = Документы.СчетФактураВыданный.ПустаяСсылка() Тогда
Если ДокументНАКЛ.НайтиПоНомеру(СтрокаТаблицы.Накладная,Дата(СтрокаТаблицы.ДатаДок)) <> Документы.РеализацияТоваровУслуг.ПустаяСсылка() Тогда
ДокОснование = ДокументНАКЛ.НайтиПоНомеру(СтрокаТаблицы.Накладная);
Док = Документы.СчетФактураВыданный.СоздатьДокумент();
Док.Номер = СтрокаТаблицы.НомерДок; ВремяДок = Строка(СтрокаТаблицы.ВремяДок);
Часы = Число(Лев(ВремяДок,2));
Минуты = Число(Сред(ВремяДок,4,2));
Секунды = Число(Прав(ВремяДок,2));
Док.Дата = Дата(СтрокаТаблицы.ДатаДок) + 3600*Часы + Минуты*60 + Секунды;
Док.ДокументОснование = ДокОснование.Ссылка;
Док.Ответственный = глТекущийПользователь;
Попытка
Док.Записать(РежимЗаписиДокумента.Проведение);
Исключение
Док.Записать();
КонецПопытки
Иначе
Сообщить("Не найдена накладная с номером " + СтрокаТаблицы.Накладная + " при вводе сч/ф № " + СтрокаТаблицы.НомерДок);
КонецЕсли;
КонецЕсли;
КонецЦикла;


Ответить с цитированием