7.7 Автоперерасчет розн. цен в справочнике ТМЦ при изменении курса валюты

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

  1. TopicStarter Overlay
    warayg
    Offline

    warayg Опытный в 1С

    Регистрация:
    1 июл 2011
    Сообщения:
    104
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте, подскажите пожалуйста как сделать автоперерасчет розн. цен в справочнике ТМЦ при изменении курса валюты в 1С Бухгалтерия. Изменяю курс валюты, захожу в справочник ТМЦ, а там стоит старая розн. цена, при сохранении ТМЦ цена пересчитывается на текущий курс, это гемор, не пересохранять же каждый раз все ТМЦ. Розн. цена пересчитывается так:

    Код:
    Процедура ВГривнах() 
    КурсДляВалюты = Валюта_Прод.Курс.Получить(РабочаяДата());
    Цена_Розн = Цена_Прод*КурсДляВалюты*(1 + СтавкаНДС.Ставка.Получить(РабочаяДата()));
    КонецПроцедуры
    
    Процедура выполняется при сохранении ТМЦ.
    Вот форма справочника

    [​IMG]
  2. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.175
    Симпатии:
    13
    Баллы:
    29
    если правильно тебя понял...при изменении курса..обходи всю номенклатуру(перебором) изменяй (пересчитывай) цену и сохраняй...
  3. TopicStarter Overlay
    warayg
    Offline

    warayg Опытный в 1С

    Регистрация:
    1 июл 2011
    Сообщения:
    104
    Симпатии:
    0
    Баллы:
    26
    Я как раз от этого и хочу избавиться, может кто подскажет как этот пересчет автоматизировать, чтоб поменял курс и автоматом во всем справочнике ТМЦ пересчитались розн. цены.
  4. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Не думаю что разработчики такую элементарщину не предусмотрели. Может плохо искали?

    Если нет - написание обработки перерасчета занимает 2-3 мин.

    Код:
    НачатьТранзакцию();
    Спр=СоздатьОбъект("Справочник.ТМЦ"); //кажется так в украинской конфе номенклатура названа
    Спр.ВыбратьЭлементы();
    Пока Спр.ПолучитьЭлемент()=1 Цикл
    Если Спр.ЭтоГруппа()=1 Тогда
    Продолжить;
    КонецЕсли;
    КурсДляВалюты = Спр.Валюта_Прод.Курс.Получить(РабочаяДата());
    Спр.Цена_Розн.Установить(РабочаяДата(), Спр.Цена_Прод.Получить(РабочаяДата())*
    ?(КурсДляВалюты=0,1,КурсДляВалюты)*(1 + Спр.СтавкаНДС.Ставка.Получить(РабочаяДата()));
    Спр.Записать();
    КонецЦикла;
    ЗафиксироватьТранзакцию();
    
    
    
    
    
  5. TopicStarter Overlay
    warayg
    Offline

    warayg Опытный в 1С

    Регистрация:
    1 июл 2011
    Сообщения:
    104
    Симпатии:
    0
    Баллы:
    26
    Спасибо попробую.
  6. TopicStarter Overlay
    warayg
    Offline

    warayg Опытный в 1С

    Регистрация:
    1 июл 2011
    Сообщения:
    104
    Симпатии:
    0
    Баллы:
    26
    Выдаёт ошибку:

    Спр.Цена_Розн.Установить(РабочаяДата(), Спр.Цена_Прод.Получить(РабочаяДата())*?(КурсДляВалюты=0,1,КурсДляВалюты)*(1 + Спр.СтавкаНДС.Ставка.Получить(РабочаяДата())));
    {Справочник.ТМЦ.Форма.Модуль(232)}: Значение не представляет агрегатный объект (Получить)
  7. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Ну нельзя же тупо копировать....
    Посмотрите - похоже реквизит не периодический (судя по ошибке). Конфы под рукой нет чтобы глянуть.

    Исправляйте сами или выложите МДшник
  8. TopicStarter Overlay
    warayg
    Offline

    warayg Опытный в 1С

    Регистрация:
    1 июл 2011
    Сообщения:
    104
    Симпатии:
    0
    Баллы:
    26
    Выложу на всяк случай МДешник )

    MD-ешник
  9. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Вот так:
    Код:
    НачатьТранзакцию();
    Спр=СоздатьОбъект("Справочник.ТМЦ"); 
    Спр.ВыбратьЭлементы();
    Пока Спр.ПолучитьЭлемент()=1 Цикл  
    Если Спр.ЭтоГруппа()=1 Тогда    
    Продолжить;  
    КонецЕсли;  
    КурсДляВалюты = Спр.Валюта_Прод.Курс.Получить(РабочаяДата());  
    Спр.Цена_Розн.Установить(РабочаяДата(), Спр.Цена_Прод *
    ?(КурсДляВалюты=0,1,КурсДляВалюты)*(1 + Спр.СтавкаНДС.Ставка.Получить(РабочаяДата()));
    Спр.Записать();
    КонецЦикла;
    ЗафиксироватьТранзакцию();
    
    
  10. TopicStarter Overlay
    warayg
    Offline

    warayg Опытный в 1С

    Регистрация:
    1 июл 2011
    Сообщения:
    104
    Симпатии:
    0
    Баллы:
    26
    Теперь при открытии карточки ТМЦ выдаёт -

    Спр.Записать();
    {Справочник.ТМЦ.Форма.Модуль(234)}: Объект заблокирован: Аппарат для приготовления горячего шоколада Sciro
  11. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Вы где применили вышеприведенный код?
    Это должна быть просто внешняя обработка.
  12. TopicStarter Overlay
    warayg
    Offline

    warayg Опытный в 1С

    Регистрация:
    1 июл 2011
    Сообщения:
    104
    Симпатии:
    0
    Баллы:
    26
    тю блин, а я в модуль справочника ТМЦ засунул )), ща сделаю обработку и попробую, спасибо ))
  13. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    при запуске обработки элементы справочника не должны быть открыты...
  14. TopicStarter Overlay
    warayg
    Offline

    warayg Опытный в 1С

    Регистрация:
    1 июл 2011
    Сообщения:
    104
    Симпатии:
    0
    Баллы:
    26
    Большое спасибо, я транзакцию вставил в модуль формы списка справочника ТМЦ, теперь при открытии справочника ТМЦ автоматом пересчитывается розн. цена для всех товаров справочника.
  15. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    обращайтесь...

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