Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
18 Дек 2017, 21:38
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Как правильно изменить цены номенклатуры?  (Прочитано 1406 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Doomych

  • *
  • Сообщений: 21
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-13
  • Сайт: 
Платформа: 1С:Предприятие 8.3 (8.3.5.1383)
Конфигурация: Бухгалтерия предприятия, редакция 3.0 (3.0.38.51)
Работаю через OLE Automation (программа на Delphi)

Не получается корректно изменить цены номенклатуры.

Итак, моя программа передает в 1С акты о выполненных услугах.

В номенклатурной группе контрагента есть номенклатура (с ценой и датой). Есть документ "Установка цен номенклатуры" и запись в регистре сведений "ЦеныНоменклатуры" (есть так же документы "Счет на оплату покупателю", "Реализация товаров и услуг" и "Счет-фактура выданный на реализацию", но о них пока речь не идет).

На случай, если сумма по акту изменится, мне надо изменить значения цены в 1С. Хорошо. Вношу изменения в том же порядке, в каком я создавал документы: сначала меняю цену в "Установке цен номенклатуры", потом - в РС "ЦеныНоменклатуры". Цены-то меняются, но уже при проведении "Установки цен номенклатуры" в номенклатуре на изменяемую дату устанавливается "левый" документ от другого контрагента (цена пропадает), и та же ситуация - на текущую дату (только там другой "левый" документ).

Привожу упрощенный код изменения "Установки цен номенклатуры". Значения переменных ANomenklaturaGroup, price, products и product правильные (проверял):
searchStructure := Ole1C.NewObject('Структура');
searchStructure.Вставить('Номенклатура', ANomenklaturaGroup);
products := price.Товары.НайтиСтроки(searchStructure);
if products.Количество = 0 then
begin
  // Ругаемся
end;

product := products.Получить(0);
product.Цена := AActAmount;
price.Записать(Ole1C.РежимЗаписиДокумента.Проведение); // price - это документ "Установка цен номенклатуры"


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
141 Сообщений
AIFrame
73 Сообщений
ilyay ilyay
65 Сообщений
alex0402
52 Сообщений
andron81_81
44 Сообщений
oleg-x
41 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
31 Сообщений
Golickoff Golickoff
27 Сообщений
alexandr_ll
23 Сообщений

* Кто онлайн

  • Точка Гостей: 326
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal