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

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

Метки:

Что я неправильно делаю со ставкой НДС?

Я
   Прапорщик Задов
 
06.12.04 - 23:45
во внеш. обработке пишу:

СпрНов=СоздатьОбъект("Справочник.Номенклатура");
СпрНов.ИспользоватьДату(РабочаяДата());
СпрНов.Новый();  
СпрНов.Наименование=СокрЛП(Наим);
СпрНов.СтавкаНДС.Установить(РабочаяДата(),Константа.ОсновнаяСтавкаНДС);

ругается:
СпрНов.СтавкаНДС.Установить(РабочаяДата(),Константа.ОсновнаяСтавкаНДС);
{D:\1.ERT(17)}: Поле агрегатного объекта не обнаружено (Установить)

где я туплю?
 
 
   Guk
 
1 - 06.12.04 - 23:48
(0) Использовать дату() и Установить() использовать вместе, нельзя...
   Прапорщик Задов
 
2 - 06.12.04 - 23:54
а как мне правильно записать элемент справочника из обработки, включая ставку ндс (переодический)?
   Guk
 
3 - 06.12.04 - 23:58
(2) Либо с ИспользоватьДату() и СпрНов.СтавкаНДС=Константа.ОсновнаяСтавкаНДС (не требует предварительной записи нового элемента справочника).
Либо без ИспользоватьДату() и СпрНов.СтавкаНДС.Установить(РабочаяДата(),Константа.ОсновнаяСтавкаНДС) (требует обязательной предварительной записи нового элемента справочника)...
   Прапорщик Задов
 
4 - 07.12.04 - 00:05
Процедура Сформировать()
СпрНов=СоздатьОбъект("Справочник.Номенклатура");    
СпрНов.ИспользоватьДату(РабочаяДата());
СпрНов.Новый();   
СпрНов.Наименование="ляляля";            
СпрНов.СтавкаНДС=Константа.ОсновнаяСтавкаНДС;
СпрНов.Записать();
КонецПроцедуры

элемент записывается, ставка ндс пустая остается.
константа заполнена

я болен?
   Guk
 
5 - 07.12.04 - 00:10
(4) Странно. Вообще-то я вот так делаю
    СпрНом=СоздатьОбъект("Справочник.Номенклатура");
    СпрНом.Новый();
    СпрНом.Наименование=НаимНом;
    СпрНом.ПолнНаименование=НаимНом;
        СпрНом.Записать();
        Если ДатаРеквизитов<=Дата("31.12.2003") Тогда
       //на дату документа ставка 20%

        Если СпрНДС.НайтиПоРеквизиту("Ставка",20,0)=0 Тогда
            СпрНДС.Новый();
            СпрНДС.Наименование="20%";
            СпрНДС.Ставка=20;
            СпрНДС.Записать();
        КонецЕсли;
        СпрНом.СтавкаНДС.Установить(ДатаРеквизитов,СпрНДС.ТекущийЭлемент());
    КонецЕсли;
   //с 01.01.2004 ставка 18%

    Если СпрНДС.НайтиПоРеквизиту("Ставка",18,0)=0 Тогда
        СпрНДС.Новый();
        СпрНДС.Наименование="18%";
        СпрНДС.Ставка=18;
        СпрНДС.Записать();
    КонецЕсли;
    СпрНом.СтавкаНДС.Установить(Дата("01.01.2004"),СпрНДС.ТекущийЭлемент());
   Прапорщик Задов
 
6 - 07.12.04 - 00:47
Гук, спасибо за участие.
Ничего не получилось, возможно надо просто поспать.
   Прапорщик Задов
 
7 - 07.12.04 - 09:16
СтНДС=СоздатьОбъект("Справочник.СтавкиНДС");
{D:\1.ERT(9)}: Неверное присвоение значения. Используйте: .ТекущийЭлемент()

зачем он так?
   Valery
 
8 - 07.12.04 - 09:20
Константа.ОсновнаяСтавкаНДС наверное тоже периодическая константа?
   Прапорщик Задов
 
9 - 07.12.04 - 09:23
так все работает. надо добавить чтоб он не из константы брал, а из справочника искал, т.к. могут разные быть

СпрНов=СоздатьОбъект("Справочник.Номенклатура");    
СпрНов.ИспользоватьДату('01.01.1980');
    
СпрНов.Новый();   
СпрНов.Наименование=СокрЛП(Наим);  
СпрНов.СтавкаНДС=глЗначениеПоУмолчанию("ОсновнаяСтавкаНДС");  
СпрНов.Записать();
   Прапорщик Задов
 
10 - 07.12.04 - 09:29
стоп. кажется нашел
 
  Рекламное место пустует
   427
 
11 - 07.12.04 - 10:07
Заодно обмозгуй конструкцию из типовой бухии

Если (СуммаНДСопределяетсяРасчетнымМетодом = 0) и ((СтНДС = 20) или (СтНДС = 18) или (СтНДС = 10) или (СтНДС = 0)) Тогда

наводит на мысли о беспробудном пьянстве некоторых разработчиков
   Прапорщик Задов
 
12 - 07.12.04 - 10:10
(11) я видел это. хотел даже писать письмо с требованием прислать мне именно той же травы.


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