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

Реализация товаров и услуг

Автор Doomych, 30 дек 2014, 16:29

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

Doomych

Всех с наступающим Новым годом!

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

Работаю  1С из Delphi через OLE Automation.
Создаю документ "Реализация товаров и услуг" (у меня вид операции - Услуги). Ошибок нет, но в 1С, в гриде услуг, не заполнено поле "Номенклатура" (там, где в столбце два значения (одно под другим: номенклатура и содержание)) - строка в коде помечена "[1]";

Еще вопрос: в столбце "Счета учета", в котором отображаются значения из формы "Счета учета", должна отображаться номенклатурная группа. Как ее записать (в каком объекте она хранится? По крайней мере, СчетДоходов, СчетРасходов и СчетУчетаНДСПоРеализации я заполнил в "Услугах", хотя, вроде как этих полей в "Услугах" нет)? строка в коде помечена "[2]"

// Создаем шапку
act := Ole1C.Документы.РеализацияТоваровУслуг.СоздатьДокумент();
act.ВидОперации := Ole1C.Перечисления.ВидыОперацийРеализацияТоваров.Услуги;
act.Контрагент := AContractor.Ссылка;
act.ДоговорКонтрагента := AContractor.ОсновнойДоговорКонтрагента.Ссылка;
act.Дата := AActDate;
act.СчетУчетаРасчетовСКонтрагентом := Ole1C.ПланыСчетов.Хозрасчетный.НайтиПоКоду('62.01');
act.СчетУчетаРасчетовПоАвансам := Ole1C.ПланыСчетов.Хозрасчетный.НайтиПоКоду('62.02');
act.СпособЗачетаАвансов := Ole1C.Перечисления.СпособыЗачетаАвансов.Автоматически;
act.ВалютаДокумента := FCurrencyRouble;
act.СуммаВключаетНДС := FUseVat;
act.СчетНаОплатуПокупателю := AInvoiceForPayment.Ссылка;

act.Записать();

// Создаем табличную часть "Услуги"
services := act.Услуги;
properties := services.Добавить();
properties.Номенклатура := ANomenklatura; // [1] - в 1С не отображается
properties.Содержание := ANomenklatura.Наименование;
properties.Количество := cQty;
properties.Цена := APrice;
properties.Сумма := APrice * cQty;
properties.СтавкаНДС := Ole1C.Перечисления.СтавкиНДС.НДС18;
properties.СуммаНДС := properties.Сумма - properties.Сумма * 100 / (100 + FVat);
//properties.Номенклатура := Ole1C.Справочники.НоменклатурныеГруппы.НайтиПоНаименованию('Курьерские услуги'); // [2] как надо?
properties.СчетДоходов := Ole1C.ПланыСчетов.Хозрасчетный.НайтиПоКоду('90.01.1');
properties.СчетРасходов := Ole1C.ПланыСчетов.Хозрасчетный.НайтиПоКоду('90.02.1');
properties.СчетУчетаНДСПоРеализации := Ole1C.ПланыСчетов.Хозрасчетный.НайтиПоКоду('90.03');

act.Записать();



LexaK

у вашей ANomenklatura; - где-то галочка должна быть Услуга = Истина;
а вообще по вашему коду не видно, где вы получаете ANomenklatura ?
если помогло нажмите: Спасибо!

Doomych

Цитата: LexaK от 30 дек 2014, 17:44
у вашей ANomenklatura; - где-то галочка должна быть Услуга = Истина;
а вообще по вашему коду не видно, где вы получаете ANomenklatura ?
Нет-нет, тут все нормально. Номенклатуру я создаю раньше. "Услуга" у нее стоит.

В общем, я разобрался. Проблемы [1] не было. Ложная тревога. Проблема [2] решилась строкой
properties.Субконто := FNomGroupCourierServices.Ссылка

Теги:

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

Рейтинг@Mail.ru

Поиск