Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Установка значения переодическому реквизиту справочника.

v7: Установка значения переодическому реквизиту справочника.
Я
   progaoff
 
17.12.18 - 16:03
Добрый день. Делаю такую процедуру.
Если (ТекущаяДата() > '16.12.2018') И (Константа.ВерсииУчетаНДС = 1) Тогда
        Если Вопрос("Перейти на 20% НДС",4) = 6 Тогда
                СтатусВозврата(1);
            ИзменямСправочник = СоздатьОбъект("Справочник.Номенклатура");
            ИзменямСправочник.ИспользоватьДату(ТекущаяДата());
            ИзменямСправочник.ВыбратьЭлементы(0);
            
            Пока ИзменямСправочник.ПолучитьЭлемент() = 1 Цикл
                
                ИзменямСправочник.СтавкаНДС = Перечисление.СтавкиНДС.СтавкаНДС20;
ИзменямСправочник.Записать();
                Сообщить("Изменен элемент справочника номенклатуры - "+ИзменямСправочник.Наименование);
            КонецЦикла;
            Константа.УстановитьАтрибут("ВерсииУчетаНДС",2);
            Константа.УстановитьАтрибут("ОсновнаяСтавкаНДС",Перечисление.СтавкиНДС.СтавкаНДС20);
            Иначе
                Предупреждение("Переход не выполнен, работа с БД не возможна");
                СтатусВозврата(0);
                Возврат;
        КонецЕсли;
    КонецЕсли;
Ставка в карточке товара не меняется. Что не так?
 
 
   Базис
 
1 - 17.12.18 - 16:10
Наверное, меняется только в одной. Отладчик или диагностические сообщения используй.
   progaoff
 
2 - 17.12.18 - 16:12
(1) Ну обходит то все элементы
   Масянька
 
3 - 17.12.18 - 16:15
(2) Мне лично не нравится 2 штучки:
1. (Константа.ВерсииУчетаНДС = 1)
2. Константа.УстановитьАтрибут("ВерсииУчетаНДС",2);
   HawkEye
 
4 - 17.12.18 - 16:17
(0) а отладчик то что говорит?
Сообщить("Изменен элемент справочника номенклатуры - "+ИзменямСправочник.Наименование); - сколько раз сообщает?
   progaoff
 
5 - 17.12.18 - 16:18
(4) Все элементы
   HawkEye
 
6 - 17.12.18 - 16:22
(0) ну напиши:
Сообщить("Изменен элемент справочника номенклатуры - " + СокрЛП(ИзменямСправочник.Наименование) + " ставка стала: " + СокрЛП(ИзменямСправочник.СтавкаНДС) );
   HawkEye
 
7 - 17.12.18 - 16:22
(0) а почему он у тебя периодический то?!
   Масянька
 
8 - 17.12.18 - 16:26
А константу (со ставкой НДС) меняет?
   progaoff
 
9 - 17.12.18 - 16:28
(8) Да
   progaoff
 
10 - 17.12.18 - 16:28
(7) Понятия не имею, она самописная полностью
   progaoff
 
11 - 17.12.18 - 16:30
(6) Пишет 20%
   HawkEye
 
12 - 17.12.18 - 16:31
(10) так может что-то в отображении ставки на форме?

Пока ИзменямСправочник.ПолучитьЭлемент() = 1 Цикл
если ИзменямСправочник.СтавкаНДС <> Перечисление.СтавкиНДС.СтавкаНДС20 Тогда
  ИзменямСправочник.СтавкаНДС = Перечисление.СтавкиНДС.СтавкаНДС20;
ИзменямСправочник.Записать();
                Сообщить("Изменен элемент справочника номенклатуры - "+ИзменямСправочник.Наименование);
иначе
Сообщить("Усё нормуль со ставкой!");
конецЕсли;
            КонецЦикла;
   Kigo_Kigo
 
13 - 17.12.18 - 16:32
Убери ИспользоватьДату
ИзменямСправочник.СтавкаНДС.Установить(Перечисление.СтавкиНДС.СтавкаНДС20,ТекущаяДата())
   HawkEye
 
14 - 17.12.18 - 16:34
(13) пофигу и так отработает....
   progaoff
 
15 - 17.12.18 - 16:34
(13) Так тоже пробовал. Ошибку валит
   Kigo_Kigo
 
16 - 17.12.18 - 16:35
(15) А ставка НСД то точно переодическая?
   progaoff
 
17 - 17.12.18 - 16:37
(12) Блин, вот сейчас вообще нифига не понял, запустил отработало - стало 20%, ничего же не менял
   progaoff
 
18 - 17.12.18 - 16:37
(16) ага
   progaoff
 
19 - 17.12.18 - 16:37
(16) Понятия не имею зачем
   HawkEye
 
20 - 17.12.18 - 16:38
(15) потому что надо убрать ИспользоватьДату и в Установить поменять местами дату и значение...
но это все не принципиально...
   HawkEye
 
21 - 17.12.18 - 16:38
(17) ну тебе виднее......
   Kigo_Kigo
 
22 - 17.12.18 - 16:46
(20) А, ну да , по памяти писал
   Сияющий в темноте
 
23 - 17.12.18 - 17:14
обьект периодический еще не предлагали
   Злопчинский
 
24 - 17.12.18 - 17:58
"оно само, никогда не было и вот - опять!"
   AliAksA
 
25 - 20.12.18 - 15:52
(0) в 5-ой строке так сделай: ИзменямСправочник.ИспользоватьДату(ТекущаяДата(), 1);
(17) потому что по умолчанию второй параметр = 0 - дата, переданная в качестве параметра, будет установлена при следующем открытии выборки.
   HawkEye
 
26 - 20.12.18 - 15:56
(25) зачем? он в выборке условий не задает, какая разница применится это условие на текущую выборку или нет?!
   AliAksA
 
27 - 20.12.18 - 16:07
(26) так из-за этого она у него за первым разом и не сработала - почитай (17)
   HawkEye
 
28 - 20.12.18 - 16:28
(27) то, что у него что-то не работало это не значит, что надо добавлять ничего не значащий для этой обработки реквизит... )))
   AliAksA
 
29 - 20.12.18 - 16:33
(28) лучше возьми и потести, я тоже так думал ... сначала
   HawkEye
 
30 - 20.12.18 - 16:41
(29) мне нечего добавить к тому, что уже я здесь говорил...в (0) все нормально работает, будет там 1 в использоватьдату или не будет, реквизит изменится.... остальные ваши заморочки мне не интересны...
 
 Рекламное место пустует
   AliAksA
 
31 - 20.12.18 - 16:55
(30) ну если для тебя стабилизировать обработку за счет сообщить - нормально, то ... да не пустят тебя в Минск, когда на пенсию выйдешь)))
   Хряк
 
32 - 20.12.18 - 16:59
а конфа-то какая?
   HawkEye
 
33 - 20.12.18 - 17:01
(31) я не знаю что для тебя значит "стабилизировать обработку"...
если ты реально считаешь, что в (0) все не работало из-за того, что там не было сообщить, я не понимаю кем ты работаешь...
если ты считаешь, что 0 или 1 в использоватьдату из кода в (0) что-то поменяет в результате действия кода - ты ошибаешься....

большего мне добавить нечего...

зы. я польщен конечно, что ты следишь за моим творчеством на мисте и мне кажется это странным, но это твое личное дело...
но мне не понятно твое маниакальное желание спорить с человеком решившим твой вопрос за 10 минут....
   AliAksA
 
34 - 20.12.18 - 17:04
(33) и я не откуда ты выполз и кем работаешь, но цитирую:
Синтаксис:
ИспользоватьДату(<Дата>,<УстСразу>)
Назначение:
Установить дату выборки периодических реквизитов справочника.
Возвращает:
Текущее значение используемой даты (на момент до исполнения метода).
Параметры:
<Дата> - значение типа дата.
<УстСразу> - необязательный параметр. Число: если 1, то дата, переданная в качестве параметра, будет установлена уже в текущей выборке; если 0 - то дата, переданная в качестве параметра, будет установлена при следующем открытии выборки. Значение по  умолчанию - 0. .
   HawkEye
 
35 - 20.12.18 - 18:03
(34) вроде 46 лет в профиле.... а детский сад какой-то... успокойся уже, мне твои потуги не интересны...


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