|
v7: Установка периодического реквизита справочника
| ☑ |
0
Patrio_
O_Muerte
28.11.14
✎
10:10
|
Добрый день.
Други выручайте.
Есть модуль по переносу реквизита НДС из одной базы в другую.
СпрОб = СоздатьОбъект("Справочник.Номенклатура");
Спр = СоздатьОбъект("Справочник.Номенклатура");
СпрОЛЕ = БазаОле.CreateObject("Справочник.Номенклатура");
СпрНДС = СоздатьОбъект("Справочник.СтавкиНДС");
СпрНДС.НайтиПоКоду(1);
НДС18 = СпрНДС.ТекущийЭлемент();
СпрНДС.НайтиПоКоду(2);
НДС10 = СпрНДС.ТекущийЭлемент();
СпрНДС.НайтиПоКоду(0);
НДС0 = СпрНДС.ТекущийЭлемент();
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() = 1 Цикл
Если Спр.ЭтоГруппа() = 0 Тогда
СпрОЛЕ.НайтиПоКоду(Спр.Код);
СпрОб.НайтиЭлемент(Спр.ТекущийЭлемент());
Если СпрОЛЕ.СтавкаНДС.Получить(ТекущаяДата()).Ставка = 18 Тогда
СпрОб.СтавкаНДС.Установить(Дата(2014,01,01),НДС18);
ИначеЕсли СпрОЛЕ.СтавкаНДС.Получить(ТекущаяДата()).Ставка = 10 Тогда
СпрОб.СтавкаНДС.Установить(Дата(2014,01,01),НДС10);
ИначеЕсли СпрОЛЕ.СтавкаНДС.Получить(ТекущаяДата()).Ставка = 0 Тогда
СпрОб.СтавкаНДС.Установить(Дата(2014,01,01),НДС0);
КонецЕсли;
СпрОб.Записать();
КонецЕсли;
КонецЦикла;
Не присваивает и все тут. Все перепробовал. Не робит. Подскажите в чем я неправ?
Заранее благодарен.
|
|
1
Злопчинский
28.11.14
✎
13:21
|
Ну для начала убираем грязный код
Гле гарантия что найтипокоду отработало успешно
|
|
2
olegves
28.11.14
✎
13:36
|
замени
СпрОб.НайтиЭлемент(Спр.ТекущийЭлемент());
на
СпрОб.НайтиЭлемент(Спр);
|
|
3
Злопчинский
28.11.14
✎
15:39
|
(2) а смысл?
|
|
4
Ёпрст
28.11.14
✎
15:44
|
очень забавный код..
Всё в топку.
Зачем там оле и код от него - вообще не ясно.
Установка периодики тоже странная, запись не нужна.
|
|
5
Злопчинский
28.11.14
✎
15:48
|
(4) ну так вроде получается оля нужна только для того, чтобы прочитать оттуда ставку НДС
|
|
6
Ёпрст
28.11.14
✎
15:58
|
возможно, но сделано усё через одно место
|
|
Закон Брукера: Даже маленькая практика стоит большой теории.