|
v7: Первая в жизни обработка. Помогите чайнику | ☑ | ||
---|---|---|---|---|
0
klem55
08.12.13
✎
02:08
|
Прошу помочь разобраться с обработкой. Опыта программирования в 1С нет, но тут жизнь заставила взяться. Исходные данные - 1С 7.7 ТиС ред 8.7 Необходимо поменять оптовые цены в номенклатуре. Для простоты задачи - сделать их равными 700. Бьюсь уже 3 дня. Видимо - чего-то не понимаю. Много чего перепробовал - все без толку. Обработка никаких ошибок не выдает, все отрабатывает нормально, а цена не меняется. При этом, если менять не оптовую цену , а , например, учетную - все срабатывает как надо!
Где тут грабли - помогите разобраться, пожалуйста Процедура Сформировать() // Номенклатура спрНоменклатура = СоздатьОбъект( "Справочник.Номенклатура"); спрНоменклатура.НайтиПоНаименованию( "Некое наименование товара",0); спрНоменклатура.ИспользоватьДату(РабочаяДата()) ; спрНоменклатура.ОптоваяЦена = 700; спрНоменклатура.Записать(); КонецПроцедуры |
|||
1
КонецЦикла
08.12.13
✎
02:14
|
А как там в 8.7? Не отдельный ли справочник цен?
|
|||
2
ИсчадиеADO
08.12.13
✎
02:23
|
+(1) по идее отдельный справочник должен быть "Цены", подчиненный справочнику номенклатура. Тогда нужно еще написать что-то типа такого
СоздатьОбъект("Справочник.Цены"); СпрЦены.ИспользоватьВладельца(СпрНоменклатура.ТекущийЭлемент()); СпрЦены.ВыбратьЭлементы(); МояЦена = 0; МояДата = '2013.12.08'; Пока СпрЦены.ПолучитьЭлемент()=1 Цикл Если СокрЛП(СпрЦены.ТипЦены.Наименование) = "Оптовая" Тогда Цена = СпрЦены.Цена.Получить(МояДата); прервать; КонеЕсли; КонецЦикла; |
|||
3
Мимохожий Однако
08.12.13
✎
09:16
|
Используй дату вчерашнего дня.
|
|||
4
zak555
08.12.13
✎
09:18
|
(2) ковнокод
|
|||
5
Песец
08.12.13
✎
09:23
|
(0) Посмотри в конфигураторе тип реквизита "ОптоваяЦена".
|
|||
6
wertyu
08.12.13
✎
09:27
|
(0) за три дня можно было врукопашную уже все цены поменять
|
|||
8
2S
08.12.13
✎
11:47
|
ужас нах
|
|||
9
Эльниньо
08.12.13
✎
13:10
|
(6) Он учится.
|
|||
10
Хуан
08.12.13
✎
13:35
|
ИспользоватьДату(<?>,);
Синтаксис: ИспользоватьДату(<Дата>,<УстСразу>) Назначение: Установить дату выборки периодических реквизитов справочника. Возвращает: Текущее значение используемой даты (на момент до исполнения метода). Параметры: <Дата> - значение типа дата. <УстСразу> - необязательный параметр. Число: если 1, то дата, переданная в качестве параметра, будет установлена уже в текущей выборке; если 0 - то дата, переданная в качестве параметра, будет установлена при следующем открытии выборки. Значение по умолчанию - 0. . Замечание: Если к объекту применен метод ИспользоватьДату, то нельзя применять к этому же объекту метод Получить. Метод нельзя использовать через две точки. Для установки цены нужно использовать метод Установить Установить(<?>,); Синтаксис: Установить(<Дата>,<Значение>) Назначение: Установить значение периодического реквизита справочника на заданную дату. Параметры: <Дата> - выражение со значением требуемой даты; <Значение> - выражение, содержащее устанавливаемое значение периодического реквизита справочника. Замечание: Метод можно использовать только для периодических реквизитов справочника и если для справочника еще не применялся метод ИспользоватьДату. Метод можно использовать только для объектов-справочников, созданных функцией СоздатьОбъект. Процедура Сформировать() // Номенклатура спрНоменклатура = СоздатьОбъект( "Справочник.Номенклатура"); спрНоменклатура.НайтиПоНаименованию( "Некое наименование товара",0); спрНоменклатура.ОптоваяЦена.Установить(РабочаяДата(), 700); спрНоменклатура.Записать(); КонецПроцедуры |
|||
11
klem55
09.12.13
✎
02:14
|
(2)
Спасибо! Разобрался. Действительно - подчиненный справочник. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |