Имя: Пароль:
1C
 
Ставка НДС
0 AllJoke
 
23.07.08
10:04
Добрый день. Ситуация такая. Есть Справочник.Номенклатура, в нем 2 реквизита: СтавкаНДС, СтавкаНП. Так вот, при копировании элемента и при его записи СтавкаНДС=10% сохраняется, а СтавкаНДС=18% нет. При записи задается вопрос:Сохранить изменения, далее выводится список якобы периодических реквизитов, который получается в глобальнике. Вот код:

Функция глБухЗаписьПериодическихРеквизитов(Конт) Экспорт
   
   // Обработке ЗаписьПериодическихРеквизитов необходимо передать
   // значения периодических реквизитов, введенные в форме диалога.
   Список = СоздатьОбъект("СписокЗначений");
   ПустойСписок = СоздатьОбъект("СписокЗначений");

   СтрСписок = Конт.СохранениеПериодическихРеквизитов(5);
   Конт.СохранениеПериодическихРеквизитов(5, ПустойСписок);
   Список.ИзСтрокиСРазделителями("""" + СтрЗаменить(СтрСписок, ",", """,""") + """");
   
   Если ПустоеЗначение(Список.ПолучитьЗначение(1)) = 0 Тогда
       Для а = 1 по Список.РазмерСписка() Цикл
           Реквизит = Список.ПолучитьЗначение(а);
           Список.УстановитьЗначение(а, Конт.ПолучитьАтрибут(Реквизит), Реквизит);
       КонецЦикла;
       // При записи вызывается обработка ЗаписьПериодическихРеквизитов
       // для управления записью значений периодических реквизитов.
       СвязанныеРеквизиты = ?(ПустоеЗначение(Список.Получить("СчетЗатрат")) = 1, 0, 1);
       Возврат глЗаписьПериодическихРеквизитов(Конт, Список,,, СвязанныеРеквизиты);
       
   Иначе
       Возврат 1;
   КонецЕсли;

КонецФункции // глБухЗаписьПериодическихРеквизитов()


Так в Отладчике смотрел, если у элемента, СтавкаНДС = 10% Тогда вот здесь: Конт.СохранениеПериодическихРеквизитов(5) дает  Конт.СохранениеПериодическихРеквизитов(5) = "Себестоимость,СтавкаНДС,СтавкаНП,ЦенаМелкооптовая,ЦенаСреднеоптовая,ЦенаОптовая,ЦенаРеализации"
а если у элемента СтавкаНДС = 18%, тогда Конт.СохранениеПериодическихРеквизитов(5) = "Себестоимость,СтавкаНП,ЦенаМелкооптовая,ЦенаСреднеоптовая,ЦенаОптовая,ЦенаРеализации"

В чем беда не пойму.
1 Стрелок
 
23.07.08
10:05
наверное в периодичности ставкиНП... нет?
2 AllJoke
 
23.07.08
10:12
(1) Неа, ведь ставка НДС = 10% все нормуль.
3 AllJoke
 
23.07.08
10:18
Вот только что попробовал убрать ставкуНП оставить только СТавкуНДС, с 10% в список для сохранения пер реквизитов попадает, а с 18% нет.
4 AllJoke
 
23.07.08
10:23
а вот если я снова захожу в скопированный элемент и выбираю 18%, тогда все путем. Короче получается для того чтобы записать СтавкуНДС=18%, нужно сохранить элемент, потом снова в него войти и поставить нужную ставкуНДС. Бред какойто...
5 AllJoke
 
23.07.08
10:30
ап
6 Ёпрст
 
гуру
23.07.08
10:37
(0) Чего ап ? Смотри, где до того как формируется Список сохраняемых периодических реквизитов при изменении ставки ндс... По-умолчанию видать не попадает в этот список, а только при выборе самой ставки...точнее в функции/процедуре на этом реквизите идёт добавление "СтавкиНДС" в список пер. реквизитов.
7 AllJoke
 
23.07.08
10:39
Может трабла здесь?
СтрСписок = Конт.СохранениеПериодическихРеквизитов(5)
8 AllJoke
 
23.07.08
10:40
(6) Да ссылается сразу на Глобальник, код см. выше...
9 AllJoke
 
23.07.08
10:41
СтрСписок = Конт.СохранениеПериодическихРеквизитов(5)
здесь поставил вместо 5 1, копирнулся без всякого списка и все путем. Наверное так и сделаю...
10 AllJoke
 
23.07.08
10:46
+(9) Пля, щас пишет неверное имя реквизита вот здесь:
Список.УстановитьЗначение(а, Конт.ПолучитьАтрибут(Реквизит), Реквизит)

По ходу СТавкаНДС никак не хочет воспринимать при 18%
11 AllJoke
 
23.07.08
12:22
ап
12 AllJoke
 
23.07.08
14:42
Пля, в абсолютно идентичной конфе все работает нормуль. МОжет ТИИ сделать?
13 Ёпрст
 
гуру
23.07.08
14:49
(12) смотри , что написано в ПриИзменеииСтавкиНДС ...и что написано в ПриОткрытии, например..