7.7 1С 7.7 компл 4.5 СуммаВзаиморасчетов

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем defrag, 18 окт 2011.

  1. TopicStarter Overlay
    defrag
    Offline

    defrag

    Регистрация:
    13 апр 2011
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Пытаюсь из внешней обработкой изменить реквизит документа "реализация" СуммаВзаиморасчетов:
    Код:
    Процедура Сформировать()
    ДокРеализация = СоздатьОбъект("Документ.Реализация");
    ДокРеализация.УстановитьФильтр(1,0);
    ДокРеализация.ВыбратьДокументы(НачДата, КонДата);
    
    Пока ДокРеализация.ПолучитьДокумент() = 1 Цикл
    ТекДокумент = ДокРеализация.ТекущийДокумент();
    СуммаВзаиморасчетовДок    = ТекДокумент.Итог("Сумма")
    +?(ТекДокумент.СуммаВклНП =1,0,ТекДокумент.Итог("СуммаНП" ))
    +?(ТекДокумент.СуммаВклНДС=1,0,ТекДокумент.Итог("СуммаНДС"));    
    
    ТекДокумент.СуммаВзаиморасчетов        = глПересчет(СуммаВзаиморасчетовДок,ТекДокумент.Валюта,ТекДокумент.Курс,
    ТекДокумент.Договор.ВалютаВзаиморасчетов,ТекДокумент.ДатаДок,ТекДокумент.Кратность);
    
    ДокРеализация.Провести();
    
    КонецЦикла;
    КонецПроцедуры
    
    Но в результате изменений нету...
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Не вижу метода Записать....
  3. TopicStarter Overlay
    defrag
    Offline

    defrag

    Регистрация:
    13 апр 2011
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    С записать тоже не работало, убрал ТекДокумент = ДокРеализация.ТекущийДокумент() - заработало, хотя в книге так писали...
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    В обработку передавали контекст?
  5. TopicStarter Overlay
    defrag
    Offline

    defrag

    Регистрация:
    13 апр 2011
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Какой контекст? Не понял. Вот так работает:

    Код:
    Процедура Сформировать()
    ДокРеализация = СоздатьОбъект("Документ.Реализация");
    ДокРеализация.УстановитьФильтр(1,0);
    ДокРеализация.ВыбратьДокументы(НачДата, КонДата);
    
    Пока ДокРеализация.ПолучитьДокумент() = 1 Цикл
    
    СуммаВзаиморасчетовДок	= ДокРеализация.Итог("Сумма")
    +?(ДокРеализация.СуммаВклНП =1,0,ДокРеализация.Итог("СуммаНП" ))
    +?(ДокРеализация.СуммаВклНДС=1,0,ДокРеализация.Итог("СуммаНДС"));	
    
    ДокРеализация.СуммаВзаиморасчетов		= глПересчет(СуммаВзаиморасчетовДок,ДокРеализация.Валюта,ДокРеализация.Курс,
    ДокРеализация.Договор.ВалютаВзаиморасчетов,ДокРеализация.ДатаДок,ДокРеализация.Кратность);
    ДокРеализация.Записать();
    Сообщить(ДокРеализация.СуммаВзаиморасчетов);
    ДокРеализация.Провести();
    
    КонецЦикла;
    КонецПроцедуры 
    
    Надеюсь на этот раз все данные передал, могу показать обработку, если есть время посмотреть.
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Ага... Я же говорил что метода записать не хватает
  7. TopicStarter Overlay
    defrag
    Offline

    defrag

    Регистрация:
    13 апр 2011
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Да я пробовал первоначальный вариант с записать(), он тоже не работал. Проблема в ТекущемДокументе.
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Не совсем... Нужно было тогда
    Код:
    ТекДокумент.Записать();
    ТекДокумент.Провести();
    
    
    попробуйте....
  9. TopicStarter Overlay
    defrag
    Offline

    defrag

    Регистрация:
    13 апр 2011
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    ТекДокумент.Записать();
    {C:\1C_BASES\ATC\EXTFORMS\ВЗАИМОРАСЧЕТЫ1.ERT(15)}: Не выбран документ!

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