Ошибка "Не выбран документ!"

По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. uriah 18 04.03.12 21:01 Сейчас в теме
(1) Dark.iNiTro,
// создаем СФ
           Док = СоздатьОбъект("Документ");
             Док.ВыбратьПодчиненныеДокументы(,,ТекДок);
             Пока Док.ПолучитьДокумент() = 1 Цикл         
                Если Док.Вид() = "СчетФактура" Тогда  
                   ДокСчФ = Док.ТекущийДокумент();
                   ЕстьСчетФактура = 1; 
                 Иначе  ЕстьСчетФактура = 0;
                КонецЕсли;                                
              

             Если ЕстьСчетФактура = 0 Тогда                                  
                ДокСчФ = СоздатьОбъект("Документ.СчетФактура"); 
                ДокСчФ.Новый();                                           
             ИначеЕсли ТекДок.ТекущийДокумент().проведен() = 1 Тогда
                // текущиее основание (Документ отгрузка) проведен! -- пропускаем цикл
                Продолжить;
             КонецЕсли;   
                
             ....  
                                // заполняем СФ              
             
             ТекДок.ВыбратьСтроки();
             Пока ТекДок.ПолучитьСтроку() = 1 Цикл
             ...      
             КонецЦикла;    
             
             //Попытка
             ДокСчФ.Записать();
             КонецЦикла; 
Показать
3. uriah 18 04.03.12 21:02 Сейчас в теме
(1) Dark.iNiTro, Попробуй в цикле выбора счет-фактуры. И еще, При создании новой счет фактуры, переменную ДокСчФ измени, а то они переопределяются
12. Pari 05.03.12 02:18 Сейчас в теме
(1)Dark.iNiTro,так попробуйте (выделены измененные строки)
ДокСчФ = СоздатьОбъект("Документ.СчетФактура");
Док = СоздатьОбъект("Документ");
Док.ВыбратьПодчиненныеДокументы(,,ТекДок);
Пока Док.ПолучитьДокумент() = 1 Цикл
Если Док.Вид() = "СчетФактура" Тогда
ДокСчФ.НайтиДокумент(Док.ТекущийДокумент());
ЕстьСчетФактура = 1;
КонецЕсли;
КонецЦикла;

// создаем СФ
Если ЕстьСчетФактура = 0 Тогда
//ДокСчФ = СоздатьОбъект("Документ.СчетФактура");
ДокСчФ.Новый();
4. darkinitr0 04.03.12 21:11 Сейчас в теме
вставил в начале цикла код

	ЕстьСчетФактура = 0;
	Док = СоздатьОбъект("Документ");
	ДокСчФ = СоздатьОбъект("Документ.СчетФактура"); 


но не помогло. В чем дело не пойму.
5. uriah 18 04.03.12 21:18 Сейчас в теме
ДокСчФ = Док.ТекущийДокумент();

ДокСчФ = СоздатьОбъект("Документ.СчетФактура"); 

Вот ошибка
6. darkinitr0 04.03.12 21:28 Сейчас в теме
(5) uriah, не совсем понял в чем тут ошибка.
ДокСчФ - указывается один из вышеприведенных кодов в зависимости создаем мы СФ или находим существующий
7. uriah 18 04.03.12 21:37 Сейчас в теме
(6) Dark.iNiTro,
Если Док.Вид() = "СчетФактура" Тогда  
                   ДокСчФ = Док.ТекущийДокумент();
                   ЕстьСчетФактура = 1; 

Здесь ДокСчФ = Док.ТекущийДокумент();

Если ЕстьСчетФактура = 0 Тогда                                  
                ДокСчФ = СоздатьОбъект("Документ.СчетФактура"); 
                ДокСчФ.Новый();                         

Здесь ДокСчФ = СоздатьОбъект("Документ.СчетФактура");
переопределена переменная, от этого и не найден документ
8. darkinitr0 04.03.12 21:40 Сейчас в теме
(7) uriah, т.к. ЕстьСчетФактура = 1 то во второй код он не заходит =(
9. darkinitr0 04.03.12 21:41 Сейчас в теме
переформулировка такая: у нас есть список подчиненных документов. Как их получить и перезаписать?
10. uriah 18 04.03.12 21:52 Сейчас в теме
(9) Dark.iNiTro,
 Если ЕстьСчетФактура = 0 Тогда                                  
                ДокСчФ = СоздатьОбъект("Документ.СчетФактура"); 
                ДокСчФ.Новый();                                           
             ИначеЕсли ТекДок.ТекущийДокумент().проведен() = 1 Тогда
                // текущиее основание (Документ отгрузка) проведен! -- пропускаем цикл
                Продолжить;
             КонецЕсли;   

Вот это условие не корректно.
И если можно приведи весь код, а то с обрывками неудобно работать.
11. darkinitr0 04.03.12 22:00 Сейчас в теме
13. пользователь 16.04.12 12:48
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот