Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ошибка "Действие недоступно!"
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
Vofka
Процедура ОбработкаПроведения()
    тз = СоздатьОбъект("ТаблицаЗначений");
    тз.НоваяКолонка("Фирма");
    тз.НоваяКолонка("Контрагент");
    тз.НоваяКолонка("Договор");
    тз.НоваяКолонка("СтавкаНДС");
    тз.НоваяКолонка("Счет");
    тз.НоваяКолонка("КредДокумент");
    тз.НоваяКолонка("Валюта");
    тз.НоваяКолонка("Долг");
    тз.НоваяКолонка("ДолгОсн");
    тз.НоваяКолонка("КодОперации");
    тз.НоваяКолонка("СуммаСНДС_НУ");
    тз.НоваяКолонка("НДС");
    тз.НоваяКолонка("Флаг_НУ");
    
    ВремРегистры = СоздатьОбъект("Регистры");
    РегистрВзаиморасчетов = ВремРегистры.ВзаиморасчетыПоставщиков;
    РегистрВзаиморасчетов.ВыбратьДвиженияДокумента(Документ);
    Пока РегистрВзаиморасчетов.ПолучитьДвижение() = 1 Цикл
        тз.НоваяСтрока();
        тз.Фирма = РегистрВзаиморасчетов.Фирма;
        тз.Контрагент = РегистрВзаиморасчетов.Контрагент;
        тз.Договор = РегистрВзаиморасчетов.Договор;
        тз.СтавкаНДС = РегистрВзаиморасчетов.СтавкаНДС;
        тз.Счет = РегистрВзаиморасчетов.Счет;
        тз.КредДокумент = РегистрВзаиморасчетов.КредДокумент;
        тз.Валюта = РегистрВзаиморасчетов.Валюта;
        тз.Долг = РегистрВзаиморасчетов.Долг;
        тз.ДолгОсн = РегистрВзаиморасчетов.ДолгОсн;
        тз.КодОперации = РегистрВзаиморасчетов.КодОперации;
        тз.СуммаСНДС_НУ = РегистрВзаиморасчетов.СуммаСНДС_НУ;
        тз.НДС = РегистрВзаиморасчетов.НДС;
        тз.Флаг_НУ = РегистрВзаиморасчетов.Флаг_НУ;
    КонецЦикла;
    
    НомерСтроки = 1;
    ПогашаемаяСумма = Сумма;
    
    РегистрВзаиморасчетовДвижения = ВремРегистры.ВзаиморасчетыПоставщиков;
    тз.ВыбратьСтроки();
    
    Пока тз.ПолучитьСтроку() = 1 Цикл
        РегистрВзаиморасчетовДвижения.ПривязыватьСтроку(НомерСтроки);
        РегистрВзаиморасчетовДвижения.Фирма    = тз.Фирма;
        РегистрВзаиморасчетовДвижения.Контрагент = тз.Контрагент;
        РегистрВзаиморасчетовДвижения.Договор = тз.Договор;
        РегистрВзаиморасчетовДвижения.СтавкаНДС = тз.СтавкаНДС;
        РегистрВзаиморасчетовДвижения.Счет = тз.Счет;
        РегистрВзаиморасчетовДвижения.КредДокумент = тз.КредДокумент;
        РегистрВзаиморасчетовДвижения.Валюта = тз.Валюта;
        РегистрВзаиморасчетовДвижения.Долг = Мин(ПогашаемаяСумма, тз.СуммаСНДС);
        РегистрВзаиморасчетовДвижения.ДолгОсн = Мин(ПогашаемаяСумма, тз.СуммаСНДСОсн);
        РегистрВзаиморасчетовДвижения.КодОперации = тз.КодОперации;
        РегистрВзаиморасчетовДвижения.Флаг_НУ = тз.Флаг_НУ;  
        Если тз.Флаг_НУ = 1 Тогда
            РегистрВзаиморасчетов.СуммаСНДС_НУ = Мин(ПогашаемаяСумма, тз.СуммаСНДС_НУ);
        КонецЕсли;
        РегистрВзаиморасчетов.НДС = Мин(ПогашаемаяСумма * 0.2, тз.НДС);
        РегистрВзаиморасчетов.ДвижениеПриходВыполнить();
        ПогашаемаяСумма = ПогашаемаяСумма - Мин(ПогашаемаяСумма, тз.СуммаСНДС);
        Если ПогашаемаяСумма = 0 Тогда
            Прервать;
        КонецЕсли;
        НомерСтроки = НомерСтроки + 1;
    КонецЦикла;
КонецПроцедуры


Программа ругается на эту
Цитата
РегистрВзаиморасчетовДвижения.Фирма    = тз.Фирма;

строчку руганием "Действие недоступно!"

Почему?
Fynjy
Ты же не в движения документа добавляешь строки ...
РегистрВзаиморасчетовДвижения = ВремРегистры.ВзаиморасчетыПоставщиков;
исправь на
РегистрВзаиморасчетовДвижения = Регистр.ВзаиморасчетыПоставщиков;
Vofka
Я думал, что

ВремРегистры = СоздатьОбъект("Регистры");
РегистрВзаиморасчетовДвижения = ВремРегистры.ВзаиморасчетыПоставщиков;


равносильно

РегистрВзаиморасчетовДвижения = Регистр.ВзаиморасчетыПоставщиков;


Fynjy, спасибо! jalamo.gif
dmiter
Цитата(Vofka @ 06.07.10, 9:00) необходимо зарегистрироваться для просмотра ссылки
Я думал, что

ВремРегистры = СоздатьОбъект("Регистры");
РегистрВзаиморасчетовДвижения = ВремРегистры.ВзаиморасчетыПоставщиков;


равносильно

РегистрВзаиморасчетовДвижения = Регистр.ВзаиморасчетыПоставщиков;


Fynjy, спасибо! jalamo.gif

Не совсем равносильно. Поскольку при временном расчете ВремРегистры - все регистры расчитываются, есть еще несколько нюансов но уже точно не помню. В данном случае, доверюсь Вофке smile.gif - равносильно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.