Суть проблемы. есть склад на который поступают и убывают ресурсы. Есть 2 документа:"ПриходнаНаладная", "РасходнаяНакладная" описывать их смысла нет и так понятно с названия что за что отвечает. Так вот, нужно как-то огрнаничить в РасходнойНакладной количество ресурсов которые можно списать(продать) количесвом поступивших ресурсов, а то складывается такая ситуация, что поступает 20ед. а уходит 100ед, что немного странно)) через что можно их ограничить? пробывал через регистр накоплений - не получилось... З.Ы. ответ желательно как ожно конкретней. так-как в 1с разбираюсь довольно плохо, ну это видно и из созданой темы)))
Был бы очень признателен за ссылочку на ифу по этой теме, руки не из .... сам бы с удовольствием разобрался, если бы ток кто подсказал где искать что-то конкретное.
У меня в курсовом возникла такая проблмка. здавать до НГ нужно, а сам курс проходил вяло и без требований, да и с курсаком вроде никто не обращал на это внимание до сегоднешнего дня... а теперь такая запара, искать пробывал решение, но не зная доскональна предмета, это довольно тяжело, так что повторяюсь, был бы благодарен даже за стоящую инфу по теме..
А где у вас вообще остатки хранятся? у меня что-то подозрение что нигде...
затрудняюсь ответить... Делал по советуемой книге:" 1с предриятие,Практическое пособие разработчика" там по этому поводу используется регистр накоплений, в который, как и следовало ожидать, заносится вся инфа по приходах - расходах, в отчет вытащил с того регистра остаток, но вот как ограничить по этому остатку в документе "расходная накладная" я понять не могу,
я не немножко отвлекся, остаток , я так понимаю, хранится в регистре накоплений, а точнее в его виртуальной таблице:"Остатки"...
Запрос = Новый Запрос; //Текст запроса Запрос.ТекстЗАпроса = "ВЫБРАТЬ ТоварыНаСкладахОстатки.Номенклатура, ТоварыНаСкладахОстатки.КоличествоОстаток ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата, )КАК ТоварыНаСкладахОстатки ГДЕ ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура";
Запрос.УстановитьПараметр("Дата",Дата-1); //Передаём в запрос дату-время документа минус одна секунда (чтобы узнать остаток до документа а не в другое время). //На самом деле нужно передавать момент времени документа
Для Каждого ТекущаяСтрока Из Документ.Товары Цикл Запрос.УстановитьПараметр("Номенклатура",ТекущаяСтрока.Номенклатура); ТаблицаЗначений = Запрос.Выполнить.Выгрузить();//Получаем остаток по текущему товару //На самом деле нужно получить остаток по всем товарам до цикла и обращаться к закешированной табличке
Если ТекущаяСтрока.Количество > ТаблицаЗначений.Итог("КоличествоОстаток") Тогда Сообщение("На сладет есть только "+ТаблицаЗначений.Итог("КоличествоОстаток") +" единиц товара "+ ТекущаяСтрока.Номенклатура + ". Продажа невозможна!!"); Отказ = Истина; //Код отменяет транзакцию проведения Возврат; //Код прерывает проведение КонецЕсли;
{Документ.РасходнаяНакладная(16,11)}: Змінна не визначена (ТекущаяСтрока) Если <<?>>ТекущаяСтрока.Количество > ТаблицаЗначений.Итог("КоличествоОстаток") Тогда вот так ругается на все упоминания ТекущаяСтрока, как этим боротся?
ТаблицаЗначений = Запрос.Выполнить.Выгрузить();//Получаем остаток по текущему товару наскок я понял ему что-то не нравится в этой строке так как во время работы в 1с Предриятии при попыти провести докумет пишет "Поле объекта не найдено(Выполнить)" я так понимаю косяки из-зи разных версий платформы например ему не нравилась строка Сообщение("На сладет есть только "+ТаблицаЗначений.Итог("КоличествоОстаток") +" единиц товара "+ ТекущаяСтрока.Номенклатура + ". Продажа невозможна!!"); но проглотил строку Сообщить("На сладет есть только "+ТаблицаЗначений.Итог("КоличествоОстаток") +" единиц товара "+ ТекущаяСтрока.Номенклатура + ". Продажа невозможна!!");
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!