Имя: Пароль:
1C
1С v8
Преобразовать данные в табличный двумерный массив
0 Сирано Де Бержерак
 
13.08.12
16:08
Подскажите пожалуйста - сам код....   мне нужно следующее:

Есть документ «Заказ покупателя» - в нём есть табличная часть «Товары» - в этой табличной части занесены например 100 строк ( в каждой строке есть «Наименование номенклатуры», «Характеристика номенклатуры» и «Количество»), мне необходимо преобразовать этот документ из 100 строк в двухмерный массив из 10 строк:
По горизонтали пусть располагается «Номенклатура» а по вертикали «Характеристика номенклатуры»  - а на пересечение их нужно занести значение «Кол-во»:

            Номенклатура 1    Номенклатура 2    Номенклатура 3    
Характеристика 1    15            
Характеристика 2            5
1 Rovan
 
гуру
13.08.12
16:20
(0) расскажи как ты сам хочешь начать...
2 Сирано Де Бержерак
 
13.08.12
16:23
(1)  - сначала надо всю табличную часть сгруппировать в определённый виртуальный массив(потому что порядок следования в табличной части хаотичный)    - а потом уже... поэлементно... вытаскивать из этого массива данные и заполнять эту виртуальную таблицу.  хуже другое.... понять как это сделать в 1С я знаю... (понимаю как формируются таблицы и заполняются печатные формы) - но прописать это ручками я не знаю как... хотя и понимаю что это можно сделать.... короче знания на 2+...
3 vvp91
 
13.08.12
16:30
(1) Ключевой вопрос здесь - а зачем?

(0) Массив не индексируется строковыми или ссылочными значениями, следовательно надо использовать что-то другое, что (в частности) может дать срез по индексу Номенклатура и по индексу Характеристика.
Как вариант использовать таблицу значений, с колонками именованными от номенклатуры, и строками идентифицированными характеристиками.

(2) Лучший вариант (по-моему) такой: оставить все как есть, определить и сформулировать проблему (почему это проблема) хаотичности порядка следования, напрямую сделать трансляцию в итоговую таблицу (без промежуточного двумерного массива).
4 Сирано Де Бержерак
 
13.08.12
16:35
проблема другая. есть документ - в нём 300 строк ( в каждой строке есть «Наименование номенклатуры», «Характеристика номенклатуры» и «Количество»)  - комплектовщику не очень удобно лазить по складу с 7-8 листами номенклатуры и собирать её. удобнее сделать сводную таблицу - 20х20  - где все 300 элементов поместятся на одной страничке.  вот в связи с этим эта проблемка и появилась.
5 Мимохожий Однако
 
13.08.12
16:37
Наконец-то выяснилось, что нужна погрузочная ведомость.
6 Сирано Де Бержерак
 
13.08.12
16:38
ну да. )))))))  просто знание о названии не помогает мне решить. ))) я решил пойти коротким путём ))) а получилось как обычно длинно )
7 Сирано Де Бержерак
 
13.08.12
16:46
и никто не помог :-(
8 Бледно Золотистый
 
13.08.12
16:49
СКД-Таблица?
9 Vakhrin
 
13.08.12
16:50
(8) +1
10 Сирано Де Бержерак
 
13.08.12
16:53
я не знаю что такое СКД табличка :-(
11 DrShad
 
13.08.12
16:54
Схема компоновки данных
12 Vakhrin
 
13.08.12
17:00
(10) тогда пиши на мыло или звони, сделаем )
контакты на сайте: мой_ник.com
13 Rovan
 
гуру
13.08.12
17:02
(2) попробуй создать для документа новую форму с таблицей значений (ТЗ)
в ТЗ программно создать колонки (характеристики)
и строки (номенклатуры)
14 Сирано Де Бержерак
 
13.08.12
17:07
(13)  - а это идея... сейчас попробую....
15 Сирано Де Бержерак
 
13.08.12
17:11
(13) проблема.....  даже если я и выведу эту форму.... так она же не для печати (((((((  короче всё фигово (((
16 DrShad
 
13.08.12
17:11
(15) ничего не фигово - СКД твое все
17 Rovan
 
гуру
13.08.12
17:13
(15) так это отчет нужен или форма ввода данных ?
18 DrShad
 
13.08.12
17:14
(17) ему шахматка нужна по товарам
19 Сирано Де Бержерак
 
13.08.12
17:15
это должен быть ПЕЧАТНЫЙ БЛАНК - для комплектовщика
20 Сирано Де Бержерак
 
13.08.12
17:15
(17)  дада  - именно шахматка. :-)
21 DrShad
 
13.08.12
17:16
(20) ну так изучай СКД
22 Сирано Де Бержерак
 
13.08.12
17:17
(((((((((((((((
23 Сирано Де Бержерак
 
13.08.12
17:17
что такое хоть это СКД  и с чем его едят?
24 DrShad
 
13.08.12
17:18
(23) ты (11) прочитал?
25 Сирано Де Бержерак
 
13.08.12
17:22
м.....  да я понимаю как их скомпоновать... можно просто запрос сделать...  и сгруппировать там всю таблицу...  я не знаю как потом её в печатную форму поместить.....
26 DrShad
 
13.08.12
17:24
(25) изучай CRL? там все просто
27 DrShad
 
13.08.12
17:24
Crl = СКД
28 Сирано Де Бержерак
 
13.08.12
17:28
(27)  ладно. пойду плакать. :-(
29 DrShad
 
13.08.12
17:30
(28) мож лучше СКД изучать
30 Сирано Де Бержерак
 
13.08.12
17:32
(29)  бестолку....  это время надо.... я не смогу ((((
31 Rovan
 
гуру
13.08.12
17:39
(25) кроме СКД есть еще ПостроительОтчета !
32 vvp91
 
13.08.12
17:49
(30) Для этой задачи на СКД надо 5 минут.
Вот здесь (http://1cskd.ru/2012/08/otchet-po-prodazham-s-razvorotam-po-tipam-cen/) описано, как сделать похожую задачу.
При желании там же можно найти еще примеры похожих задач.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший