PDA

Просмотр полной версии : ошибка Storehouse 3.3.4при закрытии ревизии



kimok
06.01.2011, 09:30
при сохранении документа выходит ошибка и не дает сохранить документ:mad:

SH
06.01.2011, 11:31
При сохранении какого документа?
Вообще, ошибка довольно плохая. Смысл ее в том, что у Вас в базе появились какие-то сущности (обычно это блюда) с совпадающими шифрами. Шифры внутренние, по которым работает база данных, поэтому просто так это не поправить.
В случаях, когда я с этим встречался, причина была такая: какое-то блюдо вручную перемещалось в другую группу; после чего делался импорт из R-Keeper и в исходной группе вновь появлялось такое блюдо; после этого имеем два одинаковых с точки зрения БД блюда в разных группах, и, например, документ расхода с любым из этих блюд вешается, так как не знает, какое из них ему надо использовать - шифры-то одинаковые.
Вне зависимости от причины появления этой ошибки конкретно у Вас, вряд ли удастся ее поправить доступными методами через интерфейс Shouse, скорее всего после выяснения причины потребуется брать в руки инструмент типа IBExpert и аккуратно ковырять базу.

kimok
06.01.2011, 12:18
других методов нету?

SH
06.01.2011, 12:33
За неимением более подробной информации больше сказать нечего.

kimok
06.01.2011, 12:41
получается что когда сохранение делаешь то останавливается на Ликере и выходит окно и пипец, как появится новая инфа , отпишусь , спасибо что помогли

VampireKB
06.01.2011, 19:43
Сделать резервную копию базы,зайти в SHCHECK.EXE ,произвести запросы согласно инструкции


IB -811: multiple rows in singleton select -появляется при импорте меню из R-Keeper в S-House (обозначает, что есть задублированные RK_SIFR)
select * from Dishes2 a , Dishes2 b where a.RID< b.RID and a.RK_SIFR = b.RK_SIFR and
a.MENU_GROUP_REF = B.MENU_GROUP_REF
select * from Dishes2 a , Dishes2 b where a.RID<> b.RID and a.RK_SIFR = b.RK_SIFR and
a.MENU_GROUP_REF = B.MENU_GROUP_REF
после выполнения этого скрипта появиться список блюд, в которых задублированы RK_SIFR
устанавливаем RK_SIFR этих блюд в null
update Dishes2 set RK_SIFR=null where rid in (<перечень через запятую RID-ов тех блюд, которые выбрались в предыдущем запросе >)
*********
могут быть задублированны группы блюд (таблица DISH_GROUPS)
выполняем:
select * from Dish_groups a , Dish_groups b where a.RID<> b.RID and a.RK_SIFR = b.RK_SIFR and
a.MENU_GROUP_REF = B.MENU_GROUP_REF
после выполнения этого скрипта появиться список групп, в которых задублированы RK_SIFR
устанавливаем RK_SIFR этих групп в null
update dish_groups set rk_sifr = null where rid in (<перечень через запятую RID-ов тех групп, которые выбрались в предыдущем запросе >)

З.Ы. если я верно помню SQL манагер открывается,при сочетании клавишь ctrl+shift+i

SH
06.01.2011, 22:30
VampireKB, точно, а я и забыл в шпаргалку заглянуть. Впрочем, это должен был сделать автор темы :)

kimok
07.01.2011, 13:09
спасибо большое буду пробывать