|
Изменение/заполнение реквизитов справочника 1С средствами C#
|
|||
---|---|---|---|
#18+
Добрый день! Пишу свою программу на C# для управления справочником 1С. Сейчас бьюсь над заполнением реквизитов. Добавил новый реквизит, привязал его к полю на форме. Теперь пытаюсь заполнить его из программы. Код: c# 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.
Текст ошибки: авторMissingMemberException Ошибка при вызове "МаркировкаКрана". Попробовал воспользоваться другим способом: Код: c# 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.
Здесь другая ошибка: авторTargetInvocationException {"Член группы не найден. (Исключение из HRESULT: 0x80020003 (DISP_E_MEMBERNOTFOUND))"} Подскажите пожалуйста, как решить эту проблему. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2016, 07:47 |
|
Изменение/заполнение реквизитов справочника 1С средствами C#
|
|||
---|---|---|---|
#18+
Напрямую работать с объектами 1С не самое лучшее решение. Что-нибудь поменяется в структуре базы и твой код надо будет править. Лучше написать обертку на 1С, а из твоего кода только ее вызов. В случае изменений править надо будет только обертку. И отлаживать так легче. Деталей не подскажу, с 1С давно не сталкивался, там есть внешние обработки, т.е. модули с кодом не включенные в конфигурацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2016, 08:12 |
|
Изменение/заполнение реквизитов справочника 1С средствами C#
|
|||
---|---|---|---|
#18+
Dima TНапрямую работать с объектами 1С не самое лучшее решение. Что-нибудь поменяется в структуре базы и твой код надо будет править. Лучше написать обертку на 1С, а из твоего кода только ее вызов. В случае изменений править надо будет только обертку. И отлаживать так легче. Деталей не подскажу, с 1С давно не сталкивался, там есть внешние обработки, т.е. модули с кодом не включенные в конфигурацию. Я поэтому и пишу на C#, т.к. я не знаю, как работает 1С. В принципе, это можно реализовать средствами 1С, но я потрачу на это слишком много времени... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2016, 08:46 |
|
Изменение/заполнение реквизитов справочника 1С средствами C#
|
|||
---|---|---|---|
#18+
Dima T,Напрямую работать с объектами 1С не самое лучшее решение. Что-нибудь поменяется в структуре базы и твой код надо будет править. Лучше написать обертку на 1С, а из твоего кода только ее вызов. В случае изменений править надо будет только обертку. И отлаживать так легче. Можно сделать и так и так. Но плюс работы с объектами напрямую - то, что при обновлении баз все происходит автоматом, можно работать с разными базами. Для 90% случаев это важнее. (Плюс если в 1с поменяется логика - как я январе ОсновнойДоговорКонтрагента убрали "редиски" - то код все равно придется менять. Либо в обработчике 1с , либо на шарпе) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2016, 08:57 |
|
Изменение/заполнение реквизитов справочника 1С средствами C#
|
|||
---|---|---|---|
#18+
dvim, Вот рабочий пример записи контрагента. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2016, 08:58 |
|
Изменение/заполнение реквизитов справочника 1С средствами C#
|
|||
---|---|---|---|
#18+
RialЯ поэтому и пишу на C#, т.к. я не знаю, как работает 1С. В принципе, это можно реализовать средствами 1С, но я потрачу на это слишком много времени... Я так же думал. Нафиг мне с 1С разбираться. В итоге убил кучу времени, понял что пишу на 1С, но не в 1С. Потом переписал на 1С и стало все нормально. Ты используешь объекты 1С - значит это уже язык 1С. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2016, 09:06 |
|
Изменение/заполнение реквизитов справочника 1С средствами C#
|
|||
---|---|---|---|
#18+
dvimDima T,Напрямую работать с объектами 1С не самое лучшее решение. Что-нибудь поменяется в структуре базы и твой код надо будет править. Лучше написать обертку на 1С, а из твоего кода только ее вызов. В случае изменений править надо будет только обертку. И отлаживать так легче. Можно сделать и так и так. Но плюс работы с объектами напрямую - то, что при обновлении баз все происходит автоматом, можно работать с разными базами. Для 90% случаев это важнее. (Плюс если в 1с поменяется логика - как я январе ОсновнойДоговорКонтрагента убрали "редиски" - то код все равно придется менять. Либо в обработчике 1с , либо на шарпе) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2016, 09:13 |
|
Изменение/заполнение реквизитов справочника 1С средствами C#
|
|||
---|---|---|---|
#18+
Dima TЯ так же думал. Нафиг мне с 1С разбираться. В итоге убил кучу времени, понял что пишу на 1С, но не в 1С. Потом переписал на 1С и стало все нормально. Ты используешь объекты 1С - значит это уже язык 1С. Проконсультироваться, какие объекты 1С нужно использовать - 3 минуты. Разобраться в самой 1С - несколько часов. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2016, 09:15 |
|
Изменение/заполнение реквизитов справочника 1С средствами C#
|
|||
---|---|---|---|
#18+
Dima T, То, что разрабатывать этот код удобнее на 1с - факт. Я обычно разрабатываю его на 1с в внешней обработке , потом переношу в c# Этим достигаю то, что код работает на стандартной конфе - 0 проблем с обновлениями и с заменой конфигураций ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2016, 09:17 |
|
Изменение/заполнение реквизитов справочника 1С средствами C#
|
|||
---|---|---|---|
#18+
Rial, Потому что получаешь ссылку и ее правишь - такой код и в 1с не заработает. Нужно волшебное "ПолучитьОбъект" Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2016, 09:23 |
|
Изменение/заполнение реквизитов справочника 1С средствами C#
|
|||
---|---|---|---|
#18+
dvimRial, Потому что получаешь ссылку и ее правишь - такой код и в 1с не заработает. Нужно волшебное "ПолучитьОбъект" Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
А ларчик то просто открывался) Огромнейшее Вам спасибо, все заработало! :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2016, 09:36 |
|
Изменение/заполнение реквизитов справочника 1С средствами C#
|
|||
---|---|---|---|
#18+
Rial, Еще раз 1 - Создаем тестовую внешнюю обработку в 1с. Там пишем код и тестируем его 2 - Переносим код из п1 в C# 3- не забываем что com.connector глючная штука и иногда выдает ексепшны с падением программы. Делаем костылятор для этого (В самой программы эти ошибки не обрабатываются). ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2016, 09:43 |
|
|
start [/forum/topic.php?fid=20&msg=39160713&tid=1400843]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 291ms |
total: | 444ms |
0 / 0 |