财务管理系统.sql
上传用户:hjieqiu
上传日期:2013-05-11
资源大小:16494k
文件大小:25k
源码类别:

企业管理

开发平台:

C#

  1. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[分录表_凭证编号_fk]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
  2. ALTER TABLE [dbo].[分录表] DROP CONSTRAINT 分录表_凭证编号_fk
  3. GO
  4. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[分录表_科目代码_fk]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
  5. ALTER TABLE [dbo].[分录表] DROP CONSTRAINT 分录表_科目代码_fk
  6. GO
  7. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[本年分类账簿_科目代码_fk]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
  8. ALTER TABLE [dbo].[本年分类账簿] DROP CONSTRAINT 本年分类账簿_科目代码_fk
  9. GO
  10. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[本年明细账簿_科目代码_fk]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
  11. ALTER TABLE [dbo].[本年明细账簿] DROP CONSTRAINT 本年明细账簿_科目代码_fk
  12. GO
  13. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[本期分类账簿_科目代码_fk]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
  14. ALTER TABLE [dbo].[本期分类账簿] DROP CONSTRAINT 本期分类账簿_科目代码_fk
  15. GO
  16. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[本期明细账簿_科目代码_fk]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
  17. ALTER TABLE [dbo].[本期明细账簿] DROP CONSTRAINT 本期明细账簿_科目代码_fk
  18. GO
  19. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[分录表temp_科目代码_fk]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
  20. ALTER TABLE [dbo].[分录表temp] DROP CONSTRAINT 分录表temp_科目代码_fk
  21. GO
  22. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[分录表历史_科目代码_fk]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
  23. ALTER TABLE [dbo].[分录表历史] DROP CONSTRAINT 分录表历史_科目代码_fk
  24. GO
  25. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[科目余额表_科目代码_fk]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
  26. ALTER TABLE [dbo].[科目余额表] DROP CONSTRAINT 科目余额表_科目代码_fk
  27. GO
  28. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[历史分类账簿_科目代码_fk]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
  29. ALTER TABLE [dbo].[历史分类账簿] DROP CONSTRAINT 历史分类账簿_科目代码_fk
  30. GO
  31. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[历史明细账簿_科目代码_fk]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
  32. ALTER TABLE [dbo].[历史明细账簿] DROP CONSTRAINT 历史明细账簿_科目代码_fk
  33. GO
  34. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[项目科目对照表_科目代码_fk]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
  35. ALTER TABLE [dbo].[项目科目对照表] DROP CONSTRAINT 项目科目对照表_科目代码_fk
  36. GO
  37. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sf_pz凭证删除后]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
  38. drop procedure [dbo].[sf_pz凭证删除后]
  39. GO
  40. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sf_pz凭证录入]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
  41. drop procedure [dbo].[sf_pz凭证录入]
  42. GO
  43. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sf_pz凭证过账]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
  44. drop procedure [dbo].[sf_pz凭证过账]
  45. GO
  46. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sf_pz调整凭证表]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
  47. drop procedure [dbo].[sf_pz调整凭证表]
  48. GO
  49. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[凭证表]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  50. drop table [dbo].[凭证表]
  51. GO
  52. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[凭证表temp]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  53. drop table [dbo].[凭证表temp]
  54. GO
  55. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[凭证表历史]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  56. drop table [dbo].[凭证表历史]
  57. GO
  58. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[分录表]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  59. drop table [dbo].[分录表]
  60. GO
  61. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[分录表temp]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  62. drop table [dbo].[分录表temp]
  63. GO
  64. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[分录表历史]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  65. drop table [dbo].[分录表历史]
  66. GO
  67. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[功能模块]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  68. drop table [dbo].[功能模块]
  69. GO
  70. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[历史分类账簿]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  71. drop table [dbo].[历史分类账簿]
  72. GO
  73. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[历史明细账簿]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  74. drop table [dbo].[历史明细账簿]
  75. GO
  76. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[报表清单]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  77. drop table [dbo].[报表清单]
  78. GO
  79. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[报表项目清单]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  80. drop table [dbo].[报表项目清单]
  81. GO
  82. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[损益表]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  83. drop table [dbo].[损益表]
  84. GO
  85. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[本年分类账簿]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  86. drop table [dbo].[本年分类账簿]
  87. GO
  88. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[本年明细账簿]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  89. drop table [dbo].[本年明细账簿]
  90. GO
  91. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[本期分类账簿]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  92. drop table [dbo].[本期分类账簿]
  93. GO
  94. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[本期明细账簿]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  95. drop table [dbo].[本期明细账簿]
  96. GO
  97. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[权限登记]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  98. drop table [dbo].[权限登记]
  99. GO
  100. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[状态表]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  101. drop table [dbo].[状态表]
  102. GO
  103. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[科目余额表]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  104. drop table [dbo].[科目余额表]
  105. GO
  106. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[科目表]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  107. drop table [dbo].[科目表]
  108. GO
  109. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[组别清单]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  110. drop table [dbo].[组别清单]
  111. GO
  112. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[职工清单]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  113. drop table [dbo].[职工清单]
  114. GO
  115. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[部门清单]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  116. drop table [dbo].[部门清单]
  117. GO
  118. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[项目科目对照表]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  119. drop table [dbo].[项目科目对照表]
  120. GO
  121. CREATE TABLE [dbo].[凭证表] (
  122. [内部编号] [int] NULL ,
  123. [凭证状态] [char] (10) NULL ,
  124. [会计期间] [int] NULL ,
  125. [凭证字号] [char] (4) NULL ,
  126. [凭证编号] [int] NOT NULL ,
  127. [顺序号] [int] NULL ,
  128. [日期] [char] (10) NULL ,
  129. [附单据] [int] NULL ,
  130. [审核] [char] (20) NULL ,
  131. [过账] [char] (20) NULL ,
  132. [制单] [char] (20) NULL ,
  133. [借方合计] [money] NULL ,
  134. [贷方合计] [money] NULL ,
  135. [过账状态] [char] (4) NULL ,
  136. [顺序号码] [int] IDENTITY (1, 1) NOT NULL 
  137. ) ON [PRIMARY]
  138. GO
  139. CREATE TABLE [dbo].[凭证表temp] (
  140. [内部编号] [int] NULL ,
  141. [凭证状态] [char] (10) NULL ,
  142. [会计期间] [int] NULL ,
  143. [凭证字号] [char] (4) NULL ,
  144. [凭证编号] [int] NULL ,
  145. [顺序号] [int] NULL ,
  146. [日期] [char] (10) NULL ,
  147. [附单据] [int] NULL ,
  148. [审核] [char] (20) NULL ,
  149. [过账] [char] (20) NULL ,
  150. [制单] [char] (20) NULL ,
  151. [借方合计] [money] NULL ,
  152. [贷方合计] [money] NULL ,
  153. [顺序号码] [int] IDENTITY (1, 1) NOT NULL 
  154. ) ON [PRIMARY]
  155. GO
  156. CREATE TABLE [dbo].[凭证表历史] (
  157. [内部编号] [int] NULL ,
  158. [凭证状态] [char] (10) NULL ,
  159. [会计期间] [int] NULL ,
  160. [凭证字号] [char] (4) NULL ,
  161. [凭证编号] [int] NULL ,
  162. [顺序号] [int] NULL ,
  163. [日期] [char] (10) NULL ,
  164. [附单据] [int] NULL ,
  165. [审核] [char] (20) NULL ,
  166. [过账] [char] (20) NULL ,
  167. [制单] [char] (20) NULL ,
  168. [借方合计] [money] NULL ,
  169. [贷方合计] [money] NULL ,
  170. [过账状态] [char] (4) NULL ,
  171. [顺序号码] [int] IDENTITY (1, 1) NOT NULL 
  172. ) ON [PRIMARY]
  173. GO
  174. CREATE TABLE [dbo].[分录表] (
  175. [内部编号] [int] IDENTITY (1, 1) NOT NULL ,
  176. [分录编号] [int] NULL ,
  177. [会计期间] [int] NULL ,
  178. [凭证字号] [char] (4) NULL ,
  179. [凭证编号] [int] NOT NULL ,
  180. [摘要] [char] (40) NULL ,
  181. [科目代码] [char] (20) NULL ,
  182. [借方] [money] NULL ,
  183. [贷方] [money] NULL ,
  184. [数量] [int] NULL ,
  185. [单价] [money] NULL ,
  186. [结算方式] [char] (10) NULL ,
  187. [结算号] [int] NULL ,
  188. [结算日期] [char] (10) NULL 
  189. ) ON [PRIMARY]
  190. GO
  191. CREATE TABLE [dbo].[分录表temp] (
  192. [内部编号] [int] IDENTITY (1, 1) NOT NULL ,
  193. [分录编号] [int] NULL ,
  194. [会计期间] [int] NULL ,
  195. [凭证字号] [char] (4) NULL ,
  196. [凭证编号] [int] NULL ,
  197. [摘要] [char] (40) NULL ,
  198. [科目代码] [char] (20) NULL ,
  199. [借方] [money] NULL ,
  200. [贷方] [money] NULL ,
  201. [数量] [int] NULL ,
  202. [单价] [money] NULL ,
  203. [结算方式] [char] (10) NULL ,
  204. [结算号] [int] NULL ,
  205. [结算日期] [char] (10) NULL ,
  206. [附单据] [int] NULL ,
  207. [顺序号码] [int] NULL 
  208. ) ON [PRIMARY]
  209. GO
  210. CREATE TABLE [dbo].[分录表历史] (
  211. [内部编号] [int] IDENTITY (1, 1) NOT NULL ,
  212. [分录编号] [int] NULL ,
  213. [会计期间] [int] NULL ,
  214. [凭证字号] [char] (4) NULL ,
  215. [凭证编号] [int] NULL ,
  216. [摘要] [char] (40) NULL ,
  217. [科目代码] [char] (20) NULL ,
  218. [借方] [money] NULL ,
  219. [贷方] [money] NULL ,
  220. [数量] [int] NULL ,
  221. [单价] [money] NULL ,
  222. [结算方式] [char] (10) NULL ,
  223. [结算号] [int] NULL ,
  224. [结算日期] [char] (10) NULL 
  225. ) ON [PRIMARY]
  226. GO
  227. CREATE TABLE [dbo].[功能模块] (
  228. [模块编号] [char] (50) NOT NULL ,
  229. [组别] [char] (20) NOT NULL ,
  230. [模块] [char] (20) NOT NULL ,
  231. [描述] [varchar] (100) NULL ,
  232. [模块类型] [int] NOT NULL ,
  233. [程序文件] [varchar] (100) NULL ,
  234. [菜单文件] [varchar] (100) NULL ,
  235. [打印文件] [varchar] (100) NULL ,
  236. [记帐参数] [varchar] (250) NULL ,
  237. [打印参数] [varchar] (250) NULL 
  238. ) ON [PRIMARY]
  239. GO
  240. CREATE TABLE [dbo].[历史分类账簿] (
  241. [科目代码] [char] (20) NULL ,
  242. [期初余额] [char] (1) NULL ,
  243. [本期借方合计] [money] NULL ,
  244. [本期贷方合计] [money] NULL ,
  245. [本年借方累计] [money] NULL ,
  246. [本年贷方累计] [money] NULL ,
  247. [余额] [char] (1) NULL ,
  248. [摘要] [char] (40) NULL 
  249. ) ON [PRIMARY]
  250. GO
  251. CREATE TABLE [dbo].[历史明细账簿] (
  252. [内部编号] [int] IDENTITY (1, 1) NOT NULL ,
  253. [分录编号] [int] NULL ,
  254. [会计期间] [int] NULL ,
  255. [凭证字号] [char] (4) NULL ,
  256. [凭证编号] [int] NULL ,
  257. [摘要] [char] (40) NULL ,
  258. [科目代码] [char] (20) NULL ,
  259. [借方] [money] NULL ,
  260. [贷方] [money] NULL ,
  261. [数量] [int] NULL ,
  262. [单价] [money] NULL ,
  263. [结算方式] [char] (10) NULL ,
  264. [结算号] [int] NULL ,
  265. [结算日期] [char] (10) NULL 
  266. ) ON [PRIMARY]
  267. GO
  268. CREATE TABLE [dbo].[报表清单] (
  269. [报表编号] [int] NULL ,
  270. [报表名称] [char] (40) NULL 
  271. ) ON [PRIMARY]
  272. GO
  273. CREATE TABLE [dbo].[报表项目清单] (
  274. [报表编号] [int] NULL ,
  275. [报表名称] [char] (40) NULL ,
  276. [项目代码] [int] NULL ,
  277. [项目名称] [char] (40) NULL ,
  278. [行号] [int] NULL ,
  279. [计算方法] [char] (10) NULL ,
  280. [内部编号] [int] IDENTITY (1, 1) NOT NULL 
  281. ) ON [PRIMARY]
  282. GO
  283. CREATE TABLE [dbo].[损益表] (
  284. [项目] [char] (40) NULL ,
  285. [行号] [int] NULL ,
  286. [本月数] [money] NULL ,
  287. [本年累计数] [money] NULL ,
  288. [年份] [datetime] NULL ,
  289. [会计期间] [int] NULL ,
  290. [最后结算日期] [datetime] NULL ,
  291. [内部编号] [int] NULL 
  292. ) ON [PRIMARY]
  293. GO
  294. CREATE TABLE [dbo].[本年分类账簿] (
  295. [科目代码] [char] (20) NULL ,
  296. [期初余额] [char] (1) NULL ,
  297. [本期借方合计] [money] NULL ,
  298. [本期贷方合计] [money] NULL ,
  299. [本年借方累计] [money] NULL ,
  300. [本年贷方累计] [money] NULL ,
  301. [余额] [char] (1) NULL ,
  302. [摘要] [char] (40) NULL 
  303. ) ON [PRIMARY]
  304. GO
  305. CREATE TABLE [dbo].[本年明细账簿] (
  306. [内部编号] [int] IDENTITY (1, 1) NOT NULL ,
  307. [分录编号] [int] NULL ,
  308. [会计期间] [int] NULL ,
  309. [凭证字号] [char] (4) NULL ,
  310. [凭证编号] [int] NULL ,
  311. [摘要] [char] (40) NULL ,
  312. [科目代码] [char] (20) NULL ,
  313. [借方] [money] NULL ,
  314. [贷方] [money] NULL ,
  315. [数量] [int] NULL ,
  316. [单价] [money] NULL ,
  317. [结算方式] [char] (10) NULL ,
  318. [结算号] [int] NULL ,
  319. [结算日期] [char] (10) NULL 
  320. ) ON [PRIMARY]
  321. GO
  322. CREATE TABLE [dbo].[本期分类账簿] (
  323. [科目代码] [char] (20) NULL ,
  324. [期初余额] [char] (1) NULL ,
  325. [本期借方合计] [money] NULL ,
  326. [本期贷方合计] [money] NULL ,
  327. [本年借方累计] [money] NULL ,
  328. [本年贷方累计] [money] NULL ,
  329. [余额] [char] (1) NULL ,
  330. [摘要] [char] (40) NULL 
  331. ) ON [PRIMARY]
  332. GO
  333. CREATE TABLE [dbo].[本期明细账簿] (
  334. [内部编号] [int] IDENTITY (1, 1) NOT NULL ,
  335. [分录编号] [int] NULL ,
  336. [会计期间] [int] NULL ,
  337. [凭证字号] [char] (4) NULL ,
  338. [凭证编号] [int] NULL ,
  339. [摘要] [char] (40) NULL ,
  340. [科目代码] [char] (20) NULL ,
  341. [借方] [money] NULL ,
  342. [贷方] [money] NULL ,
  343. [余额方向] [char] (4) NULL ,
  344. [余额] [money] NULL ,
  345. [数量] [int] NULL ,
  346. [单价] [money] NULL ,
  347. [结算方式] [char] (10) NULL ,
  348. [结算号] [int] NULL ,
  349. [结算日期] [char] (10) NULL ,
  350. [余额标记] [char] (4) NULL 
  351. ) ON [PRIMARY]
  352. GO
  353. CREATE TABLE [dbo].[权限登记] (
  354. [权限序号] [int] NOT NULL ,
  355. [编号] [char] (6) NOT NULL ,
  356. [编号类型] [int] NOT NULL ,
  357. [模块编号] [char] (10) NOT NULL ,
  358. [选中标记] [char] (1) NULL 
  359. ) ON [PRIMARY]
  360. GO
  361. CREATE TABLE [dbo].[状态表] (
  362. [内部编号] [int] IDENTITY (1, 1) NOT NULL ,
  363. [会计期间] [int] NULL ,
  364. [凭证字号] [char] (4) NULL ,
  365. [编号] [int] NULL ,
  366. [顺序号] [int] NULL ,
  367. [分录编号] [int] NULL 
  368. ) ON [PRIMARY]
  369. GO
  370. CREATE TABLE [dbo].[科目余额表] (
  371. [科目代码] [char] (20) NULL ,
  372. [期初借方余额] [money] NULL ,
  373. [期初贷方余额] [money] NULL ,
  374. [本期借方发生额] [money] NULL ,
  375. [本期贷方发生额] [money] NULL ,
  376. [本年借方累计发生额] [money] NULL ,
  377. [本年贷方累计发生额] [money] NULL ,
  378. [本期借方余额] [money] NULL ,
  379. [本期贷方余额] [money] NULL ,
  380. [最后结算分录] [int] NULL ,
  381. [会计期间] [int] NULL ,
  382. [余额方向] [char] (4) NULL ,
  383. [内部编号] [int] IDENTITY (1, 1) NOT NULL 
  384. ) ON [PRIMARY]
  385. GO
  386. CREATE TABLE [dbo].[科目表] (
  387. [科目代码] [char] (20) NOT NULL ,
  388. [科目名称] [char] (20) NULL ,
  389. [助记码] [char] (20) NULL ,
  390. [科目类别] [char] (20) NULL ,
  391. [是否存货科目] [char] (10) NULL ,
  392. [余额方向] [char] (4) NULL ,
  393. [数量单位] [char] (10) NULL 
  394. ) ON [PRIMARY]
  395. GO
  396. CREATE TABLE [dbo].[组别清单] (
  397. [组别编号] [char] (6) NOT NULL ,
  398. [部门编号] [char] (6) NOT NULL ,
  399. [组别名称] [varchar] (50) NOT NULL 
  400. ) ON [PRIMARY]
  401. GO
  402. CREATE TABLE [dbo].[职工清单] (
  403. [职工编号] [char] (6) NOT NULL ,
  404. [组别编号] [char] (6) NOT NULL ,
  405. [姓名] [char] (10) NOT NULL ,
  406. [性别] [char] (2) NOT NULL ,
  407. [职务] [char] (10) NULL ,
  408. [密码] [char] (10) NULL 
  409. ) ON [PRIMARY]
  410. GO
  411. CREATE TABLE [dbo].[部门清单] (
  412. [部门编号] [char] (6) NOT NULL ,
  413. [部门名称] [char] (30) NOT NULL ,
  414. [部门类型] [int] NOT NULL ,
  415. [远程用户号] [int] NULL ,
  416. [用户名] [char] (15) NULL ,
  417. [密码] [char] (10) NULL ,
  418. [域名] [char] (15) NULL ,
  419. [拨号名称] [char] (15) NULL ,
  420. [数据库别名] [char] (15) NULL ,
  421. [联网文件] [char] (30) NULL 
  422. ) ON [PRIMARY]
  423. GO
  424. CREATE TABLE [dbo].[项目科目对照表] (
  425. [项目名称] [char] (40) NULL ,
  426. [项目代码] [int] NULL ,
  427. [科目代码] [char] (20) NULL ,
  428. [科目级别] [int] NULL ,
  429. [内部编号] [int] IDENTITY (1, 1) NOT NULL 
  430. ) ON [PRIMARY]
  431. GO
  432. ALTER TABLE [dbo].[凭证表] ADD 
  433.  PRIMARY KEY  CLUSTERED 
  434. (
  435. [凭证编号]
  436. )  ON [PRIMARY] 
  437. GO
  438. ALTER TABLE [dbo].[分录表] ADD 
  439.  PRIMARY KEY  CLUSTERED 
  440. (
  441. [内部编号]
  442. )  ON [PRIMARY] 
  443. GO
  444. ALTER TABLE [dbo].[科目表] ADD 
  445.  PRIMARY KEY  CLUSTERED 
  446. (
  447. [科目代码]
  448. )  ON [PRIMARY] 
  449. GO
  450. ALTER TABLE [dbo].[分录表] ADD 
  451. CONSTRAINT [分录表_凭证编号_fk] FOREIGN KEY 
  452. (
  453. [凭证编号]
  454. ) REFERENCES [dbo].[凭证表] (
  455. [凭证编号]
  456. )
  457. GO
  458. ALTER TABLE [dbo].[分录表] ADD 
  459. CONSTRAINT [分录表_科目代码_fk] FOREIGN KEY 
  460. (
  461. [科目代码]
  462. ) REFERENCES [dbo].[科目表] (
  463. [科目代码]
  464. )
  465. GO
  466. ALTER TABLE [dbo].[分录表temp] ADD 
  467. CONSTRAINT [分录表temp_科目代码_fk] FOREIGN KEY 
  468. (
  469. [科目代码]
  470. ) REFERENCES [dbo].[科目表] (
  471. [科目代码]
  472. )
  473. GO
  474. ALTER TABLE [dbo].[分录表历史] ADD 
  475. CONSTRAINT [分录表历史_科目代码_fk] FOREIGN KEY 
  476. (
  477. [科目代码]
  478. ) REFERENCES [dbo].[科目表] (
  479. [科目代码]
  480. )
  481. GO
  482. ALTER TABLE [dbo].[历史分类账簿] ADD 
  483. CONSTRAINT [历史分类账簿_科目代码_fk] FOREIGN KEY 
  484. (
  485. [科目代码]
  486. ) REFERENCES [dbo].[科目表] (
  487. [科目代码]
  488. )
  489. GO
  490. ALTER TABLE [dbo].[历史明细账簿] ADD 
  491. CONSTRAINT [历史明细账簿_科目代码_fk] FOREIGN KEY 
  492. (
  493. [科目代码]
  494. ) REFERENCES [dbo].[科目表] (
  495. [科目代码]
  496. )
  497. GO
  498. ALTER TABLE [dbo].[本年分类账簿] ADD 
  499. CONSTRAINT [本年分类账簿_科目代码_fk] FOREIGN KEY 
  500. (
  501. [科目代码]
  502. ) REFERENCES [dbo].[科目表] (
  503. [科目代码]
  504. )
  505. GO
  506. ALTER TABLE [dbo].[本年明细账簿] ADD 
  507. CONSTRAINT [本年明细账簿_科目代码_fk] FOREIGN KEY 
  508. (
  509. [科目代码]
  510. ) REFERENCES [dbo].[科目表] (
  511. [科目代码]
  512. )
  513. GO
  514. ALTER TABLE [dbo].[本期分类账簿] ADD 
  515. CONSTRAINT [本期分类账簿_科目代码_fk] FOREIGN KEY 
  516. (
  517. [科目代码]
  518. ) REFERENCES [dbo].[科目表] (
  519. [科目代码]
  520. )
  521. GO
  522. ALTER TABLE [dbo].[本期明细账簿] ADD 
  523. CONSTRAINT [本期明细账簿_科目代码_fk] FOREIGN KEY 
  524. (
  525. [科目代码]
  526. ) REFERENCES [dbo].[科目表] (
  527. [科目代码]
  528. )
  529. GO
  530. ALTER TABLE [dbo].[科目余额表] ADD 
  531. CONSTRAINT [科目余额表_科目代码_fk] FOREIGN KEY 
  532. (
  533. [科目代码]
  534. ) REFERENCES [dbo].[科目表] (
  535. [科目代码]
  536. )
  537. GO
  538. ALTER TABLE [dbo].[项目科目对照表] ADD 
  539. CONSTRAINT [项目科目对照表_科目代码_fk] FOREIGN KEY 
  540. (
  541. [科目代码]
  542. ) REFERENCES [dbo].[科目表] (
  543. [科目代码]
  544. )
  545. GO
  546. SET QUOTED_IDENTIFIER ON 
  547. GO
  548. SET ANSI_NULLS ON 
  549. GO
  550. create proc sf_pz凭证删除后
  551. as
  552. begin tran
  553. delete from 凭证表temp
  554. delete from 分录表temp
  555. commit
  556. GO
  557. SET QUOTED_IDENTIFIER OFF 
  558. GO
  559. SET ANSI_NULLS ON 
  560. GO
  561. SET QUOTED_IDENTIFIER ON 
  562. GO
  563. SET ANSI_NULLS ON 
  564. GO
  565. CREATE proc sf_pz凭证录入 @操作员 char(20)
  566. as
  567. begin transaction
  568. --declare @操作员 char(20) 
  569. --select @操作员='wy'
  570. declare @maxid int
  571. select @maxid=max(分录编号) from 状态表 with (tablockx)
  572. select @maxid = case when @maxid is null then 0 else @maxid end
  573. declare mycursor cursor for select 分录编号 from 分录表temp
  574. open mycursor
  575. declare @a int
  576. declare @i int
  577. select @i=@maxid
  578. fetch next from mycursor into @a
  579. while (@@fetch_status=0)
  580. begin
  581. update 分录表temp
  582. set 分录编号=@i+1
  583. where current of mycursor
  584. select @i=@i+1
  585. fetch next from mycursor into @a
  586. end 
  587. close mycursor
  588. deallocate mycursor
  589. update 状态表
  590. set 分录编号=@i --当前最大值
  591. insert into 分录表(分录编号,会计期间,凭证字号,凭证编号,摘要,科目代码,借方,贷方,数量,单价,结算方式,结算号,结算日期)
  592. select a.分录编号,a.会计期间,a.凭证字号,a.凭证编号,a.摘要,a.科目代码,a.借方,a.贷方,a.数量,a.单价,a.结算方式,a.结算号,a.结算日期 
  593. from 分录表temp as a,凭证表temp as b 
  594. where a.凭证字号=b.凭证字号 and a.凭证编号=b.凭证编号 and a.会计期间=b.会计期间 and b.制单=@操作员
  595. update 凭证表temp
  596. set 借方合计=e.m,贷方合计=e.n from
  597. 凭证表temp as b,(select sum(借方) as m,sum(贷方) as n,凭证字号,凭证编号,会计期间 from 分录表temp group by 凭证字号,凭证编号,会计期间) as e
  598. where e.凭证字号=b.凭证字号 and e.凭证编号=b.凭证编号 and e.会计期间=b.会计期间
  599. insert into 凭证表(内部编号,会计期间,凭证字号,凭证编号,顺序号,日期,附单据,审核,过账,制单,借方合计,贷方合计)
  600. select 内部编号,会计期间,凭证字号,凭证编号,顺序号,日期,附单据,审核,过账,制单,借方合计,贷方合计 from 凭证表temp where 制单=@操作员
  601. update 凭证表
  602. set 凭证状态='待审',过账状态='否'
  603. declare @maxnum int
  604. select @maxnum=max(顺序号码) from 凭证表temp
  605. if @maxnum is not null
  606. begin
  607. update 状态表
  608. set 顺序号=a.顺序号+1 from --当前最大值+1,当前可用
  609. 状态表 as b,(select 顺序号 from 凭证表temp where 顺序号码=@maxnum) as a
  610. update 状态表
  611. set 编号=a.凭证编号+1 from --当前最大值+1,当前可用
  612. 状态表 as b,(select 凭证编号,凭证字号 from 凭证表temp where 顺序号码=@maxnum) as a
  613. where a.凭证字号=b.凭证字号
  614. end
  615. delete from 分录表temp
  616. where 分录表temp.凭证字号+cast(分录表temp.凭证编号 as char)+cast(分录表temp.会计期间 as char) in (select 凭证字号+cast(凭证编号 as char)+cast(会计期间 as char) from 凭证表temp)
  617. delete from 凭证表temp
  618. where 制单=@操作员
  619. commit
  620. GO
  621. SET QUOTED_IDENTIFIER OFF 
  622. GO
  623. SET ANSI_NULLS ON 
  624. GO
  625. SET QUOTED_IDENTIFIER ON 
  626. GO
  627. SET ANSI_NULLS ON 
  628. GO
  629. CREATE proc sf_pz凭证过账 @操作员 char(20)
  630. as
  631. begin transaction
  632. insert into 本期明细账簿(分录编号, 会计期间, 凭证字号, 凭证编号, 摘要, 科目代码, 借方, 贷方, 数量, 单价, 结算方式, 结算号, 结算日期)
  633. select 分录编号, a.会计期间, a.凭证字号, a.凭证编号, 摘要, 科目代码, 借方, 贷方, 数量, 单价, 结算方式, 结算号, 结算日期 from 分录表 as a,凭证表 as b 
  634. where a.会计期间=b.会计期间 and a.凭证字号= b.凭证字号 and a.凭证编号=b.凭证编号 and b.凭证状态='通过' and b.过账状态='否'
  635. update 凭证表
  636. set 过账状态='是',过账=@操作员
  637. where 凭证状态='通过' and 过账状态='否'
  638. update 凭证表
  639. set 过账=@操作员
  640. where 凭证状态='不通过'
  641. insert into 分录表历史(分录编号, 会计期间, 凭证字号, 凭证编号, 摘要, 科目代码, 借方, 贷方, 数量, 单价, 结算方式, 结算号, 结算日期)
  642. select 分录编号, a.会计期间, a.凭证字号, a.凭证编号, 摘要, 科目代码, 借方, 贷方, 数量, 单价, 结算方式, 结算号, 结算日期 from 分录表 as a,凭证表 as b 
  643. where a.会计期间=b.会计期间 and a.凭证字号= b.凭证字号 and a.凭证编号=b.凭证编号 and (b.过账状态='是' or b.凭证状态='不通过')
  644. insert into 凭证表历史(内部编号, 凭证状态, 会计期间, 凭证字号, 凭证编号, 顺序号, 日期, 附单据, 审核, 过账, 制单, 借方合计, 贷方合计, 过账状态)
  645. select 内部编号, 凭证状态, 会计期间, 凭证字号, 凭证编号, 顺序号, 日期, 附单据, 审核, 过账, 制单, 借方合计, 贷方合计, 过账状态 from 凭证表
  646. where 过账状态='是' or 凭证状态='不通过'
  647. delete from 分录表
  648. from (分录表 as a join 凭证表 as b on a.会计期间=b.会计期间 and a.凭证字号 =b.凭证字号 and a.凭证编号=b.凭证编号)
  649. where  b.过账状态='是' or b.凭证状态='不通过'
  650. delete from 凭证表
  651. where 过账状态='是' or 凭证状态='不通过'
  652. --计算余额
  653. --update null to 0
  654. update 本期明细账簿
  655. set 借方=(case when 借方 is null then 0 else 借方 end), 贷方=(case when 贷方 is null then 0 else 贷方 end)
  656. where 余额标记 is null or 余额标记 <>'是'
  657. --update 余额方向
  658. update 本期明细账簿
  659. set 余额方向=a.余额方向
  660. from (select 科目代码,余额方向 from 科目余额表) as a
  661. where 本期明细账簿.科目代码=a.科目代码 and (余额标记 is null or 余额标记 <>'是')
  662. --update 科目余额表;本期明细账簿--余额
  663. declare mycursor cursor for select 分录编号,会计期间,科目代码,借方,贷方,余额方向,余额,余额标记 from 本期明细账簿 where 余额标记 is null or 余额标记<>'是'
  664. open mycursor
  665. declare @bh int,@qj int,@dm char(20),@jf money,@df money,@fx char(2),@ye money,@bj char(4)
  666. fetch next from mycursor into @bh,@qj,@dm,@jf,@df,@fx,@ye,@bj
  667. --select @bh,@qj,@dm,@jf,@df,@fx,@ye,@bj
  668. while (@@fetch_status=0)
  669. begin
  670. update 科目余额表
  671. set 本期借方发生额=(case when 本期借方发生额 is null then @jf else 本期借方发生额+@jf end),
  672.     本期贷方发生额=(case when 本期贷方发生额 is null then @df else 本期贷方发生额+@df end),
  673.     本年借方累计发生额=(case when 本年借方累计发生额 is null then @jf else 本年借方累计发生额+@jf end),
  674.     本年贷方累计发生额=(case when 本年贷方累计发生额 is null then @df else 本年贷方累计发生额+@df end),
  675.     本期借方余额=(case when @fx='借' then (case when 本期借方余额 is null then @jf-@df else 本期借方余额+@jf-@df end) else 0 end),
  676.     本期贷方余额=(case when @fx='贷' then (case when 本期贷方余额 is null then @df-@jf else 本期贷方余额+@df-@jf end) else 0 end),
  677.     最后结算分录=@bh,
  678.     会计期间=@qj
  679. where 科目代码=@dm and 会计期间=@qj
  680. select 科目代码,@fx,会计期间,本期借方余额,本期贷方余额 from 科目余额表  where 科目代码=@dm and 会计期间=@qj
  681. update 本期明细账簿
  682. set 余额=case when @fx='借' 
  683.                              then  (select 本期借方余额 from 科目余额表 where 科目代码=@dm and 会计期间=@qj)
  684.                               else (select 本期贷方余额 from 科目余额表 where 科目代码=@dm and 会计期间=@qj)
  685.                         end,     --a.本期借方余额
  686. 余额标记='是'
  687. -- from    本期明细账簿 as b
  688. where current of mycursor
  689.  
  690. --(select 科目代码,会计期间,本期借方余额,本期贷方余额 from 科目余额表 where 科目代码=@dm and 会计期间=@qj) as a
  691. select * from 本期明细账簿
  692. --select * from 科目余额表 where 本期借方发生额 is not null
  693. fetch next from mycursor into @bh,@qj,@dm,@jf,@df,@fx,@ye,@bj
  694. end
  695. close mycursor
  696. deallocate mycursor
  697. commit
  698. GO
  699. SET QUOTED_IDENTIFIER OFF 
  700. GO
  701. SET ANSI_NULLS ON 
  702. GO
  703. SET QUOTED_IDENTIFIER OFF 
  704. GO
  705. SET ANSI_NULLS ON 
  706. GO
  707. CREATE proc sf_pz调整凭证表
  708. as
  709. begin transaction
  710. declare @maxnum int
  711. select @maxnum=max(顺序号码) from 凭证表temp 
  712. delete 凭证表temp
  713. where 顺序号码>(select min(顺序号码) from 凭证表temp as a,(select 凭证字号,凭证编号,会计期间 from 凭证表temp where 顺序号码=@Maxnum) as b where a.凭证编号=b.凭证编号 and a.凭证字号=b.凭证字号 and a.会计期间=b.会计期间)
  714. update 分录表temp
  715. set 顺序号码=a.顺序号码 from
  716. (select '顺序号码'=min(顺序号码) from 凭证表temp) as a
  717. commit
  718. GO
  719. SET QUOTED_IDENTIFIER OFF 
  720. GO
  721. SET ANSI_NULLS ON 
  722. GO