Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Ошибка "Действие недоступно!"          
Vofka Подменю пользователя
сообщение 05.07.10, 15:04
Сообщение #1

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13956
Из: Киев
Спасибо сказали: 4523 раз
Рейтинг: 3646.4

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


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

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

Почему?

Fynjy Подменю пользователя
сообщение 05.07.10, 15:52
Сообщение #2

Сенсей Чака Норриса
**********
За вредность
Группа: Пользователи
Сообщений: 1994
Из: Ахметов сити
Спасибо сказали: 333 раз
Рейтинг: 0

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


Signature

Спасибо сказали: Vofka,

Vofka Подменю пользователя
сообщение 06.07.10, 7:00
Сообщение #3

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13956
Из: Киев
Спасибо сказали: 4523 раз
Рейтинг: 3646.4

Я думал, что

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


равносильно

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


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

dmiter Подменю пользователя
сообщение 08.07.10, 21:19
Сообщение #4

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 108
Из: Киев
Спасибо сказали: 16 раз
Рейтинг: 0

Цитата(Vofka @ 06.07.10, 9:00) *
Я думал, что

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


равносильно

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


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

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

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.05.24, 1:44
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!