Имя: Пароль:
1C
1С v8
Как получить доступ к таблице, которая в документе ОперацияБух?
0 WF72
 
31.08.11
16:07
Делаю обработку, которая создает и заполняет табличную часть документа ОперацияБух. Однако, в самом документе эта табчасть походу никак не прописана, а берется из... кстати, откуда? Из Движения.Хозрасчетный? Проблема в том, что я никак не пойму, как сделать заполнение этой табличной части, т.к. не пойму, к какому объекту обращаться :(
Подскажите плз...
1 Дикообразко
 
31.08.11
16:08
РБ заполняй
2 Wobland
 
31.08.11
16:08
свойство данные у ей что показывает?
3 Salvador Limones
 
31.08.11
16:08
Нет там ТЧ, обращайся к движениям. По аналогии с корректировкой записей регистров.
4 Жан Пердежон
 
31.08.11
16:17
что-то типа

ДокОбъект.Движения.Хозрасчетный.Прочитать();
***
Для i = 2 по rows цикл
   ***
   Проводка = ДокОбъект.Движения.Хозрасчетный.Добавить();
   Проводка.Период = ДокОбъект.Дата;
   Проводка.Организация = ДокОбъект.Организация;
   Проводка.СчетДт = СчетУчета;
   Проводка.СчетКт = СчетУчета;
   Проводка.СубконтоДт.Вставить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура, ссНовНом);
   Проводка.СубконтоКт.Вставить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура, ссСтарНом);
   Проводка.Сумма  = Сумма;
   ***
КонецЦикла;
***
ДокОбъект.Движения.Хозрасчетный.Записать();
5 WF72
 
31.08.11
16:18
(2) Показывает Движения.Хозрасчетный. Если делаю так: ТекОперация.Движения.Хозрасчетный, то нужные мне поля (СчетДт и т.д.) в списке доступных не вылезают :(

(4) Спасибо, сейчас попробую...
6 Живой Ископаемый
 
31.08.11
16:18
7 WF72
 
31.08.11
16:26
(6) Огромное спасибо!
А можно узнать, как получить доступ к полям уже имеющейся операции? Делаю так:

Док1011 = Документы.ОперацияБух.Выбрать();
Пока Док1011.Следующий() Цикл
   Если Док1011.Содержание = "Итоги по счету 10.11.1 (бухгалтерский учет)" Тогда
       ТекОперация = Док1011.ПолучитьОбъект();
       Для Каждого стр Из ТекОперация.Движения.Хозрасчетный.А вот что сюда? Цикл
           Сообщить(" "+стр.)
       КонецЦикла;
   КонецЕсли;
КонецЦикла;

но опять-таки тот же затык. Если при создании документа обращаемся сразу к регистру, то где хранит данные уже записанный документ ОперацияБух?
8 ДенисЧ
 
31.08.11
16:27
(7) ты не поверишь, но тоже в регистре :-)
9 WF72
 
31.08.11
16:27
Охотно верю, то всю голову уже сломал в попытках понять, какую конструкцию писать :)
10 Живой Ископаемый
 
31.08.11
16:28
http://screencast.com/t/Lqz2X8mWQ6rg
способов масса.
11 catena
 
31.08.11
16:28
(9)Отбор по регистратору?
12 Живой Ископаемый
 
31.08.11
16:29
читать в СП в папчоке НаборЗаписей Регистра Бухгалтерии такие как методы как ОтоборПоРегистратору, Прочитать, Выбрать, Выгрузить, и т.п.
13 WF72
 
31.08.11
16:41
(10) Огромное спасибо, уважаемый коллега! Мое уважение и почтение :)
14 Живой Ископаемый
 
31.08.11
16:54
+(10)или http://screencast.com/t/Y5KNawRg
но вместо РегистрыСведений.КурсыВалют  РегистрыБухгалтерии.Хозрасчетный , и всмето отборов - Отбор.Регистратор
15 Живой Ископаемый
 
31.08.11
16:55
2(13) перенаправляю их товарищу Габцу. :)
16 WF72
 
01.09.11
14:06
Люди, а как в операции обратиться к конкретному субконто? Привычный код у указанием индекса (.Субконто[1]) не срабатывает. Перебор мне не нужен, нужно только скопировать первое субконто из кредита в дебет...
17 hhhh
 
01.09.11
14:11
(16) во-первых первое субконто - это Субконто[0]
18 WF72
 
01.09.11
14:34
Получил ответ на вопрос в здоровенной книге под названием "Профессиональная разработка..." :)
Через планы видов характеристик, как оказалось. Получается, нет никакой проверки в операциях на корректность вида субконто по отношению к счету... можно вводить что угодно.
19 Живой Ископаемый
 
01.09.11
14:38
мда? ну покажи-ка картинку с оперцией, где у тебя по счету  аналитикой ОС стоит например контрагент
20 WF72
 
01.09.11
14:42
В восьмерке пока нет, бог миловал :)  но в семерочной базе могу показать, где после обработки в операции стоит совершенно постороннее субконто, другого вида. Нужно?
21 Живой Ископаемый
 
01.09.11
14:43
это тема про 77?
22 WF72
 
01.09.11
14:50
Ну ок, не про 77, злой вы наш :)
Но в таком разе непонятно, отчего не работает указание индекса в операции.
23 hhhh
 
01.09.11
14:55
(19) легко. ЕСли в ЗУП, например, накосячат с субконто в плане счетов, тогда при выгрузке проводок в БП возникает эта ситуация.
24 WF72
 
01.09.11
15:07
Кстати, один фокус в 1С, который меня слегка напугал. После того, как набрать в коде РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей().Отбор.,далее в списке возможных методов почему-то не высветят Регистратор.
25 Живой Ископаемый
 
01.09.11
16:09
2(24) на 1совский интеллисенс не полагаться.
2(22) работает... ну.. давай так...
Один РБ(рег бухгалтерии) в в8 может иметь только один ПС(план счетов) План счетов в свою очередь в качестве видов субконто может иметь только один ПВХ (план видов характеристик), который предположим имеет 50 предопределенных элементов - Ценные Бумаги, Ос, номенклатура, контрагенты, договора, Партии и т.д....
Теперь вы пишите
НаборЗаписейРБ.СубконтоДт[Х] - х может принять одно из 50 возможных индексов (по количеству наших элементов в ПВХ)
Но если мы предварительно написали
Проводка.СчетДт = СчетУчета; и для этого счета определены только субконто например 11 - контрагенты и 5 - ДоговораКонтрагентов, то если мы вдруг  скажем НаборЗаписейРБ.СубконтоДт[49] = ЗначениеСубконто; наша операция не запишется, и именно в этом и будет заключаться проверка.