13.09.2021 13:53
Добрый день.
С недавнего времени решили следить за задолженностью поставщику в СМ+ (скрин 1). В приходной накладной есть специальное поле для этих целей (скрин 2).
Проблема в том, что не через платежи следить, а руками редактировать данное поле. Наступил день Х, стали следить, а вот старые документы никуда не делить.
Отобрали по фильтру с начала года и там больше 21 тысячи документов, руками такое выправить очень сложно.
Можно как-то массово обработать приходные документы, что бы убрать галочку (скрин 2) "оплата по док. "Платёж"" и занулить поле о задолженности?

СМ 1.026.1 SP3
Миниатюры
Нажмите на изображение для увеличения
Название: 1.PNG
Просмотров: 39
Размер:	17.8 Кб
ID:	11543   Нажмите на изображение для увеличения
Название: 2.PNG
Просмотров: 50
Размер:	14.4 Кб
ID:	11544  
13.09.2021 14:06
Думаю, что можно.
Есть описание структуры базы данных. Читаешь, изучаешь, пишешь скрипт. Последствия такого разрыва связей пока не очень понятны. То есть, что со старыми документами должно происходить? Там же и платежи, наверное, какие-то были? Просто забыть и начать с нуля?
13.09.2021 14:08
Сейчас тебе никто скрипт не напишет - структура базы сильно поменялась в связи с появлением документа Финансовое обязательство.
Так что только самому изучать структуру и сами данные.
13.09.2021 14:14
Цитата:
OlegON Думаю, что можно.
Есть описание структуры базы данных. Читаешь, изучаешь, пишешь скрипт. Последствия такого разрыва связей пока не очень понятны. То есть, что со старыми документами должно происходить? Там же и платежи, наверное, какие-то были? Просто забыть и начать с нуля?
Да, всё начинается с нуля. Может и было, что-то но отрезалось и забыто.

Цитата:
Mtirt Сейчас тебе никто скрипт не напишет - структура базы сильно поменялась в связи с появлением документа Финансовое обязательство.
Так что только самому изучать структуру и сами данные.
Я понимаю что скрипт никто не напишет. Хотя бы пнуть в нужном направлении, что бы летелось подальше.
Не силён в SQL совсем.
13.09.2021 14:23
Если время терпит, то ставишь себе какой-нибудь SQL Navigator и на тестовой базе изучаешь, что да как. Через месяц сделаешь, это не настолько трудно.
Если срочно - пинай руководство, пусть деньги выделяют и ищи, кто согласится повозиться. Иначе напортачишь...
13.09.2021 15:11
У меня база старая, могу помочь.

Навскидку - галка оплаты документом это записи
SQL код:
select * 
  from supermag.smdocprops sdp
where sdp.paramname IN ('ROEO.WIuseEO', 'ROEO.WOuseRO') 
Их удаление уберет галки в приходных/расходных

Задолженность
SQL код:
select WI.doctype, WI.id, WI.Debt
  from supermag.SMWayBillsIn WI
where WI.Debt<>0
union all
select WO.doctype, WO.id, WO.Debt
  from supermag.SMWayBillsOut WO
where WO.Debt<>0 
Обнулить .Debt

А платежи были? Если есть связанные платежи, то их сначала удалить штатно.
У вас обрезка вроде была, но что она с платежами и задолженностями делает я не в курсе.
13.09.2021 16:24
Цитата:
OlegON Если время терпит, то ставишь себе какой-нибудь SQL Navigator и на тестовой базе изучаешь, что да как. Через месяц сделаешь, это не настолько трудно.
Если срочно - пинай руководство, пусть деньги выделяют и ищи, кто согласится повозиться. Иначе напортачишь...
Так и сделаю.

Цитата:
vdm У меня база старая, могу помочь.

Навскидку - галка оплаты документом это записи
SQL код:
select * 
  from supermag.smdocprops sdp
where sdp.paramname IN ('ROEO.WIuseEO', 'ROEO.WOuseRO') 
Их удаление уберет галки в приходных/расходных

Задолженность
SQL код:
select WI.doctype, WI.id, WI.Debt
  from supermag.SMWayBillsIn WI
where WI.Debt<>0
union all
select WO.doctype, WO.id, WO.Debt
  from supermag.SMWayBillsOut WO
where WO.Debt<>0 
Обнулить .Debt

А платежи были? Если есть связанные платежи, то их сначала удалить штатно.
У вас обрезка вроде была, но что она с платежами и задолженностями делает я не в курсе.
Огромное спасибо за информацию, будем копать
13.09.2021 16:25
Цитата:
vdm А платежи были? Если есть связанные платежи, то их сначала удалить штатно.
У вас обрезка вроде была, но что она с платежами и задолженностями делает я не в курсе.
Нет, ранее платежами не пользовались.
Часовой пояс GMT +3, время: 22:18.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.