Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Добрый день. Нет, ли у кого подобного скрипта или примерных наработок? Возможно ли его написать в универсальном стиле для 1С 7.7 и для 8? Логика такова: 1. поиск контрагента по наименованию или ИНН. Если не найден, должен создаваться новый 2. собственно выставление счета (с заполнением всех обязательных полей и полей в нужных связанных таблицах) Все в самом минимальном и простейшем варианте. Может кто-нибудь помочь? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2009, 20:53 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Ну, что неужели ни кто не делал интеграцию 1С с другими системами на таком стандартном языке как VBScript? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2009, 15:42 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
в 1С свой язык есть. ему на остальные покласть... >>Возможно ли его написать в универсальном стиле для 1С 7.7 и для 8? структуры документов разные, да и язык немного, но отличается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2009, 16:00 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Это, если плясать от 1С (в плане интеграции). А, если плясать от другой сторонней системы. Если ее рассматривать как более важную. И нужно из нее выставлять счет в 1С. Всего-то нужно создать правильный объект (CreateObject) и далее вызвать нужный метод (типа "СоздатьСчет") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2009, 20:09 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Если другая система более важная, тогда зачем ей 1С? Задача не понятна в плане организации работы? Почему неньзя просто запустить 1С и выписать там счет? Начните с более общей постановки задачи. Может вам здесь подскажут другой путь её решения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2009, 10:42 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Другая система - это CRM. (В ней также управленческий учет, и другие здачи.) Система 1С - это для бухгалтерии. (Две системы работают вместе, но пока без связи.) Нужно, чтобы менеджер нажимал кнопку в CRM, по нажатию которой выполнялся бы скрипт (.vbs файл), выставляющий счет в 1C. Саму систему 1С запускать не обязательно. Просто, чтобы добавлялся в ее БД счет. Все параметры (контрагент, сумма счета, содержимое счета) должны передаваться в .vbs из CRM и далее в 1С. Кто-нибудь проводил интеграцию 1С с другими системами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2009, 12:53 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
добавьте мне vbs скриптом "просто счет" в БД файловой 8-ки не открывая... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2009, 12:56 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Я не знаю как в 8-ке. Но в 7-ке еще dbf-таблицы, значит алогритм файла VBscript я вижу такой: 1. Открываем соединение с БД 2. Формируем SQL инструкцию на добавление в нужную таблицу (и все необходимые) 3. Выполняем SQL инструкцию 4. Закрываем конекшн Код примерно такой: Dim Con 'объект Connection Set Con = CreateObject("ADODB.Connection") 'создание объекта Connection Con.Open "Provider=...зедсь правильный провайдер...;Data Source=" & sDbPath & ";Persist Security Info=False" 'открываем соединение с базой данных Dim sSql sSql = "INSERT INTO tblСчета (Number, Amount) VALUES (1, 10000)" Con.Execute sSql 'выполняем SQL инструкцию, которая вставляет данные в таблицу счета Con.Close Для 8-ки, думаю нужно, не через SQL инструкуцию, а через ее объекты: 1. GetObject 2. AddAccount method Кто возьмется все это проработать для меня? Есть спецы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2009, 20:59 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Иван Абрамов, Примерные наработки для 7.7 есть, но делал я их довольно давно - сейчас деталей уже и не помню. Решение требовалось быстро, поэтому об оптимальности строго не судите - решение обладает крупным недостатком: необходимо внести несколько строк в глобальный модуль (ГМ). Были мысли избавиться от этого недостатка, но ... Итак: 1. Необходимо в ГМ добавить следующее: Код: plaintext 1. 2. 3. 4. 5. - это придется вставлять после каждого обновления MD 2. Создать ImportRT.ert: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. Использовалось это примерно так (код на дельфи, но перевести на vbscript должно быть легко): Код: plaintext 1. 2. 3. 4. Action может иметь 2 значения - SetTit (устанавливает заголовок окна) и AddBill (добавляет счет); sParam представляет собой набор <Имя>=<Строка байтов в hex виде>"|". Т.е. глИмпортизРТ передается примерно такая строка: Action=AddBill|INN=34373134303030303734|Pact=32352D3034|Date=20041218|Serv=313032|Price=450.00|KliName=D1EEF1EDEEE2EEE1EEF0F1EAE0FF20F2EEF0E3EEE2EBFF|KvitNum=373737383939| где INN - ИНН;Pact- № договора;Date - Дата;Serv - Код номенклатуры;Price - Цена;KliName - Наименование клиента; Исполнение этого "танца" требует еще нескольких приседаний - вытаскивание 1С на передний план и еще каких-то. Надеюсь, поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2009, 00:03 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
И кто сказал, что при этом сама 1с не запускается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2009, 03:52 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
VoditelKobyly, Вроде, никто и не говорил... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2009, 04:46 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
А как насчет нарушения алгоритма описанного выше? 1. Открываем соединение с БД 2. Формируем SQL инструкцию на добавление в нужную таблицу (и все необходимые) 3. Выполняем SQL инструкцию 4. Закрываем конекшн Это же совершенно разные подходы к решению и соответственно разные затраты на программирование. Причем, на мой взгляд в этом случае затраты превысят достигнутый в результате эффект. Гораздо проще и дешевле делать по принципу запуска 1с и доступом по ОЛЕ. Пример был приведен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2009, 05:58 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Только тут опять появиться проблема. Старт 1С довольно затратен, соответственно после нажатия кнопки "Создать счет в 1С" пройдет довольно много времени. Если же чел нажмет кнопку 2 раза - то будут запускаться 2 экземпляра 1С. Ресурсов это будет жрать немерянно. Кроме того, в vbs нужно будет передавать кучу параметров. На мой взгляд, гораздо лучше разделить эту задачу на 2: сначала из CRM выгрузить в XML, а потом бухгалтер в 1С подгрузит эти данные. Я думаю, что создать подобную обработку с одной кнопкой "Подгрузить счета" не составит труда. Таким образом появится полный контроль над загрузкой. В приниципе, можно вообще это автоматизировать, то есть счета будут подгружаться по таймеру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2009, 09:50 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
ппц... наймите 1С-ника нормального. Он вам все сделает через OLE/COM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2009, 10:18 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Иван АбрамовДобрый день. Нет, ли у кого подобного скрипта или примерных наработок? Возможно ли его написать в универсальном стиле для 1С 7.7 и для 8? Логика такова: 1. поиск контрагента по наименованию или ИНН. Если не найден, должен создаваться новый 2. собственно выставление счета (с заполнением всех обязательных полей и полей в нужных связанных таблицах) Все в самом минимальном и простейшем варианте. Может кто-нибудь помочь? Заранее спасибо. http://www.sql.ru/forum/actualsearch.aspx?search=ComConnector&sin=0&a=&ma=0&bid=63&dt=-1&s=1&so=1 ЗЫ лезть руками в таблицы 1С на вставку/апдейт лучше не надо. (только на выборку-безопасно). По крайней - пока не съели всех 1С-овских собак. Поэтому, поначалу, лучше писать через ком- коннектор в 8-ке, и через 1С-аппликуху в 7-ке. Методы и структуры данных отличаются не только меж 7-кой и 8-кой, но и внутри веток (по версиям платформ) - различия во встроенном языке (появляются некоторые новые ф-ии) и между кофигурациями (различия в собсвенно наборе объектов, и перемещение ф-й по глобальным модулям). Правда если данных много - то появится следующее обстоятельство для гордости - обработки будут писаться и отлаживаться быстрее, чем отрабатывать на полном наборе данных. Т.е. порядка на 3 (4-5) медленнее, чем это реально необходимо через работу напрямую с данными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2009, 10:51 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
А ещё есть куча проблем с синхронизацией данных в разных базах, когда например, один и тотже контрагент может сначала появится со стороны бухгалтерии (например оказывает какие-то услуги), а потом со стороны нормальной системы учета. Будем плодить на автомате двойников? А как насчет правильности и достаточности всех реквизитов контрагента в нормальной системе учета и бухгалтерской программы? Учеты ведутся в одних и тех же разрезах? Есть много вопросов, которые надо изучить, поэтому лучший выход - наймите кого-нибудь, кто вам сделает и доведет все до ума. Некоторые вопросы могут даже не сразу и вылезти, а уж об универсальных скриптах вообще вряд ли приходится говорить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2009, 10:53 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Спасибо всем. Но я думал просто вставить запись(и) в нужные таблицы dbf. Без объектов и использования языка 1С (а используя VBScript). То есть именно так: Dim Con 'объект Connection Set Con = CreateObject("ADODB.Connection") 'создание объекта Connection Con.Open "Provider=...зедсь правильный провайдер...;" 'открываем соединение с БД 1С Con.Execute "INSERT INTO tblСчета (Number, Amount) VALUES (1, 10000)" 'выполняем SQL инструкцию, которая вставляет данные в таблицу счета ... + все другие необходимые INSERT-ы и UPDATE-ы Con.Close Set Con = Nothing Неужели никто и никогда не делал подобных задач? И никто никогда не управлял 1С из вне? И никто никогда не лазил в БД 1С за какими-нибудь данными? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2009, 15:15 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
когда за вами будут бегать бухи с намереньем вырвать кадык за разрушенную базу - вспомните эту ветку... "интеграторы" мля... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2009, 20:41 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Именно потому что уже делали подобные вещи, вам и советуют не связываться с таким подходом. Лично мое мнение, что при таком подходе много временных затрат на программирование, а результат всего лишь один документ в бухгалтерской программе. Ваш директор не даст денег финансировать такие проекты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2009, 03:52 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Сейчас многие нормальные системы обладают связью с 1С. Вот пример http://www.crmpartner.ru/faq/beforebuy/3/#1 Моменты по рассинхронизации данных - это оффтоп. Спецы, блин... сидящие только в своем огороде. Я сам есть директор, и деньги на эту задачу выделяю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2009, 23:27 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Если проблемы в деньгах нет, тогда не понятно почему в Санкт Петербурге нельзя найти спеца, способного решить данную проблему. Скорее всего плохо искали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2009, 04:46 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Иван Абрамов, по вашей ссылке http://www.crmpartner.ru/faq/beforebuy/3/#1 не поленился скачал демо версию продукта и вот, что там написано в справке по интеграции с 1С: В комплект поставки Quick Sales включено несколько наборов обработок для интеграции со следующими конфигурациями «1С:Предприятие» 7.7: · Конфигурация «Бухгалтерия», редакция 4.4. · Конфигурация «Бухгалтерия», редакция 4.5. · Конфигурация «Производство + Услуги + Бухгалтерия» 2.8 · Конфигурация «Торговля+Склад», редакция 9.2. · Комплексная конфигурация (Бухгалтерия + Торговля + Склад + Зарплата + Кадры), редакция 4.4. · Комплексная конфигурация (Бухгалтерия + Торговля + Склад + Зарплата + Кадры), редакция 4.5. Обработки: · ИмпортНоменклатуры.ert – операция импорта номенклатуры в Quick Sales · ЭкспортНоменклатуры.ert – операция экспорта номенклатуры из Quick Sales · ИмпортКА.ert – операция импорта контрагентов в Quick Sales · ЭкспортКА.ert – операция экспорта контрагентов из Quick Sales · Документы.ert – работа с документами · ИмпортДокументов.ert – импорт документов · Платежи.ert – импорт платежей 5. Во время выполнения обращения к конфигурации «1С:Предприятие» выводится форма, сообщающая, что в данный момент делает Quick Sales, например, загрузка «1С:Предприятия». Чтобы воспользоваться интеграцией Quick Sales c «1С:Предприятие» 7.7, необходимо запускать 1С, используя Quick Sales. 1С загрузится автоматически при выполнении любой из операций интеграции. Также имеется возможность запустить 1С непосредственно из пункта меню – Настройки, Интеграция 1С, Запустить 1С. То есть люди не пишут напрямую в таблицы 1С, а используют саму 1С для доступа к своей CRM программе. А это уже совершенно другая история. И на мой взгляд эти люди поступают более грамотно. Не знают внутренних структур таблиц 1С и не собираются изучать их, а пользуюся тем, что знают структуры своих таблиц. При этом время на разработку интеграции минимально. И уж ни о какой универсальности (7-ка и 8-ка) не говорят, а чётко называют продукты, с которыми они интергрированы. Потому что на свете конфигураций 1С уже очень много и каждая имеет разные внутренние структуры таблиц, хотя для пользователя это всё может выглядеть как один документ с названием Счет. А вот записи во внутренние таблицы этот документ может делать всякие разные, в зависимости от конфигурации. Я вам предлагаю ещё раз попробовать оценить все достоинства и недостатки разных методов интеграции вашей системы с используемой программой 1С и только потом настаивать именно на прямой записи в таблицы 1С. Выносите свои критерии на обсуждение - коллективный разум поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2009, 06:49 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Иван АбрамовСейчас многие нормальные системы обладают связью с 1С. Вот пример http://www.crmpartner.ru/faq/beforebuy/3/#1 Моменты по рассинхронизации данных - это оффтоп. Спецы, блин... сидящие только в своем огороде. Я сам есть директор, и деньги на эту задачу выделяю. я куею с такого директора если честно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2009, 09:45 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
ссылки дает какие-то... сам открывал их, читал что внутри? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2009, 09:45 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Давайте всё-таки не оскорблять уважаемого директора. Он не виноват в том, что 1С его "достала" и он хочет сделать интеграцию своего "более важного" продукта с недалёкой системой и даже не системой, а так программкой. Вот только не знает как это сделать, поэтому и просит помощи, совета. Если человек ещё не определился (или не понял, почему не желательно лезть напрямую) в таблицы программ 1С, давайте ему поможем. Свое видение я уже частично изложил: 1. невозможно сделать что-то универсальное для большого разнообразия программ написанных на языке 1С. Потому что всегда найдется программист, который уже побывал в организации использующей 1С и настроил программу под нужды организации. И не исключено, что настроил не только в рамках таблиц 1С, но и возможно в других таблицах, например во внешних, хранящих историю изменения документов. А поэтому вытекает 2. всегда будут добавляться затраты на изучение конкретной конфигурации и дописки под неё, чтобы не изломать, то что уже работает и сделано кем-то до вас. И не факт, что ваши заказчики будут рады заплатить вам за это. А по скольку найти спеца, который одновременно знает несколько систем, всегда тяжелее, чем, знающего одну, и стоит он обычно дороже пересмотрите задание, или хотя бы сузьте рамки. Хотя если уважаемого директора распирает от избытка денег и он готов за это платить, то я думаю обязательно найдутся люди кто возьмется за эту задачу. Весь вопрос сколько. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2009, 10:50 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Да, в догонку. Иногда лучше быть спецом сидящим в одном своем огороде, чем быть везде не понятно кем. Хотя всё это болтология. Если просите у кого помощи, то по крайней мере не ругайтесь, никто не обязан вам её предоставлять. Здесь вам не ваши подчиненные. Здесь все уважаемые люди. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2009, 10:56 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Кто-то сказал "интеграторы мля", а я сказал "спецы блин". Так кто первый начал негатив раскачивать? Вот так всегда и бывает. Когда уважаемые люди ... ну очень уважаемыми становятся. Можно и нанять спеца 1С. Только я хотел сам на VB данную задачу решить. Это даже не конкретная задача, а так, просто пример кода интеграции в виде .VBS файла для включения в публичный дистрибутив, даже не обязательно рабочий. Клиенту если будет надо, он подточит весть этот элементарный код под себя, под свою конфигурацию или напишет файл .ert. Спец конечно будет делать. В комплекте 1С есть стандартные простые конфигурации, вот для стандартной конфы я и думал написать простейший код, выставляющий счет. Может быть еще проще что-то можно придумать? Ну, синхронизация контрагентов, может это проще? Интересно, что с другими системами интеграция посредством ADO и VBA делается станадртно без проблем (тот же MS Outlook или MS CRM к примеру с его БД SQL Server) и только в 1С свой язык, уже воспитавший класс спецов, не допускающих мысли использования БД 1С из вне. Ну, успехов вам, дорогие мои! Не ошибитесь в глобальном плане. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2009, 11:43 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Господин ПЖппц... наймите 1С-ника нормального. Он вам все сделает через OLE/COM + 100.... :-) Подтверждаю. Нормальная интеграция с 1С делается только так - через COM (ну или через web-сервисы для последней версии)! Лезть напрямую в БД 1С не советую из-за того, что на на физическом уровне их структура непостоянна их может меняться. Да оно и смысла особого нет, т.к. если что, в 1С можно еще доп. обработку входящих данных сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2009, 11:47 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Иван АбрамовМожно и нанять спеца 1С. Только я хотел сам на VB данную задачу решить. Зачем тогда в стоматологию ходить? Цемент/дрель дома найдутся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2009, 12:02 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Ну вот, опять обиделся. Не кажется ли вам уважаемый Иван Абрамов, что во многих последних своих темах, ваш разговор заканчивается обидой на собеседников? Не настала пора пересмотреть взгляды на жизнь? Весна пришла радуйтесь. А в глобальном плане лично мне больше импонируют люди типа Господина ПЖ, хоть он и частенько в грубой форме выражается, зато и часто подсказывает людям и спасибо ему за это. А вот вы мало кому подсказали (по крайней мере на этом форуме) а всё только спрашиваете, и на ответах форумчан деньги делаете, а с ними наверняка не делитесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2009, 12:20 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Иван АбрамовСпасибо всем. Но я думал просто вставить запись(и) в нужные таблицы dbf. Без объектов и использования языка 1С (а используя VBScript). То есть именно так: Dim Con 'объект Connection Set Con = CreateObject("ADODB.Connection") 'создание объекта Connection Con.Open "Provider=...зедсь правильный провайдер...;" 'открываем соединение с БД 1С Con.Execute "INSERT INTO tblСчета (Number, Amount) VALUES (1, 10000)" 'выполняем SQL инструкцию, которая вставляет данные в таблицу счета ... + все другие необходимые INSERT-ы и UPDATE-ы Con.Close Set Con = Nothing Неужели никто и никогда не делал подобных задач? И никто никогда не управлял 1С из вне? И никто никогда не лазил в БД 1С за какими-нибудь данными?вы таки или не читаете, что вам пишут, или абсолютно невменяемы. Типа - уже директор, можно и не втыкать. Так вот, проблема 1С состоит в том, что клиент ейный является @какбе логической субд@. Т.е. вся целостность поддерживается клиентом. Худо и бедно. Медленно и нудно. Со своими дырами и т.п. Но поддерживается. И вот вы хотите поверх всего этого полезть грязными ногами напрямую в (оконечноу) базу, мимо всех "целостно-поддерживательных механизмов _клиента_ 1С... Причем полезть не за чтением данных, что оправдано, а за изменением.... Ну что ж - флаг вам и барабанные палочки (и якорь...). Посему еще раз перечитайте, что вам советуют. А советуют вам примерно следующее: Код: plaintext 1. 2. 3. 4. 5. 6. 7. ПС. для 7ки (дбф) кстати все давно понятно. Но редко кто лезет грязными ногами на прямую вставку. А вот как вы будете впихиваться в файловую 8-ку??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2009, 12:24 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
1chainik ПС. для 7ки (дбф) кстати все давно понятно. Но редко кто лезет грязными ногами на прямую вставку. А вот как вы будете впихиваться в файловую 8-ку??? этот вопрос озвучивался еще в начале самом... ответа не получено - ибо афтор нихрена не соображет в том, чем заниматься пытается... А вообще он крут - знает vbs скрипт... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2009, 12:30 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
А может сразу напрямую писать в файлы *.MDF? Или обидеться на MS за недостаток информации о внутренней структуры этих файлов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2009, 12:36 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Господин ПЖ1chainik ПС. для 7ки (дбф) кстати все давно понятно. Но редко кто лезет грязными ногами на прямую вставку. А вот как вы будете впихиваться в файловую 8-ку??? этот вопрос озвучивался еще в начале самом... ответа не получено - ибо афтор нихрена не соображет в том, чем заниматься пытается... А вообще он крут - знает vbs скрипт...автора можно понять. При прямом инсерте/апдейте можно отыграть у 1С 2 примерно порядка. Это если не учитывать время на поднятие ком-коннектора (т.е. если держать его все время поднятым). А уж какое - нибудь слияние контрагентов как бы чудно проистекало -апдейтнул ссылки во всех таблицах, и спи-отдыхай (только итоги потом в регистрах пересчитать....). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2009, 12:39 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Обиды нету. Но негатива действительно идет много. Я так и спрашивал в начале - или так или через объекты для восьмерки. Если ни кто не будет "делать деньги", как вы говорите (хотя я бы лично сказал "делать общественно-полезный и востребованный труд" прежде всего), то у специалистов работы не будет. Ее и так мало стало, а специлистов желающих принимать участие в общем процессе "делания денег" просто уйма. И это действительно проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2009, 12:56 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Иван Абрамов, Изучайте 1С и работы будет с каждым днем всё больше и больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2009, 13:16 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Иван АбрамовИнтересно, что с другими системами интеграция посредством ADO и VBA делается станадртно без проблем (тот же MS Outlook или MS CRM к примеру с его БД SQL Server) и только в 1С свой язык, уже воспитавший класс спецов, не допускающих мысли использования БД 1С из вне. Тут просто дело в том, что разработчикам 1С не пришло в голову сделать отдельное API для возможности интеграции без запуска 1С. Скажите спасибо, что есть возможнось запуска через OLE - ведь могло и этого не быть :) С другой стороны "прямая запись в таблицы" - не очень удачный путь для интеграции (если, конечно, от производителя нет точного описания такого метода). Ведь базу того же outlook (файлик *.pst, например) вы напрямую тоже не модифицируете, а используете вызовы функций MAPI. Или вызов самого outlook-а через тот же CreateObject("Outlook.Application"). То есть используете только те методы, которые предусмотрены разработчиком, Вас же это не коробит в случае с outlook? :) С другой стороны, просто создать документ в 1С - это действительно достаточно просто и через прямую запись в базу 1С (особенно если база SQL и не вдаваясь в подробности парсинга dds или md). Но для 1Са этот документ будет иметь статус "непроведен". Для его корректного "проведения" Вам уже будет мало знать структуру таблиц, Вам еще надо будет знать алгоритм проведения. А эти алгоритмы модифицируется 1Сом гораздо чаще, чем структура таблиц. В свое время ходил по тем же граблям - интеграция с 1С методом прямой записи в таблицы :) В результате пришел к выводу, что либо экспорт\импорт через пользователя, если это какая-то регламентная процедура, ежемесячная заливка учетных данных в Бухгалтерию, например. Либо некий сервис, который при старте поднимает 1Ску по OLE для каких-либо онлайновых транзакций. С дургой стороны, онлайновые транзакции с 1Сом нужны только тогда, когда основной учет ведется в самой 1С, а та же выписка счетов - во внешней программе. У Вас, как я понял, основной учет ведется в собственной программе. В связи с этим вопрос, в какую именно 1С (с точки зрения вида учета) Вам надо переночить счета и почему это надо делать обязательно онлайн? Если онлайн не особо и нужен, что мешает сделать наоборот - стандартизировать интерфейс выгрузки счетов из Вашей системы и нагенерить кучу ert-шек под каждую типовую конфу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2009, 08:21 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Иван АбрамовЕсли ни кто не будет "делать деньги", как вы говорите (хотя я бы лично сказал "делать общественно-полезный и востребованный труд" прежде всего), то у специалистов работы не будет. Ее и так мало стало, а специлистов желающих принимать участие в общем процессе "делания денег" просто уйма. И это действительно проблема. "общественно-полезный и востребованный труд" не должен быть бессмысленным. Иначе этот труд никто не захочет оплачивать, ибо к "деланию денег" он, обычно имеет весьма отдаленное отношение. У меня есть рабочий перенос Торговля (практически самописная) -> Бухгалтерия (практически типовая). Методом "прямой записи". :) Перенос строго односторонний, вся первичка и справочники заносятся в Торговле. Справочники обновляются онлайново через триггеры и синхронизируются через доп. таблицы по ID. Документы переносятся регламентной обработкой в бухии через прямую выборку из вьюх, в которых структура Торг-документов приведена в соответствие с Бух-структурой и через "прямую запись" в Бух-таблицы и штатным запуском Док.Провести(). Так же связаны по IDDOC. Получен выигрыш в скорости переноса примерно на порядок, "правила переноса" - суть скрипты TSQL, который лично мне нравится больше, чем язык 1С :) и регламент переноса свелся в нажатию единственной кнопки в единственной программе (). Это как бы плюсы. Теперь считаем, из моего отчета боссу: » во что это обошлось конторе, получилось: » стоимость внедрения: » 25000/24*17=17708р » стоимость владения: » 35000/24/8*2 = 364,58 р в месяц. » стоимость сопровождения: » 25000/24/8*0,5 = 65,11р - подключение 1-го нового » документа\справочника » 25000/24/8*3,5 = 455,73р - проверка изменений при обновлении » конфигурации 1С:Бухгалтерия » Проверка изменений производтся автоматически, и не требует участия » человека (при условии, если элементы метаданных не удаляются, а » только изменяются\добавляются), иначе - доп. 25000/24/8*3,5 = 455,73р » на проверку. А теперь минусы. Новые релизи конфы 1С и "хотелки" бухов практически убили начальный "конструктор" (обработка в Торговле, генерирующая скрипты TSQL) - мне проще напрямую в EM модифицировать полученные объекты TSQL, чем постоянно отлаживать "конструктор" и поддерживать его актуальность. Но самый большой минус - попытка посмотреть как этот перелив поведет себя на конфигурации, например УСН, потребует практически заново заплатить 17708 :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2009, 09:00 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Егоров Александр, спасибо за ваш ответ. У многих моих клиентов ситуация такова: две (или даже более) ученых систем. В отделе продаж - CRM (моя или другая), в бухгалтерии 1С (можно продолжить - в библиотеке фирмы - "Учет книг", у сисадмина "Учет компьютеров" ...) При этом часто 1С используется только для бухучета и сдачи отчетности, а основной системой ведения бизнеса (работа с клиентами, договора, услуги...) - другая система. При этом в отделе продаж у менеджеров 1С даже не установлена (и не должна быть установлена по соображениям безопастности). Вопрос, как менеджеру нажать кнопку в CRM-системе, чтобы создался счет в БД 1С без запуска 1С? Должен быть где-то поднят Application Server (или подозреваю, что в терминах 1С он называется как-то по-своему). Но это уже сложности. Я не хочу, чтобы мне задавали вопросы "как поднять 1С коннектор" и прочими не по моему ПО. Насколько я думал, простой способ - это аккуратное добавление записи в БД 1С. Один инсерт в нужную таблицу с минимальным количеством полей. То, что данный документ не будет проведен, так это даже лучше, бухгалтер уже вручную проведет и будет видеть счета, добавленные менеджерами. Дорабатывать эту интеграцию уже более правильно будет специалист клиента. Последующие апгрейды 1С врят ли сильно затронут структуру этой таблицы. Всегда будут такие общие поля как "Наименование контрагента", "ИНН", "Адрес" ... Да даже, если и сломается INSERT потом, когда-нибудь - это не страшно. Мне важно, чтобы был пример взаимодействия. Еще хочется синхронизацию контрагентов потом прикрутить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2009, 16:11 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Александр, вы можете связаться со мной для обсуждения цены реализации данной задачи тем или иным способом: email: info@simple-soft.ru, tel: +7 921 9434940, +7 911 2386682, +7 812 4420640 Если вам это интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2009, 16:47 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Иван Абрамов Всегда будут такие общие поля как "Наименование контрагента", "ИНН", "Адрес" Какой адрес? Почтовый, Юридический, фактический, для доставки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2009, 00:06 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Иван АбрамовПри этом часто 1С используется только для бухучета и сдачи отчетности, а основной системой ведения бизнеса (работа с клиентами, договора, услуги...) - другая система.Именно поэтому онлайновый обмен с 1С только для БУ не имеет смысла - гораздо проще (и дешевле!) регламентная загрузка документов средствами самой 1С, с прямым доступом к данным именно основной системы ведения бизнеса. Иван АбрамовДолжен быть где-то поднят Application Server (или подозреваю, что в терминах 1С он называется как-то по-своему). Но это уже сложности. Я не хочу, чтобы мне задавали вопросы "как поднять 1С коннектор" и прочими не по моему ПО. Это-то как раз и будет "Ваша пробелма". Так как в 7-ке сервера приложений вообще не существует, а в 8-ке прямое соединение с сервером приложений точно так же закрыто, как и прямая запись в базу - подключиться к 8-му серверу штатно можно только штатной же 1Ской или ихними штатными "web-расшиерниями". В любом случае именно со стороны Вашего софта должен быть некий "коннектор 1С", который обеспечит минимальный API для передачи данных в 1С. Иван АбрамовДорабатывать эту интеграцию уже более правильно будет специалист клиента. Последующие апгрейды 1С врят ли сильно затронут структуру этой таблицы. Всегда будут такие общие поля как "Наименование контрагента", "ИНН", "Адрес" ... Да даже, если и сломается INSERT потом, когда-нибудь - это не страшно. Мне важно, чтобы был пример взаимодействия. Еще хочется синхронизацию контрагентов потом прикрутить... Это уже говорит, что сильно внутрь 1Са вы не заглядывали. Подумайте, почему до сих пор не существует каких либо универсальных средств интеграции с 1С? Дело в том, что общие поля как "Наименование", "ИНН", "Адрес" в разных конфигурациях могут лежать в разном виде, в разных таблицах, в периодических реквизитах, в регистрах и прочее. И узнать это без чтения метаданных (для 77 - вообще не имеющих штатных средств расшифровки структуры БД) невозможно. И даже зная "принцип хранения" не всегда можно гарантировано корректно записать в 1С информацию напрямую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2009, 04:40 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Иван АбрамовАлександр, вы можете связаться со мной Ушло письмо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2009, 04:51 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
для 8.1 примерно так Код: plaintext 1. 2. 3. 4. 5. 6. где 1.epf обработка которая вводит какой то документ на основе внешних данных dbf, txt и т.д. в данном случае отрабатывает дефолтовое действие на форме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2009, 10:24 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Иван АбрамовКто-то сказал "интеграторы мля", а я сказал "спецы блин". Так кто первый начал негатив раскачивать? Вот так всегда и бывает. Когда уважаемые люди ... ну очень уважаемыми становятся. Можно и нанять спеца 1С. Только я хотел сам на VB данную задачу решить. Это даже не конкретная задача, а так, просто пример кода интеграции в виде .VBS файла для включения в публичный дистрибутив, даже не обязательно рабочий. Клиенту если будет надо, он подточит весть этот элементарный код под себя, под свою конфигурацию или напишет файл .ert. Спец конечно будет делать. В комплекте 1С есть стандартные простые конфигурации, вот для стандартной конфы я и думал написать простейший код, выставляющий счет. Может быть еще проще что-то можно придумать? Ну, синхронизация контрагентов, может это проще? Интересно, что с другими системами интеграция посредством ADO и VBA делается станадртно без проблем (тот же MS Outlook или MS CRM к примеру с его БД SQL Server) и только в 1С свой язык, уже воспитавший класс спецов, не допускающих мысли использования БД 1С из вне. Ну, успехов вам, дорогие мои! Не ошибитесь в глобальном плане. Передай привет не нам, а Нуралиеву. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2009, 11:04 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
VoditelKobylyДа, в догонку. Иногда лучше быть спецом сидящим в одном своем огороде, чем быть везде не понятно кем. Хотя всё это болтология. Если просите у кого помощи, то по крайней мере не ругайтесь, никто не обязан вам её предоставлять. Здесь вам не ваши подчиненные. Здесь все уважаемые люди. Согласен со всем за исключением слова "Иногда". Предлагаю заменить на "Всегда")) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2009, 14:05 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Егоров Александр ... Тут просто дело в том, что разработчикам 1С не пришло в голову сделать отдельное API для возможности интеграции без запуска 1С. Скажите спасибо, что есть возможнось запуска через OLE - ведь могло и этого не быть :) Странная фраза, Александр. Разработчики 1С сделали платформу как полноценное COM-приложение. А это и есть промышленный стандарт для обмена данными в гетерогенных средах. Чего ещё нужно? Какой API? Модель доступа OLE Automation Server/Client - это, вообще говоря и есть API. Насчет прямого доступа - вот тут на тонкого. Экспериментировать в обход платформы, безусловно, не стоит. Надо очень хорошо осознавать, что делаешь. Но можно, в принципе. Всё от задачи зависит: Если надо справочники перегнать, то почему бы и нет. Структуру таблиц 1С в БД можно вытащить встроенной функцией. Если предполагается работать с одной и той же БД, то ничего проблемного тут нет. А дальше, подключайтесь по ADO напрямую и вперед. А вот документы - тут тока через OLE. Другого не дано) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2009, 14:18 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
nicktcher, За возможность запуска 1С по OLE ж вроде даже спасибо сказал :) Но давайте разберемся. И чтобы не было путаницы в терминах: под API я понимаю некий отделенный от самого приложения документированный функционал, позволяющий работать с данными без вызова самого приложения. Пример - тот же MAPI, позволяющий работать с данным Outlook без вызова outlook.exe. Замечу, что MAPI при этом не распространяется как отдельный пакет. У автора задача по событию своего приложения передать счет в 1С - это загрузка всей 1Ски со всеми ее обработками при загрузке. Долго и требует наличия 1Ски на этом же компьютере. (говорю сейчас только про 77, если в 8-ке это не так, поправьте). Далее, если я пишу в своем приложении что-то типа Код: plaintext 1. 2. 3. 4. nicktcherМодель доступа OLE Automation Server/Client - это, вообще говоря и есть API Согласен. Но к 1С это применимо лишь как API платформы . К конкретным же конфигурациям, увы... на мой взгляд далеко им до "промышленных стандартов". А ведь существуют еще и штатные обновления типовых конфигураций, которые не гарантируют от появления у документа новых реквизитов (которые, кстати, все обязательные), и ваш скрипт тоже потребует дополнительной рихтовки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2009, 05:44 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Может все таки проще сделать промежуточное хранилище для выгруженных из CRM данных + фоновое задание у сервера 1С на чтение этих данных (конечно, это только 1С: 8.х)? Тогда сразу отпадает сложности в изучении структуры 1С, нет привязанности к конфигурации и тем более обновлению. А так же отсутствует зависимость от типа платформы (файловая, MS SQL, PostgreSQL, DB2). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2009, 00:39 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Enot5467, Это возможно только для 8-ки, установленной с сервером приложений. Для 77 "сервер 1С" придется писать самому. Или забить на время запуска 1Ски по OLE при каждом обмене. Можно прикрутить и какую-нить Консолидацию или ОбменДанными. Но... смысл в том, что инициатором обмена всегда будет 1С. И от конфигурации 1С будет зависеть структура требуемых данных. Так же как и структура выгружаемых данных. Двухступенчатый же обмен, когда таже CRM выгрузила, а 1Ска потом подобрала (и наоборот) очень подходит для обмена данными с Бухучетом - там онлайн не нужен. А если внешняя система - это компонент Оперативного учета, то без онлайна не обойтись. А тормознутость обмена с 1Ской через OLE\COM и отсутствия альтернативы постоянно провоцирует желание читать данные напрямую из таблиц 1С. И даже писать в её таблицы. :) И, думаю, без дополнительного погружения в конфигурацию все-таки не обойтись. Построение cущности "Клиент" во внешней CRM может существенно отличаться от построения этой же сущности в конфигурации 1С, и наоборот. 1Су может требоваться какие-то классификаторы, напрочь отсутствующие в 1С, и наоборот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2009, 06:09 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Егоров Александр, Ну да, с 7 немного не так надо рассуждать. В любом случае есть смысл поискать альтернативу "записи напрямую в базу". Просто видел одну контору (не соврать, уже 5 лет воюет), где изначально начали писать все напрямую в базу. По мере расширения перешли на СКЛ, теперь бьются с переходом на 8. В общем там программисты по принципу "мыши плакали, кололись, но продолжали есть кактус". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2009, 06:44 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Enot5467, Если в конкретную конфу, да еще и на движке Торговли - прямая запись самое оно ;) Я и сам так у себя сделал, правда 5 лет - это, конечно, перебор. Вместе с изучением структуры Торговли ушло чуть больше месяца. :) Для Бухгалтерий же прямая запись, особенно извне - действительно кактус. При желании, конечно, можно и в бухдвижек напрямую писать, но... бухам обновили релиз, появился новый счет\субконто\перечисление и... начинаем есть кактус заново :) C дургой стороны, если у вас оперативный\управленческий учет в другой программе, для чего тогда нужна Торговля? Только если это какая-то часть КИС, дополняющая штатную Торговлю, функционал которой проблематично реализовать в той же 1С. Но наличие многокомпонентных КИС с разнородными и несостыкованными модулями - показатель, что пора задуматься о собственом ИТ отделе. Или, если он есть, о разумности его содержания в том составе, который привел к появлению мышек, основные функции которых - поедание кактусов :) Хотя я тоже знаю у нас конторы, в которых есть должности типа "оператор обмена 1С" - причем доведено до такого безо всяких "прямых записей", штатный УРИБ, базы dbf, никаких изысков... просто баз очень много и разных... Ну и соответственно есть "ревизионный отдел", который разгребает косяки учета товаров, допущенных в результате косяков обмена. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2009, 08:12 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Позволю себе еще одно дополнение: Многие решают трудозатраты программистов добавлением еще одного сервера стоимостью 7000 рублей (обычная раб.станция), где крутится копия 1С выполняющая роль загрузки данных. При чем скорости достигаются очень даже хорошие. И это при условии, что нет привязке ни к платформе ни к узконаправленными программистам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2009, 09:30 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Enot5467, Продавливать железом неповоротливость 1Ски - это само собой :) На сотню рабочих мест восемь серваков разной степени крутости - видел такое :) Как бы еще объяснить то, что при переходе на новую систему, в которой дублируется функционал преждней системы, добавляется еще куча функционала, из которого остро востребован только один модуль, и под все это удовольствие требуется два новых сервака общей стоимостью под $3000? Это не считая полугодового срока внедрения, на два порядка большей стоимости лицензий и опять таки дописки отсутствующего функционала самостоятельно потом, или согласие на растягивание внедрения еще на полгода... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2009, 12:07 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Господин ПЖкогда за вами будут бегать бухи с намереньем вырвать кадык за разрушенную базу - вспомните эту ветку... "интеграторы" мля... +500 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2009, 12:38 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Иван АбрамовПри этом в отделе продаж у менеджеров 1С даже не установлена (и не должна быть установлена по соображениям безопастности). упал со стула.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2009, 12:43 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Егоров Александр, Может и так, может и не поворотливая по сравнению с другими системами. Только тут надо выбирать (по моему мнению) немного другой уровень абстракции. Ведь рассуждаю о возможностях СКЛ сереверов и ОЛАП кубов, мы же не вспоминаем какой-нибудь ассемблер или голый С, хотя на них обработка данных будет еще быстрее. (кажется я опять в лирику ухожу) Просто встает вопрос: зачем делать сложнее, дороже и не понятней, при этом по скорости не быстрее? Разве только для саморазвития. К тому же я не видел еще ни одного собственника, которому интересно как сервера устроены. Скорее собственник деньги будет считать, нежели нюансы админства/программирования. А еще бухов жалко после таких "писателей", когда вместо 15 минутного обновления они видят несколько дней экспериментов. При чем постоянно что-то не работает... Хороший пример с калькулятором: садясь за рабочее место, мы же не задумываемся как реализована логика логического ИЛИ, или какой ток идет с солнечной батарее. Другими словами калькулятор это черный ящик с кнопками. Ни у кого даже в мыслях не возникает припаять туда датчик и измерять шаги. Так же и с 1С: все что снаружи (кнопки т.е.) это можно делать в конфигураторе, а то что внутри, скорее всего будет лишним. С другой стороны, если автор сделает универсальную систему по обмену/синхронизации данных со сверх высокой скоростью, то найдутся тысячи контор готовых ему заплатить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2009, 12:52 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
такие люди есть... только они понимают чем занимаются... А не вопят "ну я же могу своими лапами залезть в базу outlook без прокладок". http://softpoint.ru/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2009, 12:56 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Enot5467Может и так, может и не поворотливая по сравнению с другими системами. Только тут надо выбирать (по моему мнению) немного другой уровень абстракции. Ведь рассуждаю о возможностях СКЛ сереверов и ОЛАП кубов, мы же не вспоминаем какой-нибудь ассемблер или голый С, хотя на них обработка данных будет еще быстрее. (кажется я опять в лирику ухожу) Просто встает вопрос: зачем делать сложнее, дороже и не понятней, при этом по скорости не быстрее? В том то и дело, что на порядки быстрее. Рассуждения о возможностях SQL и OLAP - это не про 1С, она не использует эти возможности. Дело даже не в абстракциях, с этим 1Су как раз большой плюс за создание инструментов разработки под более высокий уровень абстракций. Дело как раз в том, как эти абстракции чисто технически реализованы. Enot5467 К тому же я не видел еще ни одного собственника, которому интересно как сервера устроены. Скорее собственник деньги будет считать, нежели нюансы админства/программирования. Как вы тогда объясняете то, что многие собственники по мере роста предпочитают отказываться от услуг франча и брать собственного 1Сника? Как вы объясните огромное количество переписанных, написанных с нуля и просто "изнасилованных" конфигураций только лишь для того, чтобы не покупать по новому серваку каждый год? Enot5467 А еще бухов жалко после таких "писателей", когда вместо 15 минутного обновления они видят несколько дней экспериментов. При чем постоянно что-то не работает... Полностью согласен с вами. "Тот кто тронет конфу бухучета, тот в ней и погибнет!" :) Интеграция с БУ и НУ должна быть такой, чтобы возможность обмена данными не требовала модификаций бухгалтерских конфигураций. Онлайновый обмен для бухов не нужен, скорость работы тоже. Возможностей платформы вполне достаточно реализовать какой угодно вариант загрузки данных. Enot5467 Хороший пример с калькулятором: садясь за рабочее место, мы же не задумываемся как реализована логика логического ИЛИ, или какой ток идет с солнечной батарее. Другими словами калькулятор это черный ящик с кнопками. Ни у кого даже в мыслях не возникает припаять туда датчик и измерять шаги. Так же и с 1С: все что снаружи (кнопки т.е.) это можно делать в конфигураторе, а то что внутри, скорее всего будет лишним. Что делать, если вечером на калькуляторе можно посчитать не более десятка сложений в минуту? Если для того, чтобы выполнять на нем сотню сложений требуется подставлять его под 100-ватную лампочку? а для умножения - под две? Особенно когда деньги на лампочки у вас уже есть, а на покупку калькулятора на батарейках еще нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 08:27 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Егоров Александр, Хорошо, оно все так и есть, я не против прочих технологий, т.к. сам постоянно 1С скрещиваю со всякими СКЛ-ми, вёрдами и прочим, что попадается. А еще программирую на ассемблере немного. Но при этом даже в мыслях не было переписать что-то СКЛ-ное, хотя там багов не мало. Взять тот-же контроль стека после каждого чиха, это же такая просадка в производительности. Или выделение памяти... когда для каждого модуля куча перевыделений, хотя соседние операции занимают практически одно и то же место. Смысл в том, что для чего система делается, там и применяется. Ну а если есть желание и возможности что-то поулучшать, то есть готовые алгоритмы что-бы не залезть при этом в лужу. Например в случае с ситуацией автора, мне кажется эффективней сделать анализатор структуры базы для всех видов хранений, кроме файлового. Создать модуль по настройке переноса данных (типа Наименование переносить в наименование). Обязательно сделать контроль кода в модулях объектов, т.к. там часто располагается очень много логики. Добавить модуль котроля прав, обязательно вставить механизм разрешения коллизий. Ну и разработать исполняемую часть. И тогда все заработает без проблем. Только боюсь скорость будет еще медленнее 1С. Может мы немного по разному это понимаем, а может и я не так изъясняюсь, но моё мнение остается прежним: либо получится быстро и ооочень криво, либо ровно, но очень долго ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 18:37 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Enot5467Егоров Александр, Хорошо, оно все так и есть, я не против прочих технологий, т.к. сам постоянно 1С скрещиваю со всякими СКЛ-ми, вёрдами и прочим, что попадается. А еще программирую на ассемблере немного. Но при этом даже в мыслях не было переписать что-то СКЛ-ное, хотя там багов не мало. Взять тот-же контроль стека после каждого чиха, это же такая просадка в производительности. Или выделение памяти... когда для каждого модуля куча перевыделений, хотя соседние операции занимают практически одно и то же место. Смысл в том, что для чего система делается, там и применяется. Ни разу не сталкивался с желанием что-то изменить в движке того же mssql :) Как-то вот всегда устраивала его скорость работы и требовательность к ресусрам. Речь идет не о мелкой шлифовки багов (которые есть в каждой сложной системе, и их наличие не зависит от языка, на котором система написана). Речь идет о том, что весьма несложной доработкой системы можно увеличить производительность системы на порядки, а не на проценты. Но при этом система снимается с поддердки производителем, что естественно. Но эта же система (говорю сейчас только про 77, и только про УУ) так или иначе всегда требует доработки (изменение процессов предприятия, появление новых, отмирание старых и т.д.) - система и так лишается поддержки производителем в большинстве случаев, почему бы помимо модернизации логики еще и не сделать оптимизацию? Которая в том числе снижает затраты на железо? Enot5467Ну а если есть желание и возможности что-то поулучшать, то есть готовые алгоритмы что-бы не залезть при этом в лужу. Например в случае с ситуацией автора, мне кажется эффективней сделать анализатор структуры базы для всех видов хранений, кроме файлового. Создать модуль по настройке переноса данных (типа Наименование переносить в наименование). Обязательно сделать контроль кода в модулях объектов, т.к. там часто располагается очень много логики. Добавить модуль котроля прав, обязательно вставить механизм разрешения коллизий. Ну и разработать исполняемую часть. И тогда все заработает без проблем. Я боюсь стоимость такой разработки превысит стоимость той самой программы автора, для которой требуется экспорт в 1С. :) Автору не нужна универсальность. Ему достаточно эскпоротировать один единственный вид документа. Enot5467 Может мы немного по разному это понимаем, а может и я не так изъясняюсь, но моё мнение остается прежним: либо получится быстро и ооочень криво, либо ровно, но очень долго Ну, не сказал бы что очень по разному. Просто получится быстро и красиво, но строго для одного конкретного релиза 1С. Универсальность же потребует либо модификации конфы, что нежелательно. Либо полноценной разработки и "реверс-инжиниринга" платформы, что долго, дорого, не совсем законно, и не сказать бы что особо востребовано. Тем, кому нужен быстрый обмен своих систем с 1С - сделают его сами. Тех, кому скорость обмена не особо важна - вполне устроят штатные средства обмена. Или "1С:Конвертация данных", или "1С:Консолидация". Здесь основная проблема это то, что платформа 1С запрещает прямой доступ к данным, но не предоставляет никакого API для взаимодействия с конркетной конфигурацией без запуска всей платформы по OLE\COM. Из-за чего не получается сделать "универсально, быстро и красиво". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2009, 05:14 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Егоров Александр Ни разу не сталкивался с желанием что-то изменить в движке того же mssql :) Как-то вот всегда устраивала его скорость работы и требовательность к ресусрам Не поверите, 1С-ники тоже ни когда не задумываются о том, что можно что-то ускорить методом "влезть в СКЛ" пока сами не залезут в эти системы. А так же подойдите к любому толковому ассемблеристу (либо очень толковому сишнику) и послушайте, что они скажут о мс скл :) особенно про интерфейс связи. Еще раз повторюсь: кто в чем силен, тот там и ваяет иногда невозможное. Если автор так решит проблему и при этом все будет тип-топ, то скорее у него другие учиться попробуют. В наше время нормальных специалистов что-то очень мало осталось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2009, 15:04 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
тоже вставлю свои 5 рублей :) Во-первых, в v8 при соединении через СОМ сама 1С НЕ запускается. Запускается легкий COМ-сервер, за пару секунд (на слабом компе). А остальное уже дело техники. Я ради интереса писал создание документа через скрипт на Python-е... Довольно шустро, только есть свои тонкости в работе со ссылочными реквизитами - на мисте.ру есть статья про СОМы, все описано. Во-вторых, если делать офф-лайн обмен, удобней наверно сделать в сетке промежуточный SQLEXPRESS-сервак для хранения выгруженных данных. Наглядно, доступно, бесплатно и быстро. В-третьих, регламентные задания в 7.7 есть, я видел в конфиге "Астор" такое... правда не знаю как сделано... возможно подключаемой ДЛЛ-кой... это тоже не проблема. В файловой восьмерке они тоже есть, и без шаманства. В итоге вы запускаете свой скрипт, он выгружает счета в СКЛ-базу, 1С8 по заданию каждые 10 минут проверяет и сливает обработкой к себе, удаляя из базы или сливая в отдельную таблицу-архив. ИЛИ: Скрипт сразу цепляется по СОМ к 1С и вливает в нее счета... но так помедленнее будет изза ожидания их проведения хотя бы, поэтому если 1С на другом компе то лучше быстро слить в СКЛ-базу и пусть 1С сама потом подключается и забирает, тормозя свой а не наш комп :) а это жесть все таки... INSERT INTO tblСчета (Number, Amount) VALUES (1, 10000) Человек наверно не заглядывал в DD файл :) вот парсер DD файла для примера... и это только названия таблиц... поля еще страшнее... да еще хранятся по хитрому Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 00:49 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
badboychik, Восьмерку только начинаю крутить, про ее сервер уже знаю, но как быть с файловой конфой? Насколько я понял - в файловом варианте 8-ка также будет грузиться вся. Для 77 "пакетный" режим работы - суть тот же запуск всего приложения, только не по событию извне, а по расписанию. Да и парсер dd\dds еще не все - как быть с перечислениями, периодикой и прочим, чего найти можно только в md? Смысл как раз и был - отговорить автора от прямой записи в таблицы 1С :) Особенно если требуется как можно более простой код. И особенно когда планируется взаимодейсвтие с разными конфигурациями 1C. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 05:46 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
авторНасколько я понял - в файловом варианте 8-ка также будет грузиться вся. нет, это в 7.7 только так она работает - через v7.application. А восьмерка может двумя способами - и так и через СОМ. Во втором случае полностью она не запускается. И не важно файловая она или серверная. А записать напрямую в файл восьмерки у человека и не получится никогда. там же не ДБФ а новый закрытый формат *.1СD. Даже с SQL версией не разобраться, т.к. первым же инсертом порушится вся целостность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 06:19 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Егоров Александрnicktcher, Код: plaintext 1. 2. 3. 4. Ну вообще-то в 1С можно получить доступ к структуре метаданных без использования внешних компонент. И на Ваш вопрос ответ прост: то... откуда я узнаю структуру этого документа в данной конфигурации? Структура: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Точно так же можно получить доступ к структуре справочников и констант, удачи :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2009, 12:02 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Вот еще: Наблюдал конструкцию в виде отдельного модуля, обеспечивает связь между базами через промежуточный СКЛ сервер. Там же реализован обмен по ОЛЕ//КОМу. Так вот второе, на порядки медленнее на больших данных, например перепроведение квартала. А вот через промежуточное СКЛ-хранилище обмен быстрый. Один объект несколько секунд , за исключением тех, для кого нужны "долгие" внутренние алгоритмы (одно проведение ОРП чего стоит). Конечно, это не мгновенно, но все же очень быстро. Сама система сделана в виде настраиваемого модуля. Плюсы: нет привязки к внутренней структуре. При изменении чего-то в метаданных обмен можно быстро перенастроить. Высокая скорость. Тут-же протоколирование работ, свертка "почти одинаковых" элементов и еще там что-то. Мне кажется нормальное решение и не дорого фирме обошлось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2009, 16:31 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
авторсвязь между базами через промежуточный СКЛ сервервот и я говорю, так оптимальнее. А особенно для постоянного обмена. Я делал так для обмена между переписанной торговлей 7.7 и типовой бухой 8.1 Удобно отлаживать, просматривать результаты... ну и свертки всякие делать хранимками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2009, 21:45 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
Set2009, Вы забыли еще в скрипт добавить и перенос и получение кодов всех справочников, перечислений и прочего 1Сного, требуемого для правильного заполнения документа. :) Хотя конечно, можно и в скрипте все сделать, безо всяких обработок 1С. Дело вкуса... Выбор, собсно, лишь в том, кто и что будет должен рихтовать при обновлении\изменении конфы - vbscript или обработку 1С. Ну и соответственно кто должен разбираться в тонкостях атрибутов 1С документов\справочников - автор системы-"экспортера" или 1Сник, обслуживающий конфигурацию-"импортер". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2009, 02:51 |
|
||
|
Как на VBScript выставить счет в 1С?
|
|||
|---|---|---|---|
|
#18+
trdmИван АбрамовПри этом в отделе продаж у менеджеров 1С даже не установлена (и не должна быть установлена по соображениям безопастности). упал со стула.... примерно так же.... и что же там отдел продаж продаёт? наличие такого количества систем хреновом подходе к развитию информационных систем в вашей организации. Нормального диретора по ИТ вам не хватает. Можно огласить сколько человек работает с каждой информационной системой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2009, 08:20 |
|
||
|
|

start [/forum/topic.php?all=1&fid=28&tid=1523873]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
165ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
84ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 306ms |

| 0 / 0 |
