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

Расход\Приход 8.0

Автор warshadow, 24 фев 2011, 19:42

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

cska-fanat-kz

Запросом вы получили список книг из табличной части документа плюс количество, которое надо списать плюс количество данной книги на складе.

Загонять его теперь в цикл "Для каждого" не требуется.
Теперь достаточно обойти результат запроса.
То есть после запроса пишем:

Результат = Запрос.Выполнить();
//вот здесь можно вставить условие
//если Результат.Пустой() Тогда
//и ругнуться если табличная часть пустая. если надо
Выборка = Результат.Выбрать();

Пока Выборка.Следующий() Цикл

Если Выборка.КоличествоПоДокументу < Выборка.КоличествоНаСкладе Тогда
Сообщить("Не хватает ((");
Продолжить;
КонецЕсли;

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

КонецЦикла;
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

cska-fanat-kz

Сорри. Знак перепутал ;)

не

Если Выборка.КоличествоПоДокументу < Выборка.КоличествоНаСкладе Тогда

а вот так

Если Выборка.КоличествоПоДокументу > Выборка.КоличествоНаСкладе Тогда
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Klyacksa

Ну вот... cska-fanat-kz , я тут распинаюсь, чтобы человек сам что-то понял, а ты берешь и выкладываешь полный код (((
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Klyacksa

ЦитироватьТак получается, сначала идет некий запрос,потом условие я так понимаю?
Да, в начале запросом мы получаем таблицу соответствия Товар-ОстатокНаСкладе-КолвоВДокументе. Дальше перебираем записи этой таблицы, и смотрим, если КолвоВДокументе больше, чем остаток на складе - то ругаемся и не проводим документ, а если все норм - то создаем движения и записываем их.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

cska-fanat-kz

"Ну вот... cska-fanat-kz , я тут распинаюсь, чтобы человек сам что-то понял, а ты берешь и выкладываешь полный код ((("

Ну можно было в первом же ответе написать:
"Иди читай Радченко" ;))

Пусть код анализирует. К тому же он достаточно упрощенный.
Есть еще много "фишек", которые надо дописать...
Типа нескольких одинаковых книг в табличной части.

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

Klyacksa

ЦитироватьНу можно было в первом же ответе написать:
"Иди читай Радченко" )
Ладно тебе, это уж совсем жестоко...

ЦитироватьКлянусь пытать будет - но не расскажу, как это решить )
Та расскажем, расскажем, затем мы здесь и на вопросы отвечаем, чтобы подсказать :)
тока пока рано. Пусть это переварит в начале :)
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

cska-fanat-kz

Почему жестоко?
Жестоко это "Читай ""Профессиональную разработку в системе 1С:Предприятие 8.0""" ))
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Klyacksa

Жестоко - не в смысле сложности книги, а в смысле помощи. Сказать "иди читай книгу" или "иди гугли" - это не совсем помощь. В таком случае нужно человеку хотябы ссылку кинуть с подобным примером, или раздел книги подсказать. А мне быстрее и проще на словах объяснить :)

Что-то мы уже ни о чем.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

cska-fanat-kz

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

warshadow

Хорошо, спасибо как домой приду попробую реализовать.

Теги:
Рейтинг@Mail.ru

Поиск