Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
08 апр 2025, 18:11

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

Автор 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

Поиск