При проведении возвратной накладной, необходимо сделать проверку, если товар отгружался не более чем месяц назад, то все ОК, а если товар не отгружался вообще в течении месяца или дата отгрузки больше чем месяц с текущей даты, то выдавать ошибку, не дать провести и выдать сообщение какие товары выходят за "рамки" разрешенных возвратов.
Вероятно необходимо сделать запрос по тобличной части документов РеализацияТоваровиУслуг, по каждой строки из ВозвратДокументовОтПокупателя
Запрос = Новый Запрос("ВЫБРАТЬ | РеализацияТоваровУслуг.Товары.( | Номенклатура | ) КАК НоменклатураРеализации |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериода");
Группа: Пользователи
Сообщений: 1994
Из: Ахметов сити
Спасибо сказали: 333 раз
Рейтинг: 0
Я так протелепатирую, что это УТП ... Исходя из этого есть регистр Продажи - запрос нужно делать к нему ... Так выгребать не проведенные, не правильно проведенные и помеченные документы не комильфо ... И запрос нужно делать к табличной части Товары если уж все ж таки выгребать документы ...
Цитата(sava1 @ 06.11.12, 7:55)
Если продажи конкретному контрагенту - проверить регистр Продажи (и лучше в подписке ПриЗаписи)
//////////////////////////////////////////////////////////////////////////////////////////////// //Проверка Для Каждого ТекСтрокаТовары Из Товары Цикл Запрос = Новый Запрос("ВЫБРАТЬ | Продажи.Номенклатура КАК НоменклатураРеализации, | Продажи.Контрагент, | Продажи.Количество |ИЗ | РегистрНакопления.Продажи КАК Продажи |ГДЕ | Продажи.Период МЕЖДУ &НачалоПериода И &КонецПериода | И Продажи.Номенклатура = &НоменклатураСтроки | И Продажи.Контрагент = &КонтрагентПродажи");
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0
Можно бы было вкратце - я бы озвучил Пример 05.09.12 Продажа 20шт 15.09.12 Возврат 20шт 25.09.12 Возврат 20шт
В этой ситуации нужно анализировать продажи за 16.08.12 - 15.09.12, чтобы выяснить, какая часть Возврата от 15.09 уложилась в "свой месяц", а какая сторнировала Продажу от 05.09. А если и там были возвраты - в общем случае(надеюсь есть помнящие, что значит решение задачи в общем случае) придется рассчитать историю прдаж/возвратов за весь период ведения учета.
не надо усложнять задачу - обычно действуют на основаниии - и надо в запросе анализировать документ основание
можно и так, НО тогда придется ввести жесткое ограничение и запретить ввод возврата не на основании.
Цитата(Zaval @ 07.11.12, 8:13)
Можно бы было вкратце - я бы озвучил Пример 05.09.12 Продажа 20шт 15.09.12 Возврат 20шт 25.09.12 Возврат 20шт
В этой ситуации нужно анализировать продажи за 16.08.12 - 15.09.12, чтобы выяснить, какая часть Возврата от 15.09 уложилась в "свой месяц", а какая сторнировала Продажу от 05.09. А если и там были возвраты - в общем случае(надеюсь есть помнящие, что значит решение задачи в общем случае) придется рассчитать историю прдаж/возвратов за весь период ведения учета.
Мое мнение - нужен дополнительный РН
В общих чертах понятно. И нужно еще анализировать. Быть может возврат и вкладывается в заданный период, НО этот товар уже вернули.
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник. ЗиУП
Возврат без документа основания возможен, т.к. варианта два будет, на основании и просто новый документ возврата, код такой сейчас
Для Каждого ТекСтрокаТовары Из Товары Цикл Запрос = Новый Запрос("ВЫБРАТЬ | Продажи.Номенклатура КАК НоменклатураРеализации, | Продажи.Контрагент, | Продажи.Количество КАК Количество |ИЗ | РегистрНакопления.Продажи КАК Продажи |ГДЕ | Продажи.Период МЕЖДУ &НачалоПериода И &КонецПериода | И Продажи.Номенклатура = &НоменклатураСтроки | И Продажи.Контрагент = &КонтрагентПродажи");
Единственное как описал Zaval, как учесть этот вариант не знаю, конечно можно послушаться и сделать регистр накопления возвратов и при записи документа еще смотреть сколкьо за месяц возвратов
Делаем запрос по контрагенту за весь период. Продажа идёт плюсом. Возврат минусом. В свёрнутом виде уже вернутые ПАРТИИ будут исчезать.
Получившуюся таблицу анализируем за свежий период. ----------- Вариант 2: Если анализируем оборот за месяц - то возвраты старых партий будут минусом, а возвраты свежих исчезнут из таблицы. Далее анализируем сумму плюсовых оборотов в таблице.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!