Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: 1С для программиста

  Все выпуски  

RFpro.ru: 1С для программиста


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты данной рассылки

Лиджи-Гаряев Владимир
Статус: Профессионал
Рейтинг: 1935
∙ повысить рейтинг »
Владимир Лазурко
Статус: Профессор
Рейтинг: 999
∙ повысить рейтинг »
Тимошенко Дмитрий
Статус: Практикант
Рейтинг: 578
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / 1С для программиста

Номер выпуска:1165
Дата выхода:03.01.2011, 21:30
Администратор рассылки:Владимир Лазурко (Профессор)
Подписчиков / экспертов:283 / 96
Вопросов / ответов:1 / 1

Вопрос № 181677: Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос: Написал Каркасную конфигурацию в 1С предприятии 8.1!(По примеру http://v8.1c.ru/rad/) Нужно добавить прибыль!Из расходной вычесть доходную и ...! Сказали что нужно на ...



Вопрос № 181677:

Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос:
Написал Каркасную конфигурацию в 1С предприятии 8.1!(По примеру http://v8.1c.ru/rad/)
Нужно добавить прибыль!Из расходной вычесть доходную и ...!
Сказали что нужно на форме расходной добавить столбик прибыль чтобы видно было!И чтобы прибыль выводилась в отчете!
Подскажите что делать!Я не понимаю как это сделать!
Если нужно скажите мыло я скину базу!

Отправлен: 29.12.2010, 20:51
Вопрос задал: Lotsman (Академик)
Всего ответов: 1
Страница вопроса »


Отвечает Sim_tm (Студент) :
Здравствуйте, Lotsman!

И так, подытожим все, а чем говорилось в минифоруме и личной переписке.
Документы системы: приходная, расходная, перемещение между складами.
В приходной и расходной указываются цены соответственно закупки и продажи.
необходимо создать структуры для хранения данных по остаткам в разрезе номенклатурных позиций и складов.
необходимо создать структуру для хранения данных о продажах в разрезе контрагентов и номенклатуры. Так же необходимо наличие отчета о

рентабельности продаж: сумма продажи - сумма закупки.

Что нам необходимо:
справочнки: Склады, контрагенты, номенклатура - они в Вашей конфигурации уже есть.
- Документы: поступление, реализация:
реквизиты шапки: контрагент, склад
таб. часть "товары": Номенклатура, цена, количество, сумма
(эти доки в том или ином виде тоже есть)

- Документ Перемещение
реквизиты шапки: Склад отправитель, склад получатель
Таб. часть "То вары": Номенклатура, количество.
(необходимо будет малек передалать как я писал в переписке)

Регистры накопления:
- Остатки: Измерения: Склад, Товар; Ресурсы: Количество, Сумма (сумма закупки).
Вам надо добавить сумму.

- Продажи: Измерения: Контрагент, Товар; Ресурсы: СуммаПродажи, СуммаЗакупки.

Обратите внимние, что принято суммовые реквизиты делать число (15,2), а количественные (15,3). Если сумма у вас в базе как правило (10,2), то у количества дробная часть всегда 0.

Везде в дальнейшем для упрощения исходим из того, что повторяющейся номенклатуры в табличных частях документов быть не может.


Докемент "приходная" двигает только остатки.
к тому коду что есть у Вас нужно добавить запись в регистр суммы.
Движение по продажам удаляем.

Документ "расходная" двигает и остатки и продажи.
Для движения по остаткам необходимо использовать запрос, что бы получить сумму остатка.
Обработка прове дения этого документа должна выглядеть в этом духе:
Код:

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РасходнаяНакладнаяТовары.Товар,
| РасходнаяНакладнаяТовары.Количество КАК КоличествоДокумента,
| РасходнаяНакладнаяТовары.Сумма КАК СуммаДокумента,
| ОстаткиОстатки.КоличествоОстаток,
| ОстаткиОстатки.СуммаОстаток
|ИЗ
| Документ.РасходнаяНакладная.Товары КАК РасходнаяНакладнаяТовары
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Остатки.Остатки(&МоментВремени, ) КАК ОстаткиОстатки
| ПО РасходнаяНакладнаяТовары.Ссылка.Склад = ОстаткиОстатки.Склад
| И РасходнаяНакладнаяТовары.Товар = ОстаткиОстатки.Товар
|ГДЕ
| РасходнаяНакладна яТовары.Ссылка = &Ссылка";

Запрос.УстановитьПараметр("Ссылка",Ссылка);
Запрос.УстановитьПараметр("МоментВремени",МоментВремени());

таблицаТоваров = Запрос.Выполнить().Выгрузить();

Для каждого ТекСтрокаТовары ИЗ таблицаТоваров Цикл
Движение = Движения.Остатки.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Регистратор = Ссылка;
Движение.Товар = ТекСтрокаТовары.Товар;
Движение.Склад = Склад;
Движение.Количество = ТекСтрокаТовары.КоличествоДокумента;
Движение.Сумма = (ТекСтрокаТовары.СуммаОстаток / ТекСтрокаТовары.КоличествоОстаток) * ТекСтрокаТовары.КоличествоДокумента;
//получили цену единицы товара по остаткам и умножили на количество в документе

Движение = Движения.Продажи.Добавить();
Движение.Период = Дата;
Движение.Контрагент = Контрагент;
Движение. Регистратор = Ссылка;
Движение.Товар = ТекСтрокаТовары.Товар;
Движение.СуммаЗакупки = (ТекСтрокаТовары.СуммаОстато к / ТекСтрокаТовары.КоличествоОстаток) * ТекСтрокаТовары.КоличествоДокумента;
Движение.СуммаПродажи = ТекСтрокаТовары.СуммаДокумента;
КонецЦикла;

// записываем движения регистров
Движения.Остатки.Записать();
Движения.Продажи.Записать();



В перемешении в обработке проведения должен быть аналогичный алгорит, за исключением того, что не пишем по продажам. Вначале списали с одно склада, а затем то же самое оприходовали на другой. Ну Вас почти так и есть. Только суммы не учитываются.

Отчет с прибылью строится с помощью конструктора выходной формы. Текст запроса в нем должен быть примерно следующий:
Код:

"ВЫБРАТЬ
| Прод ажиОбороты.Контрагент,
| ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.Контрагент),
| ПродажиОбороты.Товар,
| ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.Товар),
| ПродажиОбороты.СуммаЗакупкиОборот,
| ПродажиОбороты.СуммаПродажиОборот,
| ПродажиОбороты.СуммаПродажиОборот - ПродажиОбороты.СуммаЗакупкиОборот КАК Прибыль
|ИЗ
| РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты";

Ответ отправил: Sim_tm (Студент)
Ответ отправлен: 30.12.2010, 10:48
Номер ответа: 265184
Украина, Севастополь
ICQ # 314499900

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 265184 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:


  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2011, Портал RFPRO.RU, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.25 от 13.12.2010

    В избранное