Список форумов Акцент Акцент
официальный форум разработчика программы Акцент
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

чистка
На страницу 1, 2  След.
 
Начать новую тему   Ответить на тему    Список форумов Акцент -> Акцент 7.0
Предыдущая тема :: Следующая тема  
Автор Сообщение
samarin
Гость





СообщениеДобавлено: Сб Авг 07, 2010 6:31 pm    Заголовок сообщения: чистка Ответить с цитатой

необходимо почистить базу на определенное количество товаров по кодам и датам например:
50001 удалить 100 шт за 8.08.2010
64020 удалить 250 шт за 8.08.2010
и тд.
Товара очень много. Подскажите как можно автоматизировать процесс
Вернуться к началу
olimp
Site Admin


Зарегистрирован: 10.03.2005
Сообщения: 2661

СообщениеДобавлено: Вс Авг 08, 2010 6:21 am    Заголовок сообщения: Re: чистка Ответить с цитатой

samarin писал(а):
необходимо почистить базу на определенное количество товаров по кодам и датам например:
50001 удалить 100 шт за 8.08.2010
64020 удалить 250 шт за 8.08.2010
и тд.
Товара очень много. Подскажите как можно автоматизировать процесс

Написать программу, которая будет это делать. Что, сколько и за когда удалять, можно оформить текстовым файлом.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
samarin
Гость





СообщениеДобавлено: Пн Авг 09, 2010 9:58 pm    Заголовок сообщения: Ответить с цитатой

спасибо за развернутый ответ ))
наверное и так понятно, что нужно писать программу под акцент для автоматической чистки нужных позиций в накладных. Привели бы пример, или натолкнули на мысль.
Я вообще думал написать цикл, который бы по очереди открывал каждую накладную выбитую в определенную дату и удалял по одной позиции товара до тех пор пока не было бы удалено необходимое количество. Но я с акцентом пару дней и для меня это пока не есть просто (во первых даже потому, что я не знаю структуры sql базы, да и хелп для разработчика не слишком просветил). Но это я, человек, пока в этом ничего не смыслящий. Так, что Ув. olimp не отмахивались бы от ответа, а действительно бы подсказали решение.
Вернуться к началу
kris



Зарегистрирован: 12.01.2006
Сообщения: 371

СообщениеДобавлено: Ср Авг 11, 2010 10:51 am    Заголовок сообщения: Ответить с цитатой

А вы хотите вот так прямо чтобы вам ответили? Панацеи, увы, не существует. причина проста как 5 коп: я, например, не знаю какое у вас решение, какие именно накладные, по какому критерию вы хотите удалять строки и т.д.
Так что любой знающий человек на этом форуме может дать вам только очень общие советы:
1. Не зная броду не лезь в воду (не трогайте вы базу пока не разобрались с Акцентом)
2. Лучше поставьте задачу профессионалу. Лично я очень сомневаюсь что можно из реально работающей базы "удалить строчки из накладных" так, чтобы бухгалтер потом не оторвал голову.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AllexL



Зарегистрирован: 10.03.2005
Сообщения: 434
Откуда: Donetsk

СообщениеДобавлено: Ср Авг 11, 2010 11:35 am    Заголовок сообщения: Ответить с цитатой

samarin писал(а):
Так, что Ув. olimp не отмахивались бы от ответа, а действительно бы подсказали решение.

Ув. olimp сказал правильно. Как задача поставлена - так она и решается...
Вы ведь попросили попрочь с конкретным методом - Вам помогли.

Вы ведь боитесь огласить истинные цели данной задачи. Если цель - то, что я подозреваю, то Вы выбрали неправильный метод.

Так что для пущей эффективности лучше огласить, ради чего весь сыр-бор. Тогда Вам и помогут.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
samarin
Гость





СообщениеДобавлено: Ср Авг 11, 2010 3:20 pm    Заголовок сообщения: Ответить с цитатой

Цитата:
Вы ведь боитесь огласить истинные цели данной задачи. Если цель - то, что я подозреваю, то Вы выбрали неправильный метод.

Так что для пущей эффективности лучше огласить, ради чего весь сыр-бор. Тогда Вам и помогут.


Почему же тут никакого секрета нет. Причин аж несколько: первая состоит в том, что акцент не обращая внимания на остатки на складе разрешает бить товар в минус, после чего в конце рабочего дня приходится удалять позиции, которые ушли в минус, вручную. Вторая же причина - это ошибки при доставке товаров. Например накладные на доставку уже выбиты, а товар приходит не в том количестве и рабочим приходится опять чистить данные накладные.
Вернуться к началу
olimp
Site Admin


Зарегистрирован: 10.03.2005
Сообщения: 2661

СообщениеДобавлено: Ср Авг 11, 2010 8:16 pm    Заголовок сообщения: Ответить с цитатой

samarin писал(а):
Цитата:
Вы ведь боитесь огласить истинные цели данной задачи. Если цель - то, что я подозреваю, то Вы выбрали неправильный метод.

Так что для пущей эффективности лучше огласить, ради чего весь сыр-бор. Тогда Вам и помогут.


Почему же тут никакого секрета нет. Причин аж несколько: первая состоит в том, что акцент не обращая внимания на остатки на складе разрешает бить товар в минус, после чего в конце рабочего дня приходится удалять позиции, которые ушли в минус, вручную. Вторая же причина - это ошибки при доставке товаров. Например накладные на доставку уже выбиты, а товар приходит не в том количестве и рабочим приходится опять чистить данные накладные.

Акценту все равно. За учетную политику должно отвечать конкретное приложение. Все стандартные прикладные решение поддерживают списание и контроль количества. Начиная с версии Акцента 4.2
Я вот тут подумал, может стоит попробовать сторнировать количество и не нужно писать никакие программы ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
samarin
Гость





СообщениеДобавлено: Вт Авг 31, 2010 3:36 pm    Заголовок сообщения: Ответить с цитатой

так как насчет вопроса? кто-то поможет?
Вернуться к началу
AllexL



Зарегистрирован: 10.03.2005
Сообщения: 434
Откуда: Donetsk

СообщениеДобавлено: Вт Авг 31, 2010 3:54 pm    Заголовок сообщения: Ответить с цитатой

samarin писал(а):
так как насчет вопроса? кто-то поможет?

Хм--м-м-м... А все-таки, "кто-то" напишет ТЗ? Опишет систему? настройку? Опишет причины, по которым образовались отрицательные остатки? опишет метод списания?

Имхо, Вы не представляете себе последствия спонтанной помощи чьей-нибудь доброй души....
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
samarin
Гость





СообщениеДобавлено: Вт Авг 31, 2010 4:06 pm    Заголовок сообщения: Ответить с цитатой

несколько топиков вверх описывал причины данной затеи
Цитата:
Причин аж несколько: первая состоит в том, что акцент не обращая внимания на остатки на складе разрешает бить товар в минус, после чего в конце рабочего дня приходится удалять позиции, которые ушли в минус, вручную. Вторая же причина - это ошибки при доставке товаров. Например накладные на доставку уже выбиты, а товар приходит не в том количестве и рабочим приходится опять чистить данные накладные.

метод списания: никакого метода,никакого списания, просто открываются накладные и вручную удаляются позиции.
Вернуться к началу
AllexL



Зарегистрирован: 10.03.2005
Сообщения: 434
Откуда: Donetsk

СообщениеДобавлено: Вт Авг 31, 2010 4:18 pm    Заголовок сообщения: Ответить с цитатой

samarin писал(а):
метод списания: никакого метода,никакого списания, просто открываются накладные и вручную удаляются позиции.

Пожалуйста, прочтите Методы учета запасов перед тем, как просто говорить "никакого метода,никакого списания, просто открываются накладные и вручную удаляются позиции."(с)
Вы четко отдаете себе отчет о последствия таких действий для бухгалтерских данных?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
samarin
Гость





СообщениеДобавлено: Вт Авг 31, 2010 5:16 pm    Заголовок сообщения: Ответить с цитатой

AllexL, так как программа позволяет бить в накладных товар, при этом угоняя склад в минус, вот от минусов и приходится избавлятся. Скажите мне, пожалуйста, причем тут бухгалтерские данные? ведь по бухгалтерии проходит только реальный товар, а товар которого фактически на утро нет и должен быть удален с заказов на отгрузку.

Хорошо, можно пойти другой дорогой: сделать проверку наличия товара на складе по остаткам, если его нет в остатках то запрещать его бить. В таком случае и чистить накладные на утро не прийдется.
Вернуться к началу
AllexL



Зарегистрирован: 10.03.2005
Сообщения: 434
Откуда: Donetsk

СообщениеДобавлено: Вт Авг 31, 2010 6:27 pm    Заголовок сообщения: Ответить с цитатой

samarin писал(а):
Хорошо, можно пойти другой дорогой: сделать проверку наличия товара на складе по остаткам, если его нет в остатках то запрещать его бить. В таком случае и чистить накладные на утро не прийдется.


Вернемся к началу.
1.Какая версия Акцента, редакция (DAO, SQL)? Какая настройка? (Стандарт7, Стандарт 6? 7.4? Сторонняя настройка?)
Какой метод учета выбран (FIFO, индентифицированный)?

Если Вы затрудняетесь ответить на вопрос, пришлите хотя бы скриншот "Расходной накладной", а еще желательно выложить текст кода для формы (но только если Вы не знаете, какая именно настройка у Вас)

2. Постройте остатки в разрезе партий по счету, на котором учитываются ТМЦ. Посмотрите, есть ли остатки как таковые....

3. Что происходит в момент, когда сохраняется документ "Расходная накладная", в котором задано количество , заведомо превышающее имеющееся на складе по какой-то конкретной номенклатуре?


4. "чистить накладные на утро не прийдется"(с), если разобраться с функционированием системы при условии, что в системе не покопался "чрезвычайно талантливый специалист"....
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
samarin
Гость





СообщениеДобавлено: Вт Авг 31, 2010 7:47 pm    Заголовок сообщения: Ответить с цитатой

Цитата:
1.Какая версия Акцента, редакция (DAO, SQL)? Какая настройка? (Стандарт7, Стандарт 6? 7.4? Сторонняя настройка?)
Какой метод учета выбран (FIFO, индентифицированный)?

версия 7.0 sql
метод учета FIFO
насчет настройки - скрин прилагаю
http://imagesbase.com/upload/friend_link?i=nakladnaya_128327664__hpstz13568.jpg
Цитата:
2. Постройте остатки в разрезе партий по счету, на котором учитываются ТМЦ. Посмотрите, есть ли остатки как таковые....

есть
Цитата:
3. Что происходит в момент, когда сохраняется документ "Расходная накладная", в котором задано количество , заведомо превышающее имеющееся на складе по какой-то конкретной номенклатуре?

ничего не происходит, накладная сохраняется, а товар уходит в минус только после перемещения. Этот минус потом и приходится возвращать к нулю вручную удаляя позиции

Цитата:
4. "чистить накладные на утро не прийдется"(с), если разобраться с функционированием системы при условии, что в системе не покопался "чрезвычайно талантливый специалист"....

на это и надеюсь
Вернуться к началу
nikman



Зарегистрирован: 10.03.2005
Сообщения: 786
Откуда: Украина, Донецк

СообщениеДобавлено: Вт Авг 31, 2010 11:24 pm    Заголовок сообщения: Ответить с цитатой

Признаться, не представляю себе, чтобы человек, который еще недостаточно знаком с программированием под Акцент,
самостоятельно написал достаточно аккуратную программку, которая выполнит поставленную задачу.
Но раз человек решил за это взяться и просит совета, почему бы не дать ему то, что он просит.

1. Лучше не беритесь, а пригласите специалиста. Smile
2. Обязательно сделайте резервную копию базы, перед тем как что-то запускать.
3. Желательно сделайто копию базы и потренируйтесь на ней сначала.
4. Лучше не делайте это напрямую через SQL-запросы.
В Вашем случае все можно сделать через объектную модель. Будет дольше, но надежнее.
5. Для начала сделайте для 1 товара за 1 день.
Если сделаете это -- сможете и расширить до перечня товаров за период.

Программка будет содержать следующие моменты:
1. Перечень документов за период (за день).
Отчет RepDocList:
Код:
   Dim rep
   Dim i, op
   Set rep = Workarea.CreateReport("RepDocList");

   rep.Kind = acFolder
   rep.KindID = (id папки)
   rep.Build
   rep.MakeSheet True
   
   For i = 1 To rep.Count
      Set Op = Workarea.Operation(rep.Item(i).ID)
      .........
   Next
2. Далее придется сообразить, каким образом аккуратно распределить
удаление 500 штук в, например, 10 документах.
Как вариант -- пройтись по документам, посчитать общее кол-во
этого товара, получится, например 5000 штук.
Тогда в каждой накладной вам необходимо будет
уменьшить кол-во на 10%

3. Для каждого документа проходите по первой проводке
Код:
For i = 1 to Op.TransList(1).Rows
   With Op.Trans(1,i)
      if  .EntID = (id удаляемого) then
         .Qty = Round2(.Qty/10,0)
         .Sum = Round2(.Price * .Qty,2)
      end if
   end with
Next
Op.Save
5.После этого у вас наверняка появится небольшое расхождение,
в связи с округлением, но с этим вы, я думаю, разберетесь.
В последнем документе его можно будет устранить.

4. Запустить перепроведение исправленых документов за период (за день).

Удачи! Хотя и не советую. Smile


Последний раз редактировалось: nikman (Ср Сен 01, 2010 3:16 am), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail AIM Address MSN Messenger
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Акцент -> Акцент 7.0 Часовой пояс: GMT + 2
На страницу 1, 2  След.
Страница 1 из 2

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group