Полная версия этой страницы:
Учет ресурсов на складе
Суть проблемы.
есть склад на который поступают и убывают ресурсы.
Есть 2 документа:"ПриходнаНаладная", "РасходнаяНакладная" описывать их смысла нет и так понятно с названия что за что отвечает.
Так вот, нужно как-то огрнаничить в РасходнойНакладной количество ресурсов которые можно списать(продать) количесвом поступивших ресурсов, а то складывается такая ситуация, что поступает 20ед. а уходит 100ед, что немного странно))
через что можно их ограничить? пробывал через регистр накоплений - не получилось...
З.Ы. ответ желательно как ожно конкретней. так-как в 1с разбираюсь довольно плохо, ну это видно и из созданой темы)))
Русскими буквами нужно программировать код. Или английскими.
Цитата(Ardi @ 27.12.11, 23:09) необходимо зарегистрироваться для просмотра ссылки
Русскими буквами нужно программировать код. Или английскими.
Русскими
Я рад что помог вам определиться в первом из предстоящих вопросов.
У Вас какое-то типовое решение 1С? Или Вы решаете учебные задачки? Собственно от ответа на поставленный вопрос и будет зависеть верный ответ.
Был бы очень признателен за ссылочку на ифу по этой теме, руки не из .... сам бы с удовольствием разобрался, если бы ток кто подсказал где искать что-то конкретное.
У меня в курсовом возникла такая проблмка. здавать до НГ нужно, а сам курс проходил вяло и без требований, да и с курсаком вроде никто не обращал на это внимание до сегоднешнего дня... а теперь такая запара, искать пробывал решение, но не зная доскональна предмета, это довольно тяжело, так что повторяюсь, был бы благодарен даже за стоящую инфу по теме..
А где у вас вообще остатки хранятся? у меня что-то подозрение что нигде...
Цитата(logist @ 27.12.11, 23:52) необходимо зарегистрироваться для просмотра ссылки
А где у вас вообще остатки хранятся? у меня что-то подозрение что нигде...
затрудняюсь ответить... Делал по советуемой книге:" 1с предриятие,Практическое пособие разработчика" там по этому поводу используется регистр накоплений, в который, как и следовало ожидать, заносится вся инфа по приходах - расходах, в отчет вытащил с того регистра остаток, но вот как ограничить по этому остатку в документе "расходная накладная" я понять не могу,
я не немножко отвлекся, остаток , я так понимаю, хранится в регистре накоплений, а точнее в его виртуальной таблице:"Остатки"...
Неоптимизированный код выглядит так:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Запрос = Новый Запрос;
//Текст запроса
Запрос.ТекстЗАпроса = "ВЫБРАТЬ
ТоварыНаСкладахОстатки.Номенклатура,
ТоварыНаСкладахОстатки.КоличествоОстаток
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата, )КАК ТоварыНаСкладахОстатки
ГДЕ
ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура";
Запрос.УстановитьПараметр("Дата",Дата-1); //Передаём в запрос дату-время документа минус одна секунда (чтобы узнать остаток до документа а не в другое время).
//На самом деле нужно передавать момент времени документа
Для Каждого ТекущаяСтрока Из Документ.Товары Цикл
Запрос.УстановитьПараметр("Номенклатура",ТекущаяСтрока.Номенклатура);
ТаблицаЗначений = Запрос.Выполнить.Выгрузить();//Получаем остаток по текущему товару
//На самом деле нужно получить остаток по всем товарам до цикла и обращаться к закешированной табличке
Если ТекущаяСтрока.Количество > ТаблицаЗначений.Итог("КоличествоОстаток") Тогда
Сообщение("На сладет есть только "+ТаблицаЗначений.Итог("КоличествоОстаток") +" единиц товара "+ ТекущаяСтрока.Номенклатура + ". Продажа невозможна!!");
Отказ = Истина; //Код отменяет транзакцию проведения
Возврат; //Код прерывает проведение
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Большое спасибо, сейчас попытаюсь прикрутить его к своей конфе,
ТоварыНаСкладахОстатки.Номенклатура, ТоварыНаСкладахОстатки- это просто переменные в даном случае или что?
Цитата(paav @ 28.12.11, 0:24) необходимо зарегистрироваться для просмотра ссылки
ТоварыНаСкладахОстатки.Номенклатура, ТоварыНаСкладахОстатки- это просто переменные в даном случае или что?
Это текст запроса, и соотв. обращение к соотв. измерениям и ресурсам регистра.
{Документ.РасходнаяНакладная(16,11)}: Змінна не визначена (ТекущаяСтрока)
Если <<?>>ТекущаяСтрока.Количество > ТаблицаЗначений.Итог("КоличествоОстаток") Тогда
вот так ругается на все упоминания ТекущаяСтрока, как этим боротся?
Для Каждого ТекущаяСтрока Из Документ.Товары Цикл
ТаблицаЗначений = Запрос.Выполнить.Выгрузить();//Получаем остаток по текущему товару наскок я понял ему что-то не нравится в этой строке так как во время работы в 1с Предриятии при попыти провести докумет пишет "Поле объекта не найдено(Выполнить)"
я так понимаю косяки из-зи разных версий платформы
например ему не нравилась строка
Сообщение("На сладет есть только "+ТаблицаЗначений.Итог("КоличествоОстаток") +" единиц товара "+ ТекущаяСтрока.Номенклатура + ". Продажа невозможна!!");
но проглотил строку
Сообщить("На сладет есть только "+ТаблицаЗначений.Итог("КоличествоОстаток") +" единиц товара "+ ТекущаяСтрока.Номенклатура + ". Продажа невозможна!!");
Цитата(paav @ 28.12.11, 7:34) необходимо зарегистрироваться для просмотра ссылки
так понимаю косяки из-зи разных версий платформы
кояски из-за другого, не буду вас обижать

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