8.х Документ на основании

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем JohnConnor, 12 авг 2013.

  1. TopicStarter Overlay
    JohnConnor
    Offline

    JohnConnor Опытный в 1С

    Регистрация:
    1 сен 2012
    Сообщения:
    85
    Симпатии:
    0
    Баллы:
    26
    ДД!

    Я создаю документ счет на оплату покупателю программно, как можно сделать на основании этого счета Акт выполненых работ, тоже программно? :unsure:
  2. Persempre
    Offline

    Persempre Опытный в 1С

    Регистрация:
    18 июл 2012
    Сообщения:
    851
    Симпатии:
    3
    Баллы:
    29
    После того как сделали первый документ, формируете второй.
    так же делаете Документ = документы.вашдокумент.СоздатьДокумент(); и потом описываете его параметры. и записываете.
    или подвох в чем-то другом?
  3. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    создать объект акта и вызвать у него процедуру ОбработкаЗаполнения, передав ей параметром ссылку на счет - это если такой ввод на основании был реализован изначально

    Код:
    АктОбъект = Документы.Акты.СоздатьДокумент();
    АктОбъект.ОбработкаЗаполнения(СчетСсылка);
  4. TopicStarter Overlay
    JohnConnor
    Offline

    JohnConnor Опытный в 1С

    Регистрация:
    1 сен 2012
    Сообщения:
    85
    Симпатии:
    0
    Баллы:
    26
    Сделал как сказал
    Persempre


    Для каждого СтрТабЧасти Из ТаблицаЗнач Цикл
    Сообщить(СтрТабЧасти.Контрагент);

    НовСчет = Документы.СчетНаОплатуПокупателю.СоздатьДокумент();
    НовСчет.Организация = Справочники.Организации.НайтиПоКоду("000000002");
    НовСчет.Контрагент = СтрТабЧасти.Контрагент;
    НовСчет.ДоговорКонтрагента = НовСчет.Контрагент.ОсновнойДоговорКонтрагента;
    НовСчет.Дата = ТекущаяДата();
    НовСчет.ТипЦен=Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Отпускная цена");
    НовСчет.ОрганизацияПолучатель =Справочники.Организации.НайтиПоНаименованию("Федерация ");
    НовСчет.СтруктурнаяЕдиница= Справочники.БанковскиеСчета.НайтиПоНаименованию("Основной Красноярск");
    НовСчет.Комментарий="Групповой ввод документов";
    //акт
    НовАкт = Документы.АктОбОказанииПроизводственныхУслуг.СоздатьДокумент();
    НовАкт.Организация = Справочники.Организации.НайтиПоКоду("000000002");
    НовАкт.Контрагент = СтрТабЧасти.Контрагент;
    НовАкт.ДоговорКонтрагента = НовСчет.Контрагент.ОсновнойДоговорКонтрагента;
    НовАкт.Дата = ТекущаяДата();
    НовАкт.ТипЦен=Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Отпускная цена");
    НовАкт.Комментарий="Групповой ввод документов";


    Если СтрТабЧасти.СуммаМежгород <>0 Тогда
    ТабСч = НовСчет.Товары.Добавить();
    ТабСч.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("Междугородные переговоры");
    ТабСч.Цена = СтрТабЧасти.СуммаМежгород;
    ТабСч.Количество = 1;
    ТабСч.Сумма = СтрТабЧасти.СуммаМежгород;
    //**
    ТабСчА = НовАкт.Услуги.Добавить();
    ТабСчА.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("Междугородные переговоры");
    ТабСчА.Цена = СтрТабЧасти.СуммаМежгород;
    ТабСчА.Количество = 1;
    ТабСчА.Сумма = СтрТабЧасти.СуммаМежгород;
    ТабСчА.СтавкаНДС.Метаданные("Без НДС")
    КонецЕсли;

    // заполняем местные
    Если СтрТабЧасти.СуммаМестные >0 Тогда
    ТабСч2 = НовСчет.Товары.Добавить();
    ТабСч2.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("Местные телефонные соединения");
    ТабСч2.Цена = СтрТабЧасти.СуммаМестные;
    ТабСч2.Сумма = СтрТабЧасти.СуммаМестные;
    ТабСч2.Количество = 1;
    //**
    ТабСчА2 = НовАкт.Услуги.Добавить();
    ТабСчА2.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("Местные телефонные соединения");
    ТабСчА2.Цена = СтрТабЧасти.СуммаМестные;
    ТабСчА2.Сумма = СтрТабЧасти.СуммаМестные;
    ТабСчА2.Количество = 1;

    КонецЕсли;

    //Заполняем мобильные
    если СтрТабЧасти.СуммаМобильные <> 0 Тогда
    ТабСч4 = НовСчет.Товары.Добавить();
    ТабСч4.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("Внутризоновое соединение подвижной сети.");
    ТабСч4.Цена = СтрТабЧасти.СуммаМобильные;
    ТабСч4.Сумма = СтрТабЧасти.СуммаМобильные;
    ТабСч4.Количество = 1;
    //**
    ТабСчА4 = НовАкт.Услуги.Добавить();
    ТабСчА4.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("Внутризоновое соединение подвижной сети.");
    ТабСчА4.Цена = СтрТабЧасти.СуммаМобильные;
    ТабСчА4.Сумма = СтрТабЧасти.СуммаМобильные;
    ТабСчА4.Количество = 1;
    КонецЕсли;
    //Проверяем дополнительные записи
    //A=ЭлементыФормы.СУММА.
    //Если ЭлементыФормы.СУММА <>0 Тогда
    //ДопГраффа=НовСчет.Товары.Добавить();
    //ДопГраффа.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию ("Абон. плата за телефон ");
    //ДопГраффа.Цена =Справочники.Номенклатура.НайтиП
    //ДопГраффа.Сумма = ЭлементыФормы.СУММА;
    //ДопГраффа.Количество = 1;
    // КонецЕсли;
    НовСчет.СуммаДокумента = СтрТабЧасти.СуммаМежгород+СтрТабЧасти.СуммаМестные+СтрТабЧасти.СуммаМобильные;
    НовСчет.Записать(РежимЗаписиДокумента.Запись);
    Сообщить("+" + НовСчет.Номер);
    Сообщить("+" + НовАкт.Номер);


    не создаеться ,
  5. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    акт тоже стоит записать :)
  6. TopicStarter Overlay
    JohnConnor
    Offline

    JohnConnor Опытный в 1С

    Регистрация:
    1 сен 2012
    Сообщения:
    85
    Симпатии:
    0
    Баллы:
    26
    пробую присвоить счет документу -акт об оказании услуг
    ТабСчА2.СчетДоходов.Код="90.01.1";
    выдает ошибку "Поле не доступно для записи "
  7. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    Потому что у вас в СчетДоходов лежит ссылка, а не объект
    надо
    Код:
    ТабСчА2.СчетДоходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.1");
    

Поделиться этой страницей