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