|
|
|
Загрузка данных в табличную часть из запроса
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Изучаю 1С 8.1 (пытаюсь :-) ) второй день. Хочу реализовать загрузку в табличную часть документа счетов. суть: есть таблица(или как это в 1С называется, объект) счетов, в которой есть поле ЗАКАЗ, есть вторая таблица, связанная с таблице счетов по полю ЗАКАЗ. Счета (заголовки) первоначально заполняются необходимой информацией(дата, №, контрагент, ЗАКАЗ! и т.д.). во второй таблице документов вносится по сути табличная информация, но не привязанная к Счету. Единственная связь - Заказ. Мне необходимо реализовать такой функционал: найти Счета, у которых Заказ не пустой и статус Обработан=Ложь или NULL, выбрать из дополнительной таблицы данные по Заказу и внести их в табличную часть этого самого счета. Уткнулся в то, что не знаю, как добавить данные в табличную часть. Вот, что накропал. Может, конечно, не фантастика, но честно, взялся за 1С второй день, до этого вообще не имел ни малейшего представления об этой системе. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2009, 11:06 |
|
||
|
Загрузка данных в табличную часть из запроса
|
|||
|---|---|---|---|
|
#18+
Непонятная нетиповая структура таблиц 1. запрос должен быть один без всяких вложеннных циклов 2. Документ.СчетНаОплатуПокупателю.Заказ <> """" заказ поле, разве строка? 3. вместо: Документ.СчетНаОплатуПокупателю.Обработан <> ИСТИНА лучше (НЕ Документ.СчетНаОплатуПокупателю.Обработан) 4. 1С так устроен, что прямые ссылки никогда не равны NULL, поэтому: Документ.СчетНаОплатуПокупателю.Заказ ЕСТЬ НЕ NULL всегда верно Документ.СчетНаОплатуПокупателю.Обработан ЕСТЬ NULL никогда не верно 5. Документ = Документы.СчетНаОплатуПокупателю.НайтиПоНаименованию(Выборка2.Заказ, Истина); откровенно, не понял 6. Даже если вы что-то там и получили, то только ссылку на запись, надо создать объект: Объект = Документ.получитьОбъект(); 7. Надо: Стр = Документ.Услуги.Добавить(); Стр.Номенклатура = 8. наконец, если поименуте в запросе поля аналогично таб. части то не надо перебирать поля строки табличной части: Стр = Документ.Услуги.Добавить(); ЗаполнитЗначенияСвойств(Выборка,Стр); С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2009, 11:48 |
|
||
|
Загрузка данных в табличную часть из запроса
|
|||
|---|---|---|---|
|
#18+
1. запрос должен быть один без всяких вложеннных циклов - почему? мастер-деталь. Счет связан с другой таблицей по полю Заказ(строка). я выбрал все счета, удовлетворяющие условию, далее выбираю из второй таблицы данные ТОЛЬКО ДЛЯ ЭТОГО счета и соответственно (пытаюсь) заношу их в табличную часть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2009, 12:38 |
|
||
|
Загрузка данных в табличную часть из запроса
|
|||
|---|---|---|---|
|
#18+
5. Документ = Документы.СчетНаОплатуПокупателю.НайтиПоНаименованию(Выборка2.Заказ, Истина); откровенно, не понял это я пытаюсь найти в Счетах запись с соответствующим значение поля Заказ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2009, 12:53 |
|
||
|
Загрузка данных в табличную часть из запроса
|
|||
|---|---|---|---|
|
#18+
vup702001. запрос должен быть один без всяких вложеннных циклов - почему? мастер-деталь. Счет связан с другой таблицей по полю Заказ(строка). я выбрал все счета, удовлетворяющие условию, далее выбираю из второй таблицы данные ТОЛЬКО ДЛЯ ЭТОГО счета и соответственно (пытаюсь) заношу их в табличную часть методологически не верно. Для каждой строки первого вы отправляете новые запросы на сервер: результат тот же а по времени и нагруженности сервера хуже. А вообще ответа не прозвучала потому, что мне непонятны ваши таблицы, опишите их ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2009, 13:43 |
|
||
|
Загрузка данных в табличную часть из запроса
|
|||
|---|---|---|---|
|
#18+
Naf, Вот, не без чужой, конечно помощи получил такое Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2009, 15:57 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=28&tid=1523465]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
187ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 502ms |

| 0 / 0 |
