А как у Вас будет в приведенном мной примере?
Update close - выполнить операцию
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
Update close - выполнить операцию
C6/C11, ШВС, tps/btrieve.
-
- ✯ Ветеран ✯
- Сообщения: 1702
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
Update close - выполнить операцию
Все равно не понятно, видать сильно тупой, возвраты по отгрузкам - это недостача при получении товара покупателем или возврат - это копия измененной накладной отгрузки для возврата?
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 1702
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
Update close - выполнить операцию
а какая разница в расчете, итог все равно один
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
Update close - выполнить операцию
Это когда покупатель возвращает товары поставщику по любому допустимому поводу, не противоречащему заключенному договору. В одном возврате могу быть товары с разных отгрузок. А могут и чужой сунуть, мы это тоже должны отслеживать...gopstop2007 писал(а): ↑07 Август 2018, 15:29Все равно не понятно, видать сильно тупой, возвраты по отгрузкам - это недостача при получении товара покупателем или возврат - это копия измененной накладной отгрузки для возврата?
C6/C11, ШВС, tps/btrieve.
-
- ✯ Ветеран ✯
- Сообщения: 1702
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
Update close - выполнить операцию
Теперь более - менее понятно.
Когда 2-5 отгрузки понятно, но если пару сотен, это все накладные отгрузки сводить в одну для сверки возврата, не знаю как это назвать
Вообще то это решается на стороне клиента, проще, например: для клиента свести по накладной отгрузки,что такой возврат, а другой накладной такой возврат... и все проблемы упрощаются.
насчет возврата чужого товара, если аналогичные отгруженному тут надо быть Шерлоком, если товар вообще чужой - по наименованию, как его можно принять?
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Update close - выполнить операцию
Правильно, что не поверил. В методе Kill нет закрытия окна. Оно было до того. Команда post на закрытие окна прописана в методе SetResponse:
То, что окно не закрылось в методе Kill, это, надо понимать, случайность . По правильному, ваш текст нужно написать в методе SetResponse, до Parent Call.WindowManager.SetResponse PROCEDURE(BYTE Response)
CODE
SELF.Response = Response
POST(EVENT:CloseWindow)
IF Response = RequestCancelled AND ~SELF.Toolbar &= NULL
SELF.VCRRequest = VCR:None
END
У меня просто. Если это реализация, то накладная должна быть закрыта либо платежом, либо возвратом товара из этой накладной. Если накладная уже оплачена и есть возврат (например, брак), то просто возвращаются деньги, сам возврат закрывается РКО (ну или банковским расходом). По договорённости с покупателем (речь, естественно, об оптовике), можно закрыть другую накладную. Но с этим сложно, потому что нужно попасть в деньги. По этому только договорённость. У нас ещё есть операция "Обмен". Бывает упрощает проблему возврата. Опять же при наличии товара, подходящего по деньгам.
А где там голова? Базу режете каждые три месяца? В принципе, правильно. Даже "большие" спецы по SQL советуют агрегаты держать для аналитики.
We are hard at work… for you.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
Update close - выполнить операцию
Александр, судя по написанному, снова не поняли. Это как раз покупатель возвращает товары одним документом, а не по каждой отгрузке отдельным. Мы ему не можем диктовать, чтобы указывал для каждого товара, по какой отгрузке он его получил. Розница обычно гораздо менее автоматизирована, чем опт, у них такого учета просто нет. К слову, в 1С именно так и предлагают делать, и это большая проблема при работе, регулярно их пользователи жалуются, но в рекламе про это не пишут (и еще много про чего не пишут).
А товар как принимают при возврате? Заполняют документ на возврат, как ее прислал покупатель. Потом жмут кнопку "Акт на возврат", и программа автоматически определяет, по каким отгрузкам сделан возврат. То есть пишет, отгрузка такая-то от такого-то числа и список товаров с ценой и количеством. Потом по следующей отгрузке. Если отгрузка для товара не найдена (или, скажем, его пытаются вернуть повторно, такое тоже бывает), то список таких товаров выводится в начале акта с пометкой, что не брали товарищи у нас этого... Что делать в случае возврата чужого товара? Решается по ситуации. Если пытаются впендюрить чужой брак (есть умники, которые брак от одного поставщика, который не принимает возвраты, пытаются сбыть другому поставщику), то отказывают в приеме. Если, к примеру, магазин закрывается и отдает товары, чтобы погасить долг, то просто выделяют эти товары отдельной приходной накладной, как закупку.
А товар как принимают при возврате? Заполняют документ на возврат, как ее прислал покупатель. Потом жмут кнопку "Акт на возврат", и программа автоматически определяет, по каким отгрузкам сделан возврат. То есть пишет, отгрузка такая-то от такого-то числа и список товаров с ценой и количеством. Потом по следующей отгрузке. Если отгрузка для товара не найдена (или, скажем, его пытаются вернуть повторно, такое тоже бывает), то список таких товаров выводится в начале акта с пометкой, что не брали товарищи у нас этого... Что делать в случае возврата чужого товара? Решается по ситуации. Если пытаются впендюрить чужой брак (есть умники, которые брак от одного поставщика, который не принимает возвраты, пытаются сбыть другому поставщику), то отказывают в приеме. Если, к примеру, магазин закрывается и отдает товары, чтобы погасить долг, то просто выделяют эти товары отдельной приходной накладной, как закупку.
C6/C11, ШВС, tps/btrieve.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
Update close - выполнить операцию
Ну, не надо фантазировать за меня. Никто базу каждые три месяца не режет. Режут обычно по инициативе клиента, а не из-за технических потребностей. А технически нашу стандартную оптовку с ~25 конкурентными пользователями можно примерно лет 15-20 держать без среза. Дальше или резать, или на битрив. Это же не 1С...
План платежей считает не от царя гороха, а вообще с конца, от текущей задолженности. Все очень быстро. А если специализированный отчет по распределению понадобился, то от ближайшей границы закрытого периода. Тоже не напрягает.
C6/C11, ШВС, tps/btrieve.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
Update close - выполнить операцию
У Вас либо возвратов мало, либо Вы живете в идеальном мире. Даже не знаю, как будут реагировать клиенты, если предложу им отслеживать, оплачен ли возвращаемый товар, а если да, то перечислять куда-то за это деньги...kreator писал(а): ↑07 Август 2018, 15:57 У меня просто. Если это реализация, то накладная должна быть закрыта либо платежом, либо возвратом товара из этой накладной. Если накладная уже оплачена и есть возврат (например, брак), то просто возвращаются деньги, сам возврат закрывается РКО (ну или банковским расходом). По договорённости с покупателем (речь, естественно, об оптовике), можно закрыть другую накладную. Но с этим сложно, потому что нужно попасть в деньги. По этому только договорённость. У нас ещё есть операция "Обмен". Бывает упрощает проблему возврата. Опять же при наличии товара, подходящего по деньгам.
C6/C11, ШВС, tps/btrieve.
-
- ✯ Ветеран ✯
- Сообщения: 1702
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
Update close - выполнить операцию
Спасибо за подробное разъяснение, теперь понял.
У меня не зависимо опт или розница, это смотрится сразу в процессе набора накладной по возвращаемому товару (по кол-ву и наименованию), показывает суммарное количество отгруженого товара (минус предыдущие возвраты) по покупателю.
Спасибо, проверю.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Update close - выполнить операцию
Под "режете" я и имел в виду "закрытие периода". Помню, обсуждали же. Как часто закрытие периода? Сколько нужно держать позиций накладных без закрытия периода, чтобы расчёт остатков по складу/складам не напрягал манагеров?
We are hard at work… for you.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
Update close - выполнить операцию
Закрытие периода - это совсем другое. Физически это создание специального документа, не больше и не меньше. Если он есть и утвержден, то изменения более ранней датой запрещаются. Но этот документ всегда можно выключить и включить, работу пользователей прерывать не надо. Соответсвенно, информация никуда из базы данных не девается.
Если оптовка от 10 и более пользователей, то обычно создают раз в месяц. Но последние несколько месяцев, как правило, держат открытыми. Сколько, кто как, сложно сказать однозначно. Чаще месяца 3 держат, а некоторые любят каждый месяц закрывать. Но ничто не мешает открыть целый год.
Остатки товаров считаются быстро. Больше ресурсов потребляется при расчете движения товаров в разрезе партий закупок. Там тоже все оптимизировано, я тут когда-то ссылку на статью по этому поводу выкладывал. На втором месте по затрату ресурсов - это распределение оплат по отгрузкам и учет возвратов. Там, в основном, с конца расчет. В общем, из жалоб на производительность в последнее время была одна от продуктовой сети. У них большой пересорт, что заметно замедляет расчет партий, и довольно большое количество информации в базе. Отчет по расчету наценки с продаж в разрезе магазинов, ну, минут, 7 делается, с учетом открытого периода 3-4 месяца. Им бы хотелось 5-7 секунд...
C6/C11, ШВС, tps/btrieve.
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Update close - выполнить операцию
Т.е. Вы возвраты привязываете к отгрузке? Или всё равно расчётом? И неужели возвращают товар без накладных на отгрузку? Нигде не видел. Попробуйте в магазин что-нибудь сдать без чека. Конечно на трикотажной фабрике с этим полегче. Товар свой, известный и с маркировкой. Но всё равно, а вдруг один оптовик у другого перекупил. Доверяй, но проверяй.finsoftrz писал(а): ↑07 Август 2018, 16:11 Потом жмут кнопку "Акт на возврат", и программа автоматически определяет, по каким отгрузкам сделан возврат. То есть пишет, отгрузка такая-то от такого-то числа и список товаров с ценой и количеством. Потом по следующей отгрузке. Если отгрузка для товара не найдена (или, скажем, его пытаются вернуть повторно, такое тоже бывает), то список таких товаров выводится в начале акта с пометкой, что не брали товарищи у нас этого...
Любите Вы туману навести. Как будто потенциальным заказчикам рассказываете. Для чего закрытие периода делаете? Чтобы итоги по периоду скинуть в другую таблицу. Правильно? И не лопатить всю текущую таблицу от царя гороха. А просчитать последние три месяца и прибавить остаток на начало данного периода. Вот я и спрашиваю - чтобы клиенту комфортно было по времени, как сделано - по количеству записей или, допустим, жёстко три месяца.finsoftrz писал(а): ↑07 Август 2018, 18:16 Закрытие периода - это совсем другое. Физически это создание специального документа, не больше и не меньше. Если он есть и утвержден, то изменения более ранней датой запрещаются. Но этот документ всегда можно выключить и включить, работу пользователей прерывать не надо. Соответсвенно, информация никуда из базы данных не девается.
We are hard at work… for you.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
Update close - выполнить операцию
Как Вы себе представляете возврат с накладной на отгрузку, если мелкий товар и в одной накладной может быть за сотню строк. И номенклатура десятки тысяч наименований. И магазин затаривается такими товарами раз в неделю. И у нескольких поставщиков с пересекающимися товарами. А при невысокой маржиональности бизнеса магазины не имеют ресурсов для точного парционного учета. Остается либо контролировать возвраты на стороне оптовика, что мы и делаем. Либо отказываться от приема возвратов, если брак не обнаружили сразу при приемке товаров. Как делают некоторые другие поставщики. Это дает нашим клиентам конкурентное преимущество.kreator писал(а): ↑07 Август 2018, 22:22Т.е. Вы возвраты привязываете к отгрузке? Или всё равно расчётом? И неужели возвращают товар без накладных на отгрузку? Нигде не видел. Попробуйте в магазин что-нибудь сдать без чека. Конечно на трикотажной фабрике с этим полегче. Товар свой, известный и с маркировкой. Но всё равно, а вдруг один оптовик у другого перекупил. Доверяй, но проверяй.finsoftrz писал(а): ↑07 Август 2018, 16:11 Потом жмут кнопку "Акт на возврат", и программа автоматически определяет, по каким отгрузкам сделан возврат. То есть пишет, отгрузка такая-то от такого-то числа и список товаров с ценой и количеством. Потом по следующей отгрузке. Если отгрузка для товара не найдена (или, скажем, его пытаются вернуть повторно, такое тоже бывает), то список таких товаров выводится в начале акта с пометкой, что не брали товарищи у нас этого...
Нет, не правильно. Никаких скидываний в другую таблицу при закрытии периода не происходит. Я вроде ясно написал, что закрытие периода - это просто добавление одного документа. С другими документами ничего не происходит, как они были, так и остаются. Открытие периода - это просто изменить байтик в заголовке документа. Повторное закрытие более сложный процесс. Вначале устанавливается флажок блокировки изменений, потом выполняется расчет итогов за период, если были отклонения от предыдущего расчета, то они сохраняются в базе данных, потом устанавливается флажок актуальности итогов за период.kreator писал(а): ↑07 Август 2018, 22:22Любите Вы туману навести. Как будто потенциальным заказчикам рассказываете. Для чего закрытие периода делаете? Чтобы итоги по периоду скинуть в другую таблицу. Правильно? И не лопатить всю текущую таблицу от царя гороха. А просчитать последние три месяца и прибавить остаток на начало данного периода. Вот я и спрашиваю - чтобы клиенту комфортно было по времени, как сделано - по количеству записей или, допустим, жёстко три месяца.finsoftrz писал(а): ↑07 Август 2018, 18:16 Закрытие периода - это совсем другое. Физически это создание специального документа, не больше и не меньше. Если он есть и утвержден, то изменения более ранней датой запрещаются. Но этот документ всегда можно выключить и включить, работу пользователей прерывать не надо. Соответсвенно, информация никуда из базы данных не девается.
Нет никаких привязок ко времени или количеству записей в периоде. Теоретически, можете хоть каждый день закрывать, а можете совсем не закрывать периоды. Программа использует итоги периодов по мере их обнаружения. Пользователь решил, что надо убыстрить построение отчетов, закрывает период. И закрытие одного месяца не так критично убыстряет формирование отчетов, ну, скажем, секунд 30 экономим в типовой оптовке на ~25 пользователей и очень бюджетном сервере.
C6/C11, ШВС, tps/btrieve.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
Update close - выполнить операцию
Расчетом.kreator писал(а): ↑07 Август 2018, 22:22Т.е. Вы возвраты привязываете к отгрузке? Или всё равно расчётом?finsoftrz писал(а): ↑07 Август 2018, 16:11 Потом жмут кнопку "Акт на возврат", и программа автоматически определяет, по каким отгрузкам сделан возврат. То есть пишет, отгрузка такая-то от такого-то числа и список товаров с ценой и количеством. Потом по следующей отгрузке. Если отгрузка для товара не найдена (или, скажем, его пытаются вернуть повторно, такое тоже бывает), то список таких товаров выводится в начале акта с пометкой, что не брали товарищи у нас этого...
C6/C11, ШВС, tps/btrieve.