Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

1С программирование - как дважды два Выпуск 04 27/04/2004


Информационный Канал Subscribe.Ru


1С программирование
как дважды два N4

Рассылка составлена Сергеем Михайловым

www.prosto1C.by.ru


Учебный пример - работа со справочниками

[СМ]

Требуется составить программу, которая перебирала бы справочник Товары и выводила на экран наименование товара и его ставку НДС. Посылаю вам шаблон кода, который следует проанализировать и переделать:

Процедура Сформировать()

спр = СоздатьОбъект("Справочник.Контрагенты");

спр.ВыбратьЭлементы();

Пока спр.ПолучитьЭлемент() = 1 Цикл

Сообщить("" + Спр.Наименование + " " + Спр.Код);

КонецЦикла;

КонецПроцедуры

[Ученик]

Процедура Сформировать()

спр = СоздатьОбъект("Справочник.Товары");

спр.ВыбратьЭлементы();

Пока спр.ПолучитьЭлемент() = 1 Цикл

Сообщить("" + Спр.Наименование + " " + Спр.Код);

КонецЦикла;

Сообщить(Константа.ПолучитьАтрибут("СтавкаНДС"));

КонецПроцедуры

[СМ] Программа написана почти правильно. Следовало заменить Контрагенты на Номенклатура. И еще: примеры следует проверять на работоспособность. В <Торговле> 9.** нет справочника Товары!

[Ученик]

Сообщить(Константа.ПолучитьАтрибут("СтавкаНДС"));

[СМ] Задание сделано некорректно. Я просил выдать каждое значение НДС товара (то есть много значений, а не одно значение). Кстати, ставка НДС прописывается в карточке товара. Посмотрите в конфигураторе раздел Справочники.

Прошу изменить код.

[Ученик] Я не понял задания. Наверное, так? Но у меня не получилось.

Пока спр.ПолучитьЭлемент() = 1 Цикл

Сообщить("" + Спр.Наименование + " " + значение НДС);

КонецЦикла;

[СМ] Правильно было бы написать так:

Пока спр.ПолучитьЭлемент() = 1 Цикл

// Сообщить("" + Спр.Наименование + " " + значение НДС);

Сообщить("" + Спр.Наименование + " " + Спр.СтавкаНДС);

КонецЦикла;

Для того чтобы понять, что следует писать СтавкаНДС, а не НДС, надо открыть структуру справочника и изучить, какие поля там есть. В числе других полей там есть поле СтавкаНДС.

Кстати, вот это:

Сообщить(Константа.ПолучитьАтрибут("СтавкаНДС"));

правильно писать так:

Сообщить(Константа.СтавкаНДС);

 


www.prosto1C.by.ru Курс обучения "1С программирование - как дважды два"

www.prosto1C.by.ru/book.html Книга "1С программирование как дважды два"

www.citycat.ru/iq/ Скорочтение, память, интеллект


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу


В избранное