8.х ОБМЕН создание документа

Тема в разделе "Обмен данными в "1С:Предприятие 8"", создана пользователем ccfi, 24 июл 2008.

  1. TopicStarter Overlay
    ccfi
    Offline

    ccfi

    Регистрация:
    7 июн 2007
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Подскажите пожалуйста почему не хочет создавать документ из обработки!!! Вроде не ругается, а все равно нет документа.
    Если
    Справочники.Контрагенты.НайтиПоНаименованию(Документ.Sheets(1).Cells(НомерСтроки,1).Value)=справочники.Контрагенты.ПустаяСсылка()
    тогда
    сообщить(Документ.Sheets(1).Cells(НомерСтроки,1).Value);
    иначе
    новыйдокумент=документы.РеализацияТоваровУслуг.СоздатьДокумент();
    новыйдокумент.ЭтоНовый();
    новыйдокумент.ОтражатьВНалоговомУчете=Истина;
    новыйдокумент.Проведен=Истина;
    новыйдокумент.Дата=дата;
    новыйдокумент.СуммаВключаетНДС=Истина;
    новыйдокумент.Контрагент=Справочники.Контрагенты.НайтиПоНаименованию(Документ.Sheets(1).Cells(НомерСтроки,1).Value);
    новыйдокумент.Склад=справочники.Склады.НайтиПоНаименованию("Основной склад");
    новаястрокатабличнойчасти=новыйдокумент.Товары.Добавить();
    новаястрокатабличнойчасти.Номенклатура=номенклатура;
    новаястрокатабличнойчасти.Количество=100;
    новаястрокатабличнойчасти.СтавкаНДС=Ставка;
    новаястрокатабличнойчасти.Сумма=Документ.Sheets(1).Cells(НомерСтроки,3).Value;
    сообщить(Документ.Sheets(1).Cells(НомерСтроки,2).Value);
    сообщить(Документ.Sheets(1).Cells(НомерСтроки,3).Value);
    сообщить(новаястрокатабличнойчасти.Количество);
    сообщить(новаястрокатабличнойчасти.номенклатура);
    новыйдокумент.Записать();

    конецесли;
  2. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Если попадает в "Иначе"
    Попробуй
    Код:
    новыйдокумент=документы.РеализацияТоваровУслуг.СоздатьДокумент();
    //новыйдокумент.ЭтоНовый();
    //ИЗМЕНЕНИЯ
    УстановитьНовыйНомер(новыйдокумент);
    новыйдокумент.ОтражатьВНалоговомУчете=Истина;
    //ИЗМЕНЕНИЯ
    //новыйдокумент.Проведен=Истина;
    новыйдокумент.Дата=дата;
    новыйдокумент.СуммаВключаетНДС=Истина;
    новыйдокумент.Контрагент=Справочники.Контрагенты.НайтиПоНаименованию(Документ.Sheets(1).Cells(НомерСтроки,1).Value);
    новыйдокумент.Склад=справочники.Склады.НайтиПоНаименованию("Основной склад");
    новаястрокатабличнойчасти=новыйдокумент.Товары.Добавить();
    новаястрокатабличнойчасти.Номенклатура=номенклатура;
    новаястрокатабличнойчасти.Количество=100;
    новаястрокатабличнойчасти.ЕдиницаИзмерения = Номенклатура.ЕдиницаХраненияОстатков; //или что-////то вроде
    новаястрокатабличнойчасти.Коэффициент = Номенклатура.ЕдиницаХраненияОстатков.Коэффициент; 
    новаястрокатабличнойчасти.СтавкаНДС=Ставка;
    новаястрокатабличнойчасти.Сумма=Документ.Sheets(1).Cells(НомерСтроки,3).Value;
    //сообщить(Документ.Sheets(1).Cells(НомерСтроки,2).Value);
    //сообщить(Документ.Sheets(1).Cells(НомерСтроки,3).Value);
    //сообщить(новаястрокатабличнойчасти.Количество);
    //сообщить(новаястрокатабличнойчасти.номенклатура);
    
    //ИЗМЕНЕНИЯ
    новыйдокумент.Записать(РежимЗаписиДокумента.Проведение);
    
    
    
  3. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Если не получится, сделай:
    Код:
    //тратата твой код ....
    //...............
    новыйдокумент.Записать(РежимЗаписиДокумента.Записать); //можно это не писать
    Форма = новыйдокумент.ПолучитьФорму();
    Форма.Открыть();
    
    
    И попробуй провести открывшийся документ. Найдешь ошибки
  4. TopicStarter Overlay
    ccfi
    Offline

    ccfi

    Регистрация:
    7 июн 2007
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Спасибо большое!!! Только, если можно последний вопрос - при попытке записать выдает сообщение
    {ОбщийМодуль.РаботаСДиалогами(1423)}: Ошибка при вызове метода контекста (ЭтоНовый): Документ не выбран
    Если ДокументОбъект.ЭтоНовый() Тогда
    по причине:
    Документ не выбран

    Подскажите пожалуйста что это такое и как исправить!!!
    Справочники.Контрагенты.НайтиПоНаименованию(Документ.Sheets(1).Cells(НомерСтроки,1).Value)=справочники.Контрагенты.ПустаяСсылка()
    тогда
    //сообщить(Документ.Sheets(1).Cells(НомерСтроки,1).Value);
    иначе
    новыйдокумент=документы.РеализацияТоваровУслуг.СоздатьДокумент();
    новыйдокумент.ЭтоНовый();
    новыйдокумент.ВидОперации=перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия;
    новыйдокумент.ВалютаДокумента=справочники.Валюты.НайтиПоКоду(810);
    новыйдокумент.КратностьВзаиморасчетов=1;
    новыйдокумент.КурсВзаиморасчетов=1;
    новыйдокумент.Организация=справочники.Организации.НайтиПоНаименованию("Навигатор");
    новыйдокумент.СуммаВключаетНДС=Истина;
    новыйдокумент.ОтражатьВНалоговомУчете=Истина;
    //новыйдокумент.Проведен=Истина;
    //ЗаполнитьСчетаУчетаРасчетов();
    новыйдокумент.Дата=дата;
    новыйдокумент.СуммаВключаетНДС=Истина;
    новыйдокумент.УчитыватьНДС=Истина;
    новыйдокумент.СчетУчетаРасчетовСКонтрагентом=регистрыбухгалтерии.Хозрасчетный.ВыбратьПоРегистратору("РеализацияТоваровУслуг");
    //новыйдокумент.Организация=Справочники.Организации.НайтиПоКоду(000000002);
    новыйдокумент.Контрагент=Справочники.Контрагенты.НайтиПоНаименованию(Документ.Sheets(1).Cells(НомерСтроки,1).Value);
    новыйдокумент.ДоговорКонтрагента=справочники.ДоговорыКонтрагентов.НайтиПоНаименованию("Основной договор");
    новыйдокумент.Склад=справочники.Склады.НайтиПоНаименованию("Основной склад");
    новаястрокатабличнойчасти=новыйдокумент.Товары.Добавить();
    новаястрокатабличнойчасти.Номенклатура=номенклатура;
    новаястрокатабличнойчасти.Количество=100;
    новаястрокатабличнойчасти.СтавкаНДС=Ставка;
    //новаястрокатабличнойчасти.ЕдиницаИзмерения = Номенклатура.ЕдиницаХраненияОстатков; //или что-////то вроде
    //новаястрокатабличнойчасти.Коэффициент = Номенклатура.ЕдиницаХраненияОстатков.Коэффициент;
    новаястрокатабличнойчасти.Сумма=Документ.Sheets(1).Cells(НомерСтроки,3).Value;
    если ставка=перечисления.СтавкиНДС.НДС18 тогда
    новаястрокатабличнойчасти.СуммаНДС=новаястрокатабличнойчасти.Сумма*0.18;
    конецесли;
    сообщить(Документ.Sheets(1).Cells(НомерСтроки,2).Value);
    сообщить(Документ.Sheets(1).Cells(НомерСтроки,3).Value);
    сообщить(новаястрокатабличнойчасти.Количество);
    сообщить(новаястрокатабличнойчасти.номенклатура);
    новыйдокумент.Записать();
    //новыйдокумент.Записать(РежимЗаписиДокумента.Проведение);
    Форма = новыйдокумент.ПолучитьФорму();
    Форма.Открыть();
  5. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Обрати внимание, в прошлом моем сообщении строка
    Код:
    новыйдокумент.ЭтоНовый();[\code]
    закомментирована.
  6. TopicStarter Overlay
    ccfi
    Offline

    ccfi

    Регистрация:
    7 июн 2007
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
  7. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    хм, у меня все работает...

    в какой именно процедуре общего модуля выдает ошибку?
  8. TopicStarter Overlay
    ccfi
    Offline

    ccfi

    Регистрация:
    7 июн 2007
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Процедура УстановитьЗаголовокФормыДокумента(СтрокаВидаОперации = "", ДокументОбъект, ФормаДокумента)
  9. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    если платформа 8.0, то вот тебе обработка, которая у меня работает.
    правда я там подставляю конкретные значения
    поиграйся с обработочкой, может поймешь в чем дело

    Вложения:

    • Тест.epf
      Размер файла:
      5,3 КБ
      Просмотров:
      70
  10. TopicStarter Overlay
    ccfi
    Offline

    ccfi

    Регистрация:
    7 июн 2007
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Все хорошо уже, спасибо!!! Только последний маленький вопрос - в настройках у нас стоит СчетБу 004. при вызове новыйдокумент.ЗаполнитьСчетаУчетаВСтрокеТабЧасти(новаястрокатабличнойчасти,"Товары",Истина,новыйдокумент.ОтражатьВНалоговомУчете);
    он проставляет значение 41 счета. Подскажите, пожалуйста, как от этого избавиться!!

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