Вход | Регистрация

1С:Предприятие ::

Метки:

Объясните мне еще раз. Я опять не могу понять как записываются регистры

Я
   Таня
 
15.02.04 - 19:04
Когда появляется ошибка:
"Движение регистров не могут выполняться у данного объекта"
?
Процедура ОбработкаПроведения(Флаг)
Рег = СоздатьОбъект("Регистр.Товары");

    ВыбратьСтроки();
    Если Флаг = 1 Тогда
          Предупреждение("Остатки по всем товарам станут = 0");
        Пока ПолучитьСтроку()=1 Цикл
        Рег.асТовар = Товар;
        Рег.асРазмер = Размер;
        Рег.асСклад = Склад;
        Рег.асАналитика = Аналитика;
        Рег.чНаличие = Наличие;
        Рег.чНаличиеВес = НалВес;
        Рег.чРезерв = Резерв;  
        Рег.чРезервВес = РезВес;  
        Рег.чОжидается = Ожид;  
        Рег.чОжидаетсяВес = ОжидВес;  
        Рег.чПринято = Принято;  
        Рег.чПринятоВес = ПринятоВес; 
        Рег.чОтдано = Отдано;  
        Рег.чОтданоВес = ОтданоВес; 
        Рег.ДвижениеРасходВыполнить();
    КонецЦикла;
ИначеЕсли Флаг = 2 Тогда
Если Вопрос("Увеличить остатки товаров в количестве и весе, введенном в таблицу?", "Да+Нет") = "Да" Тогда
    Пока ПолучитьСтроку()=1 Цикл
        Рег.асТовар = Товар;
        Рег.асРазмер = Размер;
        Рег.асСклад = Склад;
        Рег.асАналитика = Аналитика;
        Рег.чНаличие = Наличие;
        Рег.чНаличиеВес = НалВес;
        Рег.чРезерв = Резерв;  
        Рег.чРезервВес = РезВес;  
        Рег.чОжидается = Ожид;  
        Рег.чОжидаетсяВес = ОжидВес;  
        Рег.чПринято = Принято;  
        Рег.чПринятоВес = ПринятоВес; 
        Рег.чОтдано = Отдано;  
        Рег.чОтданоВес = ОтданоВес; 
        Рег.ДвижениеПриходВыполнить();
    КонецЦикла;
Иначе
    Возврат;
    КонецЕсли;
КонецЕсли;    
КонецПроцедуры
 
  Рекламное место пустует
   Рупор абсурда
 
1 - 15.02.04 - 19:11
Рег=Регистр.ПолучитьАтрибут("Товары");
 
или просто 
 
Регистр.Товары = Товар; 
...
Регистр.Товары.ДвижениеРасходВыполнить();
   Таня
 
2 - 15.02.04 - 19:14
Так у меня так было:
Процедура ОбработкаПроведения(Флаг)
    ВыбратьСтроки();
    Если Флаг = 1 Тогда
          Предупреждение("Остатки по всем товарам станут = 0");
        Пока ПолучитьСтроку()=1 Цикл
        Регистр.Товары.асТовар = Товар;
        Регистр.Товары.асРазмер = Размер;
        Регистр.Товары.асСклад = Склад;
        Регистр.Товары.асАналитика = Аналитика;
        Регистр.Товары.чНаличие = Наличие;
        Регистр.Товары.чНаличиеВес = НалВес;
        Регистр.Товары.чРезерв = Резерв;  
        Регистр.Товары.чРезервВес = РезВес;  
        Регистр.Товары.чОжидается = Ожид;  
        Регистр.Товары.чОжидаетсяВес = ОжидВес;  
        Регистр.Товары.чПринято = Принято;  
        Регистр.Товары.чПринятоВес = ПринятоВес; 
        Регистр.Товары.чОтдано = Отдано;  
        Регистр.Товары.чОтданоВес = ОтданоВес; 
        Регистр.Товары.ДвижениеРасходВыполнить();
    КонецЦикла;
ИначеЕсли Флаг = 2 Тогда
Если Вопрос("Установить остатки товаров в количестве и весе, введенном в таблицу?", "Да+Нет") = "Да" Тогда
    Пока ПолучитьСтроку()=1 Цикл
        Регистр.Товары.асТовар = Товар;
        Регистр.Товары.асРазмер = Размер;
        Регистр.Товары.асСклад = Склад;
        Регистр.Товары.асАналитика = Аналитика;
        Регистр.Товары.чНаличие = Наличие;
        Регистр.Товары.чНаличиеВес = НалВес;
        Регистр.Товары.чРезерв = Резерв;  
        Регистр.Товары.чРезервВес = РезВес;  
        Регистр.Товары.чОжидается = Ожид;  
        Регистр.Товары.чОжидаетсяВес = ОжидВес;  
        Регистр.Товары.чПринято = Принято;  
        Регистр.Товары.чПринятоВес = ПринятоВес; 
        Регистр.Товары.чОтдано = Отдано;  
        Регистр.Товары.чОтданоВес = ОтданоВес; 
        Регистр.Товары.ДвижениеПриходВыполнить();
    КонецЦикла;
Иначе
    Возврат;
    КонецЕсли;
КонецЕсли;    
КонецПроцедуры

То же самое сообщает :(
   Рупор абсурда
 
3 - 15.02.04 - 19:17
(2) А галка "Оперативный учёт" в свойствах дока стоит?
   Таня
 
4 - 15.02.04 - 19:20
(раздается дикое Хи-Хи)
НЕТ !!! не стоит :((
ой, а чё ето со мной?
   SnarkHunter
 
5 - 15.02.04 - 19:25
Открывать модальные окна в модуле проведения - это "скрытая угроза"...
   Таня
 
6 - 15.02.04 - 19:28
(5) Почему?
   SnarkHunter
 
7 - 15.02.04 - 19:38
Потому что какой-нибудь "продвинутый" начнет проводить, не ответит на твой заданный вопрос и уйдет, скажем, "попудрить носик"... Модальное окно с вопросом останется висеть, дожидаясь ответа, а все остальные пользователи будут бегать и материться на "транзакцию"...
   Львенок
 
10 - 15.02.04 - 22:33
(6) В дополнение к (7). Все проведения выполняется внутри транзакции. А транзакция вещь далеко не безобидная. Внутри нее на самом деле оказываются заблокированны некоторые таблицы. Это значит, что пока проводится один документ никто не может проводить другой. Проведение документа наоборот должно быть написано таким образом, чтобы выполняться как можно быстрее! И уж точно никаких модальных окон (вроде предупреждения, вопроса и открытьформумодально) внутри него не допускается категорически! Исправь срочно. Это даже не грабли, а бомба!
___
Искренне Ваш, Львенок.
 
 


Список тем форума
Рекламное место пустует   Рекламное место пустует
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует