Имя: Пароль:
1C
1С v8
СчетФактураПолученный.СоздатьДокументНаОсновании. Что не так?
0 Samir
 
04.08.14
15:24
Нашел подобную тему, но там сказали ключевое слово здесь:

СчетФактура =Документы.СчетФактураПолученный.СоздатьДокументНаОсновании(ФормаДокумента.Ссылка, НомерСФ, ДатаСФ)


И автор все понял, а я не понял...
Программно создаем Поступление товаров и услуг, все заполняем, все хорошо. Но надо еще и СФ создать на основании. Куда лепить СоздатьДокументНаОсновании?

Пытаюсь перед:

ФормаДокумента.Записать();
------сюда---- ругается.
ФормаДокумента.Открыть();
1 mikecool
 
04.08.14
15:25
СчетФактура =Документы.СчетФактураПолученный.СоздатьДокумент()
СчетФактура.Заполнить(сюда пишем основание)
СчетФактура.записать()
2 Samir
 
04.08.14
15:39
(1) Спасибо тебе добрый человек, но как передать номер и дату СФ?
3 Samir
 
04.08.14
15:40
(+1) Спасибо, нашел реквизит документа...
4 Samir
 
04.08.14
15:49
Все равно не пойму передал данные в реквизиты:
НомерВходящегоСчетаФактуры и ДатаВходящегоСчетаФактуры в домкументе, а все равно создается с постым номером и датой СФ. Что может быть не так?
5 hhhh
 
04.08.14
15:53
код в студию
6 Samir
 
04.08.14
15:59
(5)

Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    ФормаДокумента = ПолучитьФорму("Документ.ПоступлениеТоваровУслуг.Форма.ФормаДокумента");
    ФормаДокумента.Организация = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ОсновнаяОрганизация");
    ФормаДокумента.Дата = ДатаДок;
    ФормаДокумента.Склад = Склад;
    ФормаДокумента.СпособЗачетаАвансов = Перечисления.СпособыЗачетаАвансов.Автоматически;
    ФормаДокумента.НомерВходящегоСчетаФактуры = НомерСФ;
    ФормаДокумента.ДатаВходящегоСчетаФактуры = ДатаСФ;
    НашКонтрагент = Справочники.Контрагенты.НайтиПоНаименованию(Контрагент);
    НашДоговор = Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию(Договор);
    Если НашКонтрагент = Справочники.Контрагенты.ПустаяСсылка() Тогда
        Сообщить ("Не найден Контрагент, проверьте соответствие");
        Возврат;
    Иначе
        ФормаДокумента.Контрагент =    НашКонтрагент;
        Если НашДоговор = Справочники.ДоговорыКонтрагентов.ПустаяСсылка() Тогда
            НовыйДоговор = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент();
            НовыйДоговор.Наименование = Договор;
            НовыйДоговор.Владелец     = НашКонтрагент;
            НовыйДоговор.ВалютаВзаиморасчетов = ФормаДокумента.мВалютаРегламентированногоУчета;
            НовыйДоговор.Организация = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ОсновнаяОрганизация");
            НовыйДоговор.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком;
            НовыйДоговор.Записать();
            ФормаДокумента.ДоговорКонтрагента = НовыйДоговор;
        Иначе
            ФормаДокумента.ДоговорКонтрагента = НашДоговор;
        КонецЕсли;
    КонецЕсли;
    
    Для Каждого Строка Из тзДанные Цикл
        НоваяСтрока = ФормаДокумента.Товары.Добавить();
        НашаНоменклатура = Справочники.Номенклатура.НайтиПоНаименованию(СокрЛП(Строка.Номенклатура));
        Если НашаНоменклатура = Справочники.Номенклатура.ПустаяСсылка() Тогда
            НоваяНоменклатура = Справочники.Номенклатура.СоздатьЭлемент();
            НоваяНоменклатура.Наименование = СокрЛП(Строка.Номенклатура);
            НоваяНоменклатура.Родитель     = Справочники.Номенклатура.НайтиПоКоду("00000000507");
            НоваяНоменклатура.Записать();
            НоваяСтрока.Номенклатура = НоваяНоменклатура;
            Сообщить("Создан новый элемент номенклатуры: "+НоваяНоменклатура);
        Иначе
            НоваяСтрока.Номенклатура = НашаНоменклатура;
        КонецЕсли;
        НоваяСтрока.Количество = Число(Строка.Количество);
        НоваяСтрока.Цена = Число(Строка.Цена);
        НоваяСтрока.Сумма = Число(Строка.Сумма);
        НоваяСтрока.СчетУчета = ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.01");
        НоваяСтрока.СчетУчетаНДС = ПланыСчетов.Хозрасчетный.НайтиПоКоду("19.13");
        Если Строка.ПоказательНДС= 10 Тогда
            НоваяСтрока.СтавкаНДС = Перечисления.СтавкиНДС.НДС10;
        ИначеЕсли Строка.ПоказательНДС= 18 Тогда
            НоваяСтрока.СтавкаНДС = Перечисления.СтавкиНДС.НДС18;
        Иначе
            НоваяСтрока.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
        КонецЕсли;
        НоваяСтрока.СуммаНДС = Число(Строка.НДС);
                    
    КонецЦикла;
    ФормаДокумента.Модифицированность = Истина;
    ФормаДокумента.Записать();
    СчетФактура =Документы.СчетФактураПолученный.СоздатьДокумент();
    СчетФактура.Заполнить(ФормаДокумента.Ссылка);
    СчетФактура.Записать();
    ФормаДокумента.Открыть();
    
КонецПроцедуры
7 hhhh
 
04.08.14
16:16
и где пишешь дата и номер счета фактуры?
8 hhhh
 
04.08.14
16:19
(6) вообще-то там или или. Или создаешь документ счет фактура полученный, или можно документ не создавать, а поставить дату и номер в поступление.
9 Samir
 
04.08.14
16:20
(7) Заполняя реквизиты документа Поступление товаров и услуг:
ФормаДокумента.НомерВходящегоСчетаФактуры = НомерСФ;
    ФормаДокумента.ДатаВходящегоСчетаФактуры = ДатаСФ;
Или надо впихивать типа:
СчетФактура.ДатаСчетФактуры=ДатаСФ;?
10 Samir
 
04.08.14
16:22
Спасибо, сам бы искал более сложные пути)))
(9) Прокатило.