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

Автор Тема: Контроль остатков  (Прочитано 3831 раз)

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

Оффлайн OverTime

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



Процедура ОбработкаПроведения(Отказ, Режим)
 //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

 // Данный фрагмент построен конструктором.

 // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!


 // регистр ОстаткиАвтомобилей Расход

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

 // регистр Продажи

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

 //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

 МенеджерВТ = Новый МенеджерВременныхТаблиц;

 Запрос = Новый Запрос;

 // Укажем, какой менеджер временных таблиц использует этот запрос

 Запрос.МенеджерВременныхТаблиц = МенеджерВТ;

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

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

 Результат = Запрос.Выполнить();




 Движения.Записать();

 Если Режим = РежимПроведенияДокумента.Оперативный Тогда
 // Проверить отрицательные остатки

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

 Запрос3.УстановитьПараметр("МестоХранения", МестоХранения);

 Результат = Запрос3.Выполнить();
 ВыборкаДетальныеЗаписи = Результат.Выбрать();

 Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
 Сообщение = Новый СообщениеПользователю();
 Сообщение.Текст = "Не хватает " + Строка(- ВыборкаДетальныеЗаписи.КоличествоОстаток) + " единиц материала """ + ВыборкаДетальныеЗаписи.Материал + """";
 Сообщение.Сообщить();
 Отказ = Истина;
 КонецЦикла;
 КонецЕсли;


КонецПроцедуры



Платформа 8.3

Последний раз редактировалось: MuI_I_Ika; 05 Май 2014, 21:28


Оффлайн Шитова Людмила

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-05-14
  • Сайт: 
  • Профессия: Ученик 1С
  Попробуйте в 3-м запросе в параметрах виртуальной таблицы ОстаткиАвтомобилей.Остатки указать первый параметр(период),например,&Дата(сейчас он у вас не указан). А потом ниже установить параметр.
  Момент = Новый Граница(МоментВремени(),ВидГраницы.Включая);
  Запрос3.УстановитьПараметр("Дата", Момент);
  Так делают в 8.2. Работает ли это в 8.3,проверить не могу,нет платформы.

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

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
  Попробуйте в 3-м запросе в параметрах виртуальной таблицы ОстаткиАвтомобилей.Остатки указать первый параметр(период),например,&Дата(сейчас он у вас не указан). А потом ниже установить параметр.
  Момент = Новый Граница(МоментВремени(),ВидГраницы.Включая);
  Запрос3.УстановитьПараметр("Дата", Момент);
  Так делают в 8.2. Работает ли это в 8.3,проверить не могу,нет платформы.

Если пропускаем параметр Период, то получаем актуальные остатки на текущий момент, что нам при оперативном проведении и нужно. Т.е. можно и так.

А вот почему контроль остатков не срабатывает... С первого набега установить не удалось... :dfbbdrfb:
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Шитова Людмила

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-05-14
  • Сайт: 
  • Профессия: Ученик 1С
Нужны остатки с учетом данных документа,а в вашем случае они не учитываются.

Оффлайн Besart

  • *****
  • Сообщений: 678
  • РЕПУТАЦИЯ: 142
  • КПД: 21%
  • Регистрация: 2012-12-10
    • Skype: artfa.a
  • Компания: Фрилансер
  • Профессия: Программист 8.1
 Запрос3 = Новый Запрос;
 Запрос3.МенеджерВременныхТаблиц = МенеджерВТ;
 Запрос3.Текст = "ВЫБРАТЬ
 |    ОстаткиАвтомобилейОстатки.Автомобили,
 |    ОстаткиАвтомобилейОстатки.КоличествоОстаток
 |ИЗ
 |    РегистрНакопления.ОстаткиАвтомобилей.Остатки(
 |            ,
 |            Автомобили В
 |                    (ВЫБРАТЬ
 |                        АвтомобилиДокумента.Автомобиль                                            ИЗ
 |                        АвтомобилиДокумента)
 |                И МестоХранения = &МестоХранения) КАК ОстаткиАвтомобилейОстатки
 |ГДЕ
 |    ОстаткиАвтомобилейОстатки.КоличествоОстаток < 0";

 Запрос3.УстановитьПараметр("МестоХранения", МестоХранения);
 Запрос3.УстановитьПараметр("МоментВремени", Новый Граница(МоментВремени(), ВидГраницы.Включая));

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

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

Кто это сказал?
Актуальные остатки прекрасно содержат движения текущего документа :befhbt:
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

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

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

Оффлайн Besart

  • *****
  • Сообщений: 678
  • РЕПУТАЦИЯ: 142
  • КПД: 21%
  • Регистрация: 2012-12-10
    • Skype: artfa.a
  • Компания: Фрилансер
  • Профессия: Программист 8.1
параметр добавили, а в запросе его использовать забыли...
да, че то не доглядел,
если есть мозг у автора, то он не будет копипастить, суть в том что нужно учитывать остатки на момент времени Включая, т.е. с учетом движений текущего документа


Теги:
 

Отчеты "Ведомость ОС, НМА" и "Ведомость остатков материалов"

Автор OlegatorOGРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 2606
Последний ответ 04 Апр 2015, 06:15
от OlegatorOG
«Единица для отчетов» и «Единица хранения остатков»

Автор tranceferРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 7560
Последний ответ 14 Фев 2012, 02:29
от Dethmontt
В чем отличие регистра оборотов и регистра остатков

Автор Dmitry QweРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 334
Последний ответ 20 Сен 2017, 11:03
от ilyay
Просмотр остатков из документа "Заказ Покупателя"

Автор Игорь ПолищукРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 2848
Последний ответ 24 Авг 2011, 20:29
от Eugeneer
Отображение остатков брак. товара в "Рабочем месте менеджера по продажам"

Автор LittleHedgehogРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 2896
Последний ответ 16 Фев 2010, 11:15
от LittleHedgehog

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
175 Сообщений
ilyay ilyay
69 Сообщений
oleg-x
48 Сообщений
alex0402
44 Сообщений
andron81_81
38 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 176
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal