|
Колонка в справочнике "Контрагенты" | ☑ | ||
---|---|---|---|---|
0
Pasha12312
01.07.13
✎
09:36
|
Здравствуйте.
вот код , который должен заполнять долг в колонке "Задолженость": Строки = ПолучитьСписокВТаблицу(); Для Каждого Стр Из Строки Цикл Контрагент = Стр.НаименованиеПолное; КонтрагентСсылка = Справочники.Контрагенты.НайтиПоНаименованию(Контрагент); СтруктураОтбора = Новый Структура; СтруктураОтбора.Вставить("Контрагент", КонтрагентСсылка); Долг = РегистрыНакопления.ВзаиморасчетыКомпании.Остатки(,СтруктураОтбора,,"Сумма, СуммаУпр"); Долг = Долг.Итог("Сумма"); Стр.Задолженость = Число(Долг); Сообщить(Контрагент + " " + Долг); КонецЦикла; .. ничего не заполняет, хотя все нужные значения там есть (для демонстрации вывел с помощью "Сообщить") скажите , что неправильно? http://firepic.org/images/2013-07/01/bubm76mqnpe9.png |
|||
1
Jonny_Khomich
01.07.13
✎
09:38
|
(0) надо в ТЗ добавить колонку "задолженность".
|
|||
2
Pasha12312
01.07.13
✎
09:42
|
(1) а зачем?
я получаю нужный мне "Долг" и хочу добавить его в колонку. Кстати, колонка "Задолженость" созданная не программно , а добавленна в реквизиты спр. "Контрагенты" (если это важно) |
|||
3
Рэйв
01.07.13
✎
09:46
|
НаименованиеПолное может быть <>Наименование
и тогда .НайтиПоНаименованию(Контрагент) вернет тебе пустую ссылку |
|||
4
Рэйв
01.07.13
✎
09:46
|
а вообще откуда ты берешь наименования? Из файла чтоли?
|
|||
5
Pasha12312
01.07.13
✎
09:48
|
(3) я проверял .. возвращает , то что нужно.
потому как колонка "Наименование" имеет данные НаименованиеПолное. |
|||
6
Pasha12312
01.07.13
✎
09:50
|
(4)Строки = ПолучитьСписокВТаблицу(); отсюда беру ТЗ
Функция ПолучитьСписокВТаблицу() Построитель = Новый ПостроительЗапроса; Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(СправочникСписок); Результат = Построитель.Результат; ТаблицаЗначений = Результат.Выгрузить(); Возврат ТаблицаЗначений; КонецФункции |
|||
7
Рэйв
01.07.13
✎
09:54
|
(6)Это ты так список контрагентов что ли получаешь?
|
|||
8
Мимохожий Однако
01.07.13
✎
09:54
|
Стр.Задолженость = Число(Долг);
Сообщить(Контрагент + " " + Долг); какой тип у колонки "Задолженость "? Возможно, Число(Долг)= 0 Сделай, например Сообщить(Контрагент + " ," + Долг+" ,"+Стр.Задолженость); |
|||
9
Cube
01.07.13
✎
09:55
|
(0) Я так понял, тебе надо заполнить колонку в СправочникСписок?
Тогда ПриВыводеСтроки() или ПриПолученииДанных() через ОформлениеСтроки делай. |
|||
10
SanGvin
01.07.13
✎
09:56
|
жесть в (0)
|
|||
11
zak555
01.07.13
✎
09:56
|
динамический список
|
|||
12
Mitriy
01.07.13
✎
09:56
|
чую я, что собака где-то тут порылась:
"Кстати, колонка "Задолженость" созданная не программно , а добавленна в реквизиты спр. "Контрагенты" (если это важно)" |
|||
13
Cube
01.07.13
✎
09:59
|
(12) А , так он не указал Данные для колонки...
|
|||
14
kosts
01.07.13
✎
10:02
|
> Кстати, колонка "Задолженость" созданная не программно , а добавленна в реквизиты спр. "Контрагенты"
По моему скромному мнению, это очень плохо. |
|||
15
Pasha12312
01.07.13
✎
10:03
|
(14) почему?
лучше программно сделать? |
|||
16
Pasha12312
01.07.13
✎
10:03
|
(13) Данные указал (реквизит Задолженость)
|
|||
17
Pasha12312
01.07.13
✎
10:04
|
(8) тип у колонки Число
|
|||
18
Pasha12312
01.07.13
✎
10:06
|
(8)
При Сообщить(Контрагент + " ," + Долг+" ,"+Стр.Задолженость); Выводит: Основной поставщик ,0 ,0 Основной покупатель ,54,28 ,54,28 НовыйКонтрагент ,0 ,0 МойКонтрагентОпаОпа ,0 ,0 |
|||
19
Cube
01.07.13
✎
10:06
|
(16) Зачем тогда код вообще? Открой контрагента, введи задолженность и любуйся...
Но это быдлокод какой-то... |
|||
20
Pasha12312
01.07.13
✎
10:07
|
(8) все правильно.
только почему не показывает в колонке? |
|||
21
Галахад
гуру
01.07.13
✎
10:08
|
Код в (0) в какой процедуре?
|
|||
22
kosts
01.07.13
✎
10:08
|
(15) Перезапись справочника при проведении документов - это плохо (1). Невозможность отследить на конкретную дату (2). Невозможность увидеть по конкретным договорам (3).
|
|||
23
Pasha12312
01.07.13
✎
10:08
|
(19) не понял.
весь смысл в том , чтоб видеть задолженность при просмотре контрагентов в справочнике. |
|||
24
Pasha12312
01.07.13
✎
10:10
|
(21) ПриОткритии()
так же пробовал - СписокПриПолученииДанных(Элемент, ОформленияСтрок) |
|||
25
MKZM
01.07.13
✎
10:10
|
(20) А куда надо заносить справочник.задолженность или тз.задллженность и что где должно показывать
|
|||
26
Мимохожий Однако
01.07.13
✎
10:11
|
Посмотри как реализован вывод остатков товара в форме подбора Номенклатуры.
|
|||
27
Pasha12312
01.07.13
✎
10:11
|
(25) показать нужно в созданной колонке "Задолженость"
|
|||
28
Mitriy
01.07.13
✎
10:12
|
(24) просто колонку надо добавить в табполе и ее заполнять в при получении данных... реквизит из справочника убей...
|
|||
29
kosts
01.07.13
✎
10:12
|
(24) Реквизит добавлен только на форму или в метаданные, а то может я зря пугаю?...
|
|||
30
Pasha12312
01.07.13
✎
10:15
|
(29) был добавлен как реквизит справочника, уже удалил
|
|||
31
Cube
01.07.13
✎
10:22
|
(23) Ты остаток товара на складе доже будешь в реквизите номенклатуры хранить? Это плохой тон...
Реквизит создавать не нужно - добавляй колонку в список и заполняй как сказано в (9). |
|||
32
skiller3000
01.07.13
✎
10:25
|
при получении данных или при выводе строки табличного поля делай запрос по контрагентам или если контрагентов много и скорость критична - через таблицу-значений со значением долга, обновляющуюся по подписке на регистр остатков взаиморасчетов.
|
|||
33
kosts
01.07.13
✎
10:28
|
> при выводе строки
Ни в коем случае не использовать. >при получении данных Получить все данные одном запросом, к тому же можно закэшировать, если не нужно каждый раз обновлять. |
|||
34
skiller3000
01.07.13
✎
10:29
|
(33) ну я аналогичную задачу решал через подписку на изменение регистра взаиморасчетов и потом через глобальную таблицу значений получал остаток взаиморасчетов, который потом при получении данных подставлялся в форму.
|
|||
35
Pasha12312
01.07.13
✎
18:08
|
(9) (31) если делать через ОформлениеСтроки, как получать наименование контрагента (для отбора в регистре (при получении долга))
|
|||
36
Pasha12312
01.07.13
✎
18:09
|
СтруктураОтбора = Новый Структура;
СтруктураОтбора.Вставить("Контрагент", КонтрагентСсылка); Долг = РегистрыНакопления.ВзаиморасчетыКомпании.Остатки(,СтруктураОтбора,,"Сумма, СуммаУпр"); Долг = Долг.Итог("Сумма"); ОформлениеСтроки.Ячейки.Задолженость.УстановитьТекст(Долг); |
|||
37
Pasha12312
01.07.13
✎
18:10
|
КонтрагентСсылка - как сюда засунуть контрагента???
|
|||
38
Pasha12312
01.07.13
✎
18:16
|
скрин для наглядности.
http://firepic.org/images/2013-07/01/ofyg67pv9ewq.png как получать контрагента? |
|||
39
Pasha12312
01.07.13
✎
18:40
|
ОформлениеСтроки.Ячейки.НаименованиеПолное.Значение - так не получается
|
|||
40
Pasha12312
01.07.13
✎
18:51
|
тишина, то какая))))
|
|||
41
AlexNew
01.07.13
✎
19:03
|
Тут даже слов нет. Смотри ПриПолученииДанных(), а долг в цикле, правда думаете, что работать будет?
|
|||
42
Pasha12312
01.07.13
✎
20:09
|
(41) не совсем понял
|
|||
43
AlexNew
01.07.13
✎
20:14
|
(42) Дальше читать не надо, если не понял. ПроПолученииДынных Запрос с отбором и заполнение через оформление, хотя если 3 контрагента, достаточно ПриВыводеСтроки() (приложение обычное судя по всему).
|
|||
44
hhhh
01.07.13
✎
20:18
|
(42) ОформлениеСтроки.Ячейки.НаименованиеПолное.Текст
|
|||
45
Pasha12312
01.07.13
✎
20:24
|
(44) пусто
|
|||
46
AlexNew
01.07.13
✎
20:26
|
Опять СП, отладчик отобрали? Наверно за дело.
|
|||
47
hhhh
01.07.13
✎
20:29
|
(45) как пишете? как в (8)?
|
|||
48
Pasha12312
01.07.13
✎
20:34
|
Контрагент = ОформлениеСтроки.Ячейки.НаименованиеПолное.Текст;
КонтрагентСсылка = Справочники.Контрагенты.НайтиПоНаименованию(Контрагент); СтруктураОтбора = Новый Структура; СтруктураОтбора.Вставить("Контрагент", КонтрагентСсылка); Долг = РегистрыНакопления.ВзаиморасчетыКомпании.Остатки(,СтруктураОтбора,,"Сумма, СуммаУпр"); Долг = Долг.Итог("Сумма"); ОформлениеСтроки.Ячейки.Задолженость.УстановитьТекст(Долг); |
|||
49
AlexNew
01.07.13
✎
20:35
|
(48) Все, теперь точно бросай. Не твое, даже читать не умеешь, куда тут писать.
|
|||
50
Pasha12312
01.07.13
✎
20:40
|
(49) ))я первый раз такое делаю
|
|||
51
AlexNew
01.07.13
✎
20:41
|
Набери в поисковике ПриПолученииДанных
|
|||
52
hhhh
01.07.13
✎
21:59
|
(50) СтруктураОтбора = Новый Структура;
СтруктураОтбора.Вставить("Контрагент", ОформлениеСтроки.ДанныеСтроки.Ссылка); |
|||
53
Pasha12312
01.07.13
✎
22:10
|
(52) спасибо большое , получилось.
|
|||
54
Pasha12312
01.07.13
✎
22:10
|
(51) вам тоже спасибо)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |