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

Автор Тема: Не устанавливается цена номенклатуры  (Прочитано 4341 раз)

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

Оффлайн Doomych

  • *
  • Сообщений: 21
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-13
  • Сайт: 
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

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
важен не документ а записи в регистре ЦеныНоменклатуры. надо там проверять...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Andrewow

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-12-26
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте!
Актуальная проблема тоже, есть необходимость отображать цену/стоимость в номенклатуре.
Буду благодарен если будет какое то решение в виде обработки... Через печатную форму у меня не получилось реализовать отображение цены.

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Здравствуйте!
Актуальная проблема тоже, есть необходимость отображать цену/стоимость в номенклатуре.
Буду благодарен если будет какое то решение в виде обработки... Через печатную форму у меня не получилось реализовать отображение цены.

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

Оффлайн Andrewow

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-12-26
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте!
Актуальная проблема тоже, есть необходимость отображать цену/стоимость в номенклатуре.
Буду благодарен если будет какое то решение в виде обработки... Через печатную форму у меня не получилось реализовать отображение цены.

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

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

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

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

Оффлайн Doomych

  • *
  • Сообщений: 21
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-13
  • Сайт: 
важен не документ а записи в регистре ЦеныНоменклатуры. надо там проверять...
Хорошо. Делаю так:
    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.Записать();

Последний раз редактировалось: Doomych; 26 Дек 2014, 16:44. Причина: Объединение сообщений

Оффлайн Andrewow

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-12-26
  • Сайт: 
  • Профессия: Ученик 1С
up. ищу доработку эту, не ужели ни у кого нету?


Теги:
 


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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

* Последние вакансии

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
133 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
61 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
41 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
27 Сообщений
alexandr_ll
23 Сообщений

* Кто онлайн

  • Точка Гостей: 158
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal