Показано с 1 по 9 из 9
-
29.01.2013, 17:05 #1
- Регистрация
- 26.01.2013
- Сообщений
- 6
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
Помогите пожалуйста разобраться с Контролем остатков и Автоматическая подстаовка цены
Добрый день прошу помоши с заданием а то у меня уже руки опустились неполучается сделать.
Задание на основе справочника 1с 8.2 практическое пособие разработчика.
Создать справочники "Номенклатура", "Склады".
Организовать количественно-суммовой учёт товара в регистре
"ТоварыНаСкладах". Измерения "Номенклатура" и "Склад" Ресурсы:
"Сумма", "Количество".
Создать документ "Приходная накладная" Реквизиты шапки: "Склад"
Табличная часть: "Товары". Реквизиты табличной части: Номенклатура,
Количество, Цена, Сумма. Документ делает приход товара в регистр.
Создать документ "Расходная накладная". Реквизитов в шапке нет.
Табличная часть "товары" содержит реквизиты: номенклатура, склад,
количество, цена, сумма. (Склад в табличной части, следовательно
документом можно продать товары с нескольких складов).
Документ Расходная накладная списывает товары со складов по
себестоимости (определяет стоимость товара в регистре и делает
движение "расход"). Если товара на складе не хватает, документ
сообщает об этом и не проводится.
Не могу понять как автомотическую подстановку цены из регистра накопления где нет ресурса цена.
И как создать запрос для того чтобы выдавалась ошибка при вводе большего колличества чем есть на складе.
Зарание благодарен!!!!
-
29.01.2013, 19:42 #2
- Регистрация
- 05.01.2012
- Сообщений
- 23
- Сказал(а) спасибо
- 21
- Поблагодарили 5 раз(а) в 3 сообщениях
Цену продажи Вы берете не из регистра накопления, а из ТЧ документа.
запрос к виртуальной таблице остатков регистра накопления.
---------- Post added at 18:42 ---------- Previous post was at 18:30 ----------
в общем вот, спрашивайте, если что не понятно: http://rusfolder.com/34751301
-
31.01.2013, 08:14 #3
- Регистрация
- 26.01.2013
- Сообщений
- 6
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
-
02.02.2013, 17:45 #4
- Регистрация
- 05.01.2012
- Сообщений
- 23
- Сказал(а) спасибо
- 21
- Поблагодарили 5 раз(а) в 3 сообщениях
Все очень просто. В регистре у вас хранится инфа о наличии номенклатуры на складе - количество и сумма по этому количеству. Цену продажи вы указываете в табличной части документа "РасходнаяНакладная", это в условии сказано:
Создать документ "Расходная накладная". Реквизитов в шапке нет.
Табличная часть "товары" содержит реквизиты: номенклатура, склад,
количество, цена, сумма. (Склад в табличной части, следовательно
документом можно продать товары с нескольких складов).
-
02.02.2013, 18:06 #5
- Регистрация
- 05.01.2012
- Сообщений
- 23
- Сказал(а) спасибо
- 21
- Поблагодарили 5 раз(а) в 3 сообщениях
Вообще, когда заходт речь о автоподстановке цен номенклатуры, эти цены хранятся в регистре сведений. В условии об этом не сказано, вот и получается, что цену продажи вы берете из табличной части расходной накладной.
-
11.02.2013, 11:05 #6
- Регистрация
- 26.01.2013
- Сообщений
- 6
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
Помогите пожалуйста с автоматическим расчетом стоимости при проведении документа расходная накладная.
Процедура ОбработкаПроведения(Отказ, Режим)
Движения.ТоварыНаСкладе.За писывать = Истина;
МенеджерВТ = Новый МенеджерВременныхТаблиц;
Запрос = Новый Запрос;
// Укажем, какой менеджер временных таблиц использует этот запрос
Запрос.МенеджерВременныхТ� �блиц = МенеджерВТ;
Запрос.Текст = "ВЫБРАТЬ
| РасходнаяНакладнаяТовары.� �оменклатура,
| МАКСИМУМ(ТоварыНаСкладеОс� �атки.СуммаОстаток / ТоварыНаСкладеОстатки.Кол� �чествоОстаток) КАК Себестоимость,
| СУММА(РасходнаяНакладнаяТ� �вары.Сумма) КАК Сумма,
| СУММА(РасходнаяНакладнаяТ� �вары.Количество) КАК Количество,
| РасходнаяНакладнаяТовары.� �клад,
| ТоварыНаСкладеОстатки.Кол� �чествоОстаток,
| ТоварыНаСкладеОстатки.Сум� �аОстаток
|ПОМЕСТИТЬ ДокТЧ
|ИЗ
| Документ.РасходнаяНакладн� �я.Товары КАК РасходнаяНакладнаяТовары
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыН� �Складе.Остатки КАК ТоварыНаСкладеОстатки
| ПО РасходнаяНакладнаяТовары.� �оменклатура = ТоварыНаСкладеОстатки.Ном� �нклатура
|ГДЕ
| РасходнаяНакладнаяТовары.� �сылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| РасходнаяНакладнаяТовары.� �оменклатура,
| РасходнаяНакладнаяТовары.� �клад,
| ТоварыНаСкладеОстатки.Кол� �чествоОстаток,
| ТоварыНаСкладеОстатки.Сум� �аОстаток";
Запрос.УстановитьПараметр( "Ссылка", Ссылка);
РезультатЗапроса = Запрос.Выполнить();
Запрос2 = Новый Запрос;
Запрос2.МенеджерВременныхТ аблиц = МенеджерВТ;
Запрос2.Текст = "ВЫБРАТЬ
| ТоварыНаСкладеОстатки.Кол� �чествоОстаток,
| ТоварыНаСкладеОстатки.Сум� �аОстаток,
| ДокТЧ.Номенклатура,
| ДокТЧ.Склад,
| ДокТЧ.Себестоимость,
| ДокТЧ.Сумма,
| ДокТЧ.Количество,
| РасходнаяНакладнаяТовары.� �ена
|ИЗ
| РегистрНакопления.ТоварыН� �Складе.Остатки(
| ,
| Номенклатура В
| (ВЫБРАТЬ
| ДокТЧ.Номенклатура
| ИЗ
| ДокТЧ)) КАК ТоварыНаСкладеОстатки
| ЛЕВОЕ СОЕДИНЕНИЕ ДокТЧ КАК ДокТЧ
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасходнаяНакладн� �я.Товары КАК РасходнаяНакладнаяТовары
| ПО ДокТЧ.Себестоимость = РасходнаяНакладнаяТовары.� �ена
| ПО ТоварыНаСкладеОстатки.Ном� �нклатура = ДокТЧ.Номенклатура";
Результат = Запрос2.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
Пока ВыборкаДетальныеЗаписи.Сл� �дующий() Цикл
Движение = Движения.ТоварыНаСкладе.До бавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Рас� �од;
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаДетальныеЗаписи.Но� �енклатура;
Движение.Склад = ВыборкаДетальныеЗаписи.Ск� �ад;
Движение.Количество = ВыборкаДетальныеЗаписи.Ко� �ичество;
Если ВыборкаДетальныеЗаписи.Ко� �ичество<ВыборкаДетальныеЗ аписи.КоличествоОСтаток Тогда
Движение.Сумма = ВыборкаДетальныеЗаписи.Су� �маОСтаток/ВыборкаДетальныеЗаписи.Ко� �ичествоОстаток*ВыборкаДет альныеЗаписи.Количество;
Иначе
Движение.Сумма = ВыборкаДетальныеЗаписи.Су� �ма;
КонецЕсли;
Движения.Записать();
КонецЦикла;Последний раз редактировалось miha_serb; 11.02.2013 в 11:16.
-
11.02.2013, 15:19 #7
- Регистрация
- 05.01.2012
- Сообщений
- 23
- Сказал(а) спасибо
- 21
- Поблагодарили 5 раз(а) в 3 сообщениях
Похоже на правду. Только не ясно, зачем 2 запроса и МВТ. А что именно вам непонятно?
Движения.Записать(); - и вот этого тоже не нужно, тем более в цикле.
Если запись движений установлена как "записывать выбранные", в начало процедуры допишите
Движения.ТоварыНаСкладе.За писывать = Истина;
Движения.ТоварыНаСкладе.За писать()Последний раз редактировалось kyafnsum; 11.02.2013 в 15:30.
-
12.02.2013, 11:12 #8
- Регистрация
- 26.01.2013
- Сообщений
- 6
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
В этом коде мне все понятно, я не могу понять почему он не работает) Я выгрузку выложил если не затруднит глянте пожалуйста.
-
19.02.2013, 01:10 #9
- Регистрация
- 05.01.2012
- Сообщений
- 23
- Сказал(а) спасибо
- 21
- Поблагодарили 5 раз(а) в 3 сообщениях
Файл не найден
Firefox не может найти файл http://forum.ruboard.ru/attachment.p...8&d=1360653064.
-
Похожие темы
-
Помогите, пожалуйста, с переносом остатков
от Petenokor в разделе Общие вопросы по 1С - ПредприятиеОтветов: 1Последнее сообщение: 12.01.2013, 20:27 -
Автоматическая настройка Vpn
от Jump~ в разделе Microsoft WindowsОтветов: 0Последнее сообщение: 07.07.2007, 18:47
Социальные закладки