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

Автор Тема: Как настроить проверку отрицательных остатков?  (Прочитано 7564 раз)

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

Оффлайн onegreyonewhite

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 1
  • КПД: 4%
  • Регистрация: 2012-01-13
  • Сайт: 
  • Профессия: Ученик 1С
Есть регистр накопления (остатки) "ДвиженияТовары" с измерениями "Склад" (спр.Склады), "Товар" (спр.Товар) и ресурсом "Количество".

Моя задача проверить при проведении документа, чтобы КоличествоОстатки по выбранным Складу и Товару до про ведения был меньше или равен Движению по регистру с реквизитом "Количество".

Как-то так...


Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1308
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
Внимание, сейчас будет вопрос!!!

Оффлайн Шурик_1985

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 5
  • КПД: 11%
  • )
  • Регистрация: 2011-05-14
  • Сайт: 
  • Профессия: Ученик 1С
Если ТабДок.Количество = Результат.Количество Тогда
 ИначеЕсли
ТабДок.Количество > Результат.Количество тогда
БлаБлаБла
Усё чотко!

Оффлайн onegreyonewhite

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 1
  • КПД: 4%
  • Регистрация: 2012-01-13
  • Сайт: 
  • Профессия: Ученик 1С
Внимание, сейчас будет вопрос!!!

Название темы ни о чём не говорит? :)

Я чисто технически не знаю как это реализовать...

Оффлайн onegreyonewhite

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 1
  • КПД: 4%
  • Регистрация: 2012-01-13
  • Сайт: 
  • Профессия: Ученик 1С
Если ТабДок.Количество = Результат.Количество Тогда
 ИначеЕсли
ТабДок.Количество > Результат.Количество тогда
БлаБлаБла

Ващпе ни разу не информативный ответ...

Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1308
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
Название темы ни о чём не говорит? :)

Я чисто технически не знаю как это реализовать...
Это к тому, что вопрос задавать надо. Ато кто знает что там подозревается. По сабжу, для начала читать литературу. В большинстве эта тема рассматривается.

2 Шурик_1985, я так понял человек хочет чтоб за него весь код написали.

Оффлайн onegreyonewhite

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 1
  • КПД: 4%
  • Регистрация: 2012-01-13
  • Сайт: 
  • Профессия: Ученик 1С
Название темы ни о чём не говорит? :)

Я чисто технически не знаю как это реализовать...
Это к тому, что вопрос задавать надо. Ато кто знает что там подозревается. По сабжу, для начала читать литературу. В большинстве эта тема рассматривается.

2 Шурик_1985, я так понял человек хочет чтоб за него весь код написали.

О ДА! Гений... Именно этого я и хочу. И мне совершенно наплевать на понимание принципов написания. ведь если бы мне было не наплевать, я бы обязательно понял (я же экстрасенс!) что скрывается под "Результат" и "ТабДок". И я привёл живые примеры из своего тренеровочного образца исключительно потому что хочу скопипастить и задать такой же вопрос на форуме про другой документ на ту же тему.
Поздравляю, ты раскрыл мой хитрый план, гений.  <_<

Оффлайн onegreyonewhite

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 1
  • КПД: 4%
  • Регистрация: 2012-01-13
  • Сайт: 
  • Профессия: Ученик 1С
для адекватов:

попробовал сделать по аналогии http://www.nastroy-ka.ru/ent1c812/90--------1-82.html сделать. Вот что получилось:
// регистр ДвиженияТовары Приход
Движения.ДвиженияТовары.Записывать = Истина;
//Для Каждого ТекСтрокаСписокПокупок Из СписокПокупок Цикл
// Движение = Движения.ДвиженияТовары.Добавить();
// Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
// Движение.Период = Дата;
// Движение.Склад = Склад;
// Движение.Товар = ТекСтрокаСписокПокупок.Товар;
// Движение.Количество = ТекСтрокаСписокПокупок.Количество;
//КонецЦикла;
Запрос = Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
| СписокПокупок.Товар,
| СУММА(СписокПокупок.Количество) КАК Количество
|ПОМЕСТИТЬ ДокТЧ
| Документ.Продажа.СписокПокупок КАК СписокПокупок
|ГДЕ
| СписокПокупок.Ссылка = &Ссылка
|
|СГРУПИРОВАТЬ ПО
| СписокПокупок.Товар
| ;
|
| //////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДокТЧ.Товар
| ДокТЧ.Количество
| ЕСТЬNULL(ДвиженияТоварыОстатки.КоличествоОстаток,0) КАК Остаток
|ИЗ
| ДокТЧ Как ДокТЧ
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ДвиженияТоваров.Остатки(
| ,
| Склад = &Склад,
| И Товар В
| (ВЫБРАТЬ
| ДокТЧ.Товар
| ИЗ
| ДокТЧ Как ДокТЧ)) Как ДвиженияТоварыОстатки
| ПО ДокТЧ.Товар = ДвиженияТоварыОстктки.Товар";
Запрос.УстановитьПараметр("Склад", Склад);
Запрос.УстановитьПараметр("Ссылка", Ссылка);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока выборка.Следующий() Цикл
Если выборка.Количество < выборка.Остаток Тогда
Сообщить("Не хватает товара " + Выборка.Товар + " , из необходимых " + Выборка.Количество + " . В наличие имеется только " + Выборка.Остаток);
Отказ = Истина;
КонецЕсли;
Если Не Отказ Тогда
Движение = Движения.ДвиженияТовары.Добавить();
Движение.ВидДвижения  = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Товар = Выборка.Товар;
Движение.Склад = Склад;
Движение.Количество = Выборка.Количество;
КонецЕсли;
КонецЦикла;



// регистр БалансСотрудника1 Приход
Движения.БалансСотрудника.Записывать = Истина;
Для Каждого ТекСтрокаСписокПокупок Из СписокПокупок Цикл
Движение = Движения.БалансСотрудника.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Сотрудник = Продавец;
Если ТекСтрокаСписокПокупок.Сумма < 8000 Тогда
Бонус = ТекСтрокаСписокПокупок.Сумма * 0.1;
ИначеЕсли ТекСтрокаСписокПокупок.Сумма >= 30000 Тогда
Бонус = 800;
ИначеЕсли ТекСтрокаСписокПокупок.Сумма >= 20000 Тогда
Бонус = 700;
ИначеЕсли ТекСтрокаСписокПокупок.Сумма >= 10000 Тогда
Бонус = 500;
ИначеЕсли ТекСтрокаСписокПокупок.Сумма >= 8000 Тогда
Бонус = 300;
КонецЕсли;
Движение.Баланс = Бонус;
КонецЦикла;

// регистр БалансСотрудника2 Приход
Движения.БалансСотрудника.Записывать = Истина;
Для Каждого ТекСтрокаСписокПокупок Из СписокПокупок Цикл
Движение = Движения.БалансСотрудника.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Сотрудник = ВторойПродавец;
Если ТекСтрокаСписокПокупок.Сумма < 8000 Тогда
Бонус = ТекСтрокаСписокПокупок.Сумма * 0.1;
ИначеЕсли ТекСтрокаСписокПокупок.Сумма >= 30000 Тогда
Бонус = 800;
ИначеЕсли ТекСтрокаСписокПокупок.Сумма >= 20000 Тогда
Бонус = 700;
ИначеЕсли ТекСтрокаСписокПокупок.Сумма >= 10000 Тогда
Бонус = 500;
ИначеЕсли ТекСтрокаСписокПокупок.Сумма >= 8000 Тогда
Бонус = 300;
КонецЕсли;
Движение.Баланс = Бонус;
КонецЦикла;
Маленько лишней инфы, но хрен с ним... :)
Собственно ругается:
Цитировать
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{Документ.Продажа.МодульОбъекта(44)}: Ошибка при вызове метода контекста (Выполнить)
   РезультатЗапроса = Запрос.Выполнить();
по причине:
{(5, 2)}: Синтаксическая ошибка "Документ.Продажа.СписокПокупок"
<<?>>Документ.Продажа.СписокПокупок КАК СписокПокупок

Чё к чему, непонятно..... :dfbsdfbsdf:

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Делай запрос конструктором, а не копируй с других сайтов.
У тебя в конфигурации нету документа "ПРОДАЖА".!!!
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Сначала отдели мух от котлет. Посмотри где вообще хранятся эти остатки. Подумай как проверить на определенную дату количество определенной номенклатуры в БД. (типовыми средствами)
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!


Теги:
 

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

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

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

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

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

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

Ответов: 2
Просмотров: 324
Последний ответ 20 Сен 2017, 11:03
от ilyay
Как правильно настроить регламентные "Обновление индекса ППД" и "Слияние индекса ППД"

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

Ответов: 1
Просмотров: 4315
Последний ответ 13 Окт 2016, 09:14
от MuI_I_Ika
Просмотр остатков из документа "Заказ Покупателя"

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

Ответов: 1
Просмотров: 2835
Последний ответ 24 Авг 2011, 20:29
от Eugeneer

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
160 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
44 Сообщений
AIFrame
35 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
BuhRust
27 Сообщений
Golickoff Golickoff
27 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal