Имя: Пароль:
1C
1С v8
Перенос документов КА->БП (не проставляются счета учета)
0 katerinaUniv
 
11.07.12
14:04
Добрый день! Сделала правила КА->БП, справочники и документы перенесла, есть только одна проблема - не проставлены счета учета в табличных частях и субконто. Есть ли относительно простой способ все поправить?
1 Amra
 
11.07.12
14:05
Дописать правила не предлагать?
2 DrShad
 
11.07.12
14:08
написать обработочку, которая получит все объекты документы и инициирует процедуры заполнения счетов в модуле объекта
3 katerinaUniv
 
11.07.12
14:14
(1)пока не поняла как дописать правила
4 Amra
 
11.07.12
14:19
(3) Посмотри как устанавливаются счета учета в БП, и в ПослеЗагрузке пробегайся по ТЧ и проставляй так же
5 katerinaUniv
 
11.07.12
14:28
(4)это понятно, вопрос в другом. вот например док "Поступление товаров и услуг"
6 Amra
 
11.07.12
14:29
(5) И что с ним?)
7 katerinaUniv
 
11.07.12
14:29
в Ка есть счета 25.01, 25.02, 25.03, в БП вместо них надо поставить 25, так же и с 26. Вопрос: как в этом обработчике "после загрузки" поставить условие на счет учета?
8 DrShad
 
11.07.12
14:34
у тебя конвертация плана счетов прописана?
9 katerinaUniv
 
11.07.12
14:35
(8)только конвертация значений, сейчас проверяю
10 Amra
 
11.07.12
14:35
(7) Стоп, это не счета учета, это счета затрат. ТОгда это надо тянуть из КА из соответсвующего реквизита в соответсвующий реквизит БП, настроив соответствие предопределенных счетов в правиле Хозрасчетный-Хозрасчетный
11 katerinaUniv
 
11.07.12
14:42
(10)вот вроде настроила для планов счетов соответствие - а не идет. сейчас по новой проверю
12 katerinaUniv
 
11.07.12
14:50
(10) а тут не надо ставить тогда поиск по коду? получается по коду не будет точного соответствия
13 DrShad
 
11.07.12
14:59
по коду не надо
14 DrShad
 
11.07.12
14:59
в документе нужно в полях где счета указать ПКО
15 Йохохо
 
11.07.12
15:02
(12) а так не проще?
В КА РТиУ
ПослеЗагрузки
Объект.ЗаполнитьТабличныеЧастиПередПроведением(Ложь);
Объект.ЗаполнитьСчетаУчетаВТабЧасти(Объект.Товары, "Товары", Истина, Истина);
СтруктураСчетовШапки = Объект.ЗаполнитьСтруктуруСчетовУчетаШапки(Истина,Истина);
ЗаполнитьЗначенияСвойств(Объект, СтруктураСчетовШапки);
Объект.Записать();
16 DrShad
 
11.07.12
15:15
а в ПТиУ счета затрат?
17 katerinaUniv
 
11.07.12
15:16
(16)и там, и там
(15)так это значениями по умолчанию заполнится, а им надо в точности как в источнике
18 katerinaUniv
 
11.07.12
15:17
(14)ПКО стоит, но половина счетов почему-то не перегрузилась...
19 DrShad
 
11.07.12
15:17
(17) надеюсь ты еще не нафеячила  в БП таких же субсчетов?
20 katerinaUniv
 
11.07.12
15:19
каким образом? вообще появились после обмена 2 субсчета, но сама я их не добавляла
21 katerinaUniv
 
11.07.12
15:20
уже не 2, а больше...
22 Йохохо
 
11.07.12
15:23
(16) так же
ЗаполнитьСтруктуруСчетовУчетаШапки()
23 DrShad
 
11.07.12
15:26
(22) какой еще шапки если они в ТЧ
24 DrShad
 
11.07.12
15:26
(20) ты прописала что субсчетам счета 25 в КА соответствует один счет в БП?
25 katerinaUniv
 
11.07.12
15:27
сделала сопоставление значений - все равно не грузится - 117пустых с 26-25-44, и штук 20 заполненных
26 katerinaUniv
 
11.07.12
15:27
(24)да
27 katerinaUniv
 
11.07.12
15:30
субсчета с Ка в БП больше не кочуют, но все так же не проставляются
28 DrShad
 
11.07.12
15:32
включай отладку и смотри че происходит
29 katerinaUniv
 
11.07.12
15:33
отладку как обычно в конфигураторе?
30 katerinaUniv
 
11.07.12
15:41
- <Свойство Имя="СчетУчета" Тип="ПланСчетовСсылка.Хозрасчетный">
 <Пусто />
вот что в самом фа
31 katerinaUniv
 
11.07.12
15:41
файле
32 katerinaUniv
 
11.07.12
16:10
нашла причину: в КА снята галочка "показывать в документах счета учета" - теперь новый вопрос: как заполнить счет учета по движениям документа?
33 DrShad
 
11.07.12
16:13
что!?
34 DrShad
 
11.07.12
16:14
причем тут эта галочка и куда ты собралась заполнять счета по движениям, а самое главное причем тут КА?
35 katerinaUniv
 
11.07.12
16:14
(33)вот такая вот база! в самой тч не заполнен счет учета, например, на вкладке "Товары" поступления товаров и услуг. крыж был снят и поле не заполнено, я крыж выставила - и теперь видно. а раз в тч нет счета - то и не выгрузится
36 Джон Вэйн
 
11.07.12
16:38
(32) обработчик "после загрузки в файл" пропишите потребные реквизиты прямым текстом,не забывая добавлять префикс "обьект."
в табличной части можно перебрать строки и тоже через префикс "обьект."
37 Йохохо
 
11.07.12
16:39
(35) рауз?
38 Джон Вэйн
 
11.07.12
16:48
Приблизительно так

Объект.СуммаДокумента = Объект.Товары.Итог("Сумма");
нглТекущийПользователь = глЗначениеПеременной("глТекущийПользователь");

Если Объект.Метаданные().Реквизиты.Найти("Склад") <> Неопределено
   И ( Объект.Склад.Пустая()) Тогда
   Объект.Склад = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(нглТекущийПользователь, "ОсновнойСклад");
КонецЕсли;


Если Объект.Метаданные().Реквизиты.Найти("Организация") <> Неопределено
   И ( Объект.Организация.Пустая()) Тогда
   Объект.Организация = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(нглТекущийПользователь, "ОсновнаяОрганизация");
КонецЕсли;

Ха = Истина;
Если Объект.Метаданные().Реквизиты.Найти("ДоговорКонтрагента") <> Неопределено
   И ( Объект.ДоговорКонтрагента.Пустая()) Тогда
   
   СпрДоговоров = Справочники.ДоговорыКонтрагентов.Выбрать(,Объект.Контрагент );
   Пока СпрДоговоров.Следующий() Цикл
       Если ( Нрег( СпрДоговоров.Наименование ) = "основной договор" ) И
           ( СпрДоговоров.ВидДоговора  = Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком ) Тогда
               Объект.ДоговорКонтрагента = СпрДоговоров.Ссылка;
               Ха = Ложь;
            Прервать;
       КонецЕсли;
   КонецЦикла;
   Если Ха Тогда
//        СпрДоговоров.Новый;
       НовыйЭлемент = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент();
       НовыйЭлемент.Наименование = "Основной договор";
       НовыйЭлемент.ВидДоговора  = Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком;
       НовыйЭлемент.Владелец   = Объект.Контрагент;
       НовыйЭлемент.Организация  = Объект.Организация;
       НовыйЭлемент.ВалютаВзаиморасчетов  = Объект.ВалютаДокумента;
       НовыйЭлемент.Записать();
       Объект.ДоговорКонтрагента = НовыйЭлемент.Ссылка;
       
       
   КонецЕсли;
   
КонецЕсли;

Объект.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.НайтиПоКоду("60.01");
Объект.СчетУчетаРасчетовПоАвансам = ПланыСчетов.Хозрасчетный.НайтиПоКоду("60.02");

Для каждого СтрокаТЧ из Объект.Товары Цикл
   Если СтрокаТЧ.СуммаНДС > 0 Тогда
       Если Не ЗначениеЗаполнено( СтрокаТЧ.СтавкаНДС ) Тогда
           СтрокаТЧ.СтавкаНДС = Перечисления.СтавкиНДС.НДС18;
       КонецЕсли;
   КонецЕсли;
   
   СтрокаТЧ.СчетУчета = ПланыСчетов.Хозрасчетный.НайтиПоКоду("41.01");
   СтрокаТЧ.СчетУчетаНДС = ПланыСчетов.Хозрасчетный.НайтиПоКоду("19.03");
   
КонецЦикла;

   Ин = 0;
   Попытка
       Объект.Записать(РежимЗаписиДокумента.Проведение);
       Сообщить("Документ проведен : "+ СокрЛП(Объект));
       Ин = Ин + 1;
   Исключение
       Сообщить("ДОКУМЕНТ НЕ ПРОВЕДЕН : "+ ОписаниеОшибки(), СтатусСообщения.ОченьВажное);
       Сообщить(" "+СокрЛП(Объект));
   КонецПопытки;
Объект.Записать(РежимЗаписиДокумента.ОтменаПроведения);




Как видите, можно любой реквизит дозагрузить
и даже перепровести, но это как вариант
Только с обработчиком нагрешил - обработчик "после загрузки"
т.6е проверяем реквизиты при загрузке уже после загрузки обьекта
39 Йохохо
 
11.07.12
16:50
(38) дозаполнить <> дозагрузить
40 Джон Вэйн
 
11.07.12
16:51
(32) да, кстати, это не причина, впрочем Вы и сами догадались
41 Джон Вэйн
 
11.07.12
16:52
(39) погрешности стиля изложения <> излагаемому..
Вам нужно вТулу
42 Йохохо
 
11.07.12
17:02
(41) дозаполнить - заполнить по данным базы приемника
дозагрузить - заполнить по данным базы источника
погрешность стиля джона вейна не равна джону вейну, ага
(35) счета учета заполнены в документе то?
43 Marusya1C
 
24.07.12
11:34