Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 дек 2024, 00:48

Не устанавливается цена номенклатуры

Автор Doomych, 26 дек 2014, 00:00

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

Doomych

1С:Предприятие 8.3 (типовая конфигурация; Бухгалтерия предприятия, редакция 3.0)

Подключаюсь к 1С из Delphi через OLE Automation. Выполняю следующий код:
FOleNomenklaturaGroup := Ole1C.Справочники.Номенклатура;

nomenklaturaGroup := FOleNomenklaturaGroup.НайтиПоКоду('00-00000130');

nomenklatura := FOleNomenklaturaGroup.СоздатьЭлемент();
nomenklatura.Родитель := nomenklaturaGroup;
nomenklatura.Наименование := 'Курьерские услуги по Акту 27 от 30.09.2014';
nomenklatura.НаименованиеПолное := 'Курьерские услуги по Акту 27 от 30.09.2014';
nomenklatura.Услуга := true;
nomenklatura.ЕдиницаИзмерения :=
  Ole1C.Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию('усл.');
nomenklatura.СтавкаНДС := Ole1C.Перечисления.СтавкиНДС.НДС18
nomenklatura.НоменклатурнаяГруппа :=
  Ole1C.Справочники.НоменклатурныеГруппы.НайтиПоНаименованию('Курьерские услуги');
nomenklatura.Записать(); // все ОК

// Устанавливаем цену
price := Ole1C.Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
price.Дата := '20141225';
price.ТипЦен := FOleNomenklaturaPricesTypes.НайтиПоНаименованию(сОсновнаяЦенаПродажи);

// Следующий кусок кода работает без ошибок, но данные не появляются
product := price.Товары.Добавить();
product.Номенклатура := nomenklaturaGroup;
product.Валюта := Ole1C.Справочники.Валюты.НайтиПоНаименованию('руб.');
product.Цена := 123.45;
price.Записать(Ole1C.РежимЗаписиДокумента.Проведение);


Мне надо, чтобы в [Справочнике "Номенклатура"]->[Услуги]->[Заходим в услугу]->[Цены], в типе цен "Основная цена продажи" ячейка "Цена" была бы заполнена. Она же у меня пуста. Но, если зайти в созданный документ (в моем случае, это "Установка цен номенклатуры 00-00000012 от 25.12.2014 0:00:00") типа цен "Основная цена продажи", то там цена есть.


Что я делаю не так?

cska-fanat-kz

важен не документ а записи в регистре ЦеныНоменклатуры. надо там проверять...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Andrewow

Здравствуйте!
Актуальная проблема тоже, есть необходимость отображать цену/стоимость в номенклатуре.
Буду благодарен если будет какое то решение в виде обработки... Через печатную форму у меня не получилось реализовать отображение цены.

cska-fanat-kz

Цитата: Andrewow от 26 дек 2014, 09:39
Здравствуйте!
Актуальная проблема тоже, есть необходимость отображать цену/стоимость в номенклатуре.
Буду благодарен если будет какое то решение в виде обработки... Через печатную форму у меня не получилось реализовать отображение цены.

Конфигурация?
В УТ в справочнике Номенклатура есть "стандартная" вкладка Цены номенклатуры, где отображаются последние данные из регистра.
По стоимости - отдельная история. Да оно и не нужно в справочнике...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Andrewow

Цитата: cska-fanat-kz от 26 дек 2014, 09:52
Цитата: Andrewow от 26 дек 2014, 09:39
Здравствуйте!
Актуальная проблема тоже, есть необходимость отображать цену/стоимость в номенклатуре.
Буду благодарен если будет какое то решение в виде обработки... Через печатную форму у меня не получилось реализовать отображение цены.

Конфигурация?
В УТ в справочнике Номенклатура есть "стандартная" вкладка Цены номенклатуры, где отображаются последние данные из регистра.
По стоимости - отдельная история. Да оно и не нужно в справочнике...

1С:Предприятие 8.3 (8.3.5.1248)
Бухгалтерия предприятия, редакция 3.0 (3.0.36.19)
Там есть тип цен номенклатуры который не заполнен, зато есть справочник номенклатуры в которой есть материалы с ценами я так понимаю печатная форма должна из справочника этого брать цены и стоимость считать.

В комплектации номенклатуры добавил поле сумма, внутри номенклатуры указываю сумму вручную(почему то там не просто сумма, а сумма списания)
после этого в поле сумма стало отображаться вот так "Комплектация номенклатуры 0000-000002 от 19.02.2014 16:00:59"

В текущей печатной форме вот так выглядит сейчас, второй скрин того что нужно.

Doomych

Цитата: cska-fanat-kz от 26 дек 2014, 05:38
важен не документ а записи в регистре ЦеныНоменклатуры. надо там проверять...
Хорошо. Делаю так:
    oleRdNomenklaturaPrices := Ole1C.РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей();
    oleRdNomenklaturaPrices.Отбор.Регистратор.Установить(price); // [1]
    oleRdNomenklaturaPrices.Цена := 200.03; // [2]
    oleRdNomenklaturaPrices.Записать();

В строке [1] price - это Документы.УстановкаЦенНоменклатуры.СоздатьДокумент(). Не знаю, нужна ли эта строка?
На строке [2] падаю с ошибкой "Method 'Цена' not supported by automation object". При этом в регистре сведений "ЦеныНоменклатуры" ресурс "Цена" имеется. И вообще, в том ли направлении я двигаюсь?
Добавлено: 26 дек 2014, 15:17


Ладно, с предыдущим своим вопросом разобрался. Надо было делать как-то так:
oleRdNomenklaturaPrices := Ole1C.РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей();
oleRdNomenklaturaPrices.Отбор.Регистратор.Установить(price);
oleRdNomenklaturaPrices.Прочитать();
sss2 := oleRdNomenklaturaPrices.Добавить();
sss2.Цена := 200.15;
oleRdNomenklaturaPrices.Записать();

Падаю на "Записать" с сообщением "Ошибка записи! Не установлен отбор по регистратору (Регистр сведений: Цены номенклатуры)". Как надо делать?
Добавлено: 26 дек 2014, 16:44


Сам разобрался. Вот код (на разнобой в ценах и датах не обращайте внимание):

    oleRdNomenklaturaPrices := Ole1C.РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей();
    oleRdNomenklaturaPrices.Отбор.Регистратор.Установить(price.Ссылка);
    oleRdNomenklaturaPrices.Прочитать();
    sss2 := oleRdNomenklaturaPrices.Добавить();
    sss2.Цена := 200.15;
    sss2.Номенклатура := nomenklatura.Ссылка;
    sss2.Валюта := Ole1C.Справочники.Валюты.НайтиПоНаименованию(cCurrencyRouble);
    sss2.ТипЦен := FOleNomenklaturaPricesTypes.НайтиПоНаименованию(сОсновнаяЦенаПродажи);
    sss2.Период := '20141215';
    oleRdNomenklaturaPrices.Записать();

Andrewow

up. ищу доработку эту, не ужели ни у кого нету?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск