Имя: Пароль:
1C
1С v8
Счет учета номенклатуры при обмене данными
0 slaaay
 
02.10.12
13:43
Можно ли как то установить счета учета номенклатуры при универсальном обмене из ут в бп?
1 Cube
 
02.10.12
13:44
(0) А у тебя срабатывает универсальный обмен?)) Что-то тут нечисто... :)
2 Just4Fun
 
02.10.12
13:46
Посмотреть в правилах, когда устанавливаются счета. Скорее всего после загрузки вызывается "Объект.ЗаполнитьСчетаУчетаВТабЧасти(..), т.е. заполнение выполняется по РС счета учета номенклатуры
3 Cube
 
02.10.12
13:46
+(1) Стоп, это я попутал универсальный обмен с обработкой ВыгрузкаЗагрузкаДанныхXML...
4 slaaay
 
02.10.12
13:47
ну универсальный обмен данными в формате XML обработка выгружаю в файл и ут, затем гружу в БП...при загрузке докуменат в бп можно ли как то установить счета?
5 Just4Fun
 
02.10.12
13:56
Посмотрел в типовых правилах УТ10 - БП2.0.  Вызов заполнения счетов учета вызывается "ПослеЗагрузкиДанных".
6 slaaay
 
02.10.12
16:55
Just4Fun а можешь скинуть полный код что там написано? в процедуре ПослеЗагрузкиДанных
7 Just4Fun
 
03.10.12
10:36
ПослеЗагрузки объекта ссылка заносится в список Параметры.ДокументыСОпределениемДопРеквизитов.Добавить(Объект.Ссылка);

ПослеЗагрузкиДанных обрабатывается коллекция Параметры.ДокументыСОпределениемДопРеквизитов

в зависимости от типа документа своя пост обработка (дозаполнение, например).
в частности для Реализации

           ДокументОбъектСОпределениемДопРеквизитов = ДокументСОпределениемДопРеквизитов.ПолучитьОбъект();
           ///////////////////////////////////////////////
           // Заполнение счетов учета в шапке документа //
           ///////////////////////////////////////////////
           СчетаУчета = БухгалтерскийУчетРасчетовСКонтрагентами.ПолучитьСчетаРасчетовСКонтрагентом(ДокументОбъектСОпределениемДопРеквизитов.Организация, ДокументОбъектСОпределениемДопРеквизитов.Контрагент, ДокументОбъектСОпределениемДопРеквизитов.ДоговорКонтрагента);
           Если ДокументОбъектСОпределениемДопРеквизитов.ДоговорКонтрагента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером Тогда
               ДокументОбъектСОпределениемДопРеквизитов.СчетУчетаРасчетовСКонтрагентом  = ПланыСчетов.Хозрасчетный.ПустаяСсылка();
               ДокументОбъектСОпределениемДопРеквизитов.СчетУчетаРасчетовПоАвансам      = ПланыСчетов.Хозрасчетный.ПустаяСсылка();
               ДокументОбъектСОпределениемДопРеквизитов.СчетУчетаРасчетовПоТаре         = ПланыСчетов.Хозрасчетный.ПустаяСсылка();
           Иначе
               ДокументОбъектСОпределениемДопРеквизитов.СчетУчетаРасчетовСКонтрагентом  = СчетаУчета.СчетРасчетовПокупателя;
               ДокументОбъектСОпределениемДопРеквизитов.СчетУчетаРасчетовПоАвансам      = СчетаУчета.СчетАвансовПокупателя;
               ДокументОбъектСОпределениемДопРеквизитов.СчетУчетаРасчетовПоТаре         = СчетаУчета.СчетУчетаТарыПокупателя;
           КонецЕсли;
           ДокументОбъектСОпределениемДопРеквизитов.СчетУчетаРасчетовПоТаре = СчетаУчета.СчетУчетаТарыПокупателя;
           ДокументОбъектСОпределениемДопРеквизитов.СчетУчетаРасходовПоТаре = СчетаУчета.СчетУчетаРасходовПоТаре;
           ДокументОбъектСОпределениемДопРеквизитов.СчетУчетаДоходовПоТаре  = СчетаУчета.СчетУчетаДоходовПоТаре;
           
           СтрокаСсылки = Параметры.ТоварыТабличнаяЧасть.Найти(ДокументОбъектСОпределениемДопРеквизитов.Ссылка, "Ссылка");
           Если СтрокаСсылки <> Неопределено
               И СтрокаСсылки.ТоварыТабличнаяЧасть.Количество() = ДокументОбъектСОпределениемДопРеквизитов.Товары.Количество()
           Тогда
               Для НомерСтроки = 0 По СтрокаСсылки.ТоварыТабличнаяЧасть.Количество() - 1 Цикл
                   СтрокаПараметров = СтрокаСсылки.ТоварыТабличнаяЧасть.Получить(НомерСтроки);
                   ЗначениеПараметра = СтрокаПараметров.Комиссия;
                   
                   СтрокаТЧ = ДокументОбъектСОпределениемДопРеквизитов.Товары.Получить(НомерСтроки);
                   
                   ДокументОбъектСОпределениемДопРеквизитов.ЗаполнитьСчетаУчетаВСтрокеТабЧасти(СтрокаТЧ, "Товары", Истина);
                   
                   Если ЗначениеПараметра = Истина Тогда
                       СтрокаТЧ.ПереданныеСчетУчета = ПланыСчетов.Хозрасчетный.ТоварыПереданныеНаКомиссию;
                       СтрокаТЧ.СчетУчета           = ПланыСчетов.Хозрасчетный.ТоварыНаСкладе;
                   КонецЕсли;
               КонецЦикла;
           Иначе
               Для Каждого СтрокаТЧ Из ДокументОбъектСОпределениемДопРеквизитов.Товары Цикл
                   ДокументОбъектСОпределениемДопРеквизитов.ЗаполнитьСчетаУчетаВСтрокеТабЧасти(СтрокаТЧ, "Товары", Истина);
               КонецЦикла;
           КонецЕсли;
           ///////////////////////////////////////////////////////////////
           // Заполнение счетов учета в табличной части Возвратная тара //
           ///////////////////////////////////////////////////////////////
           ДокументОбъектСОпределениемДопРеквизитов.ЗаполнитьСчетаУчетаВТабЧасти(ДокументОбъектСОпределениемДопРеквизитов.ВозвратнаяТара, "ВозвратнаяТара", Истина);
           //////////////////////////////////////////////////////
           // Заполнение счетов учета в табличной части Услуги //
           //////////////////////////////////////////////////////
           ДокументОбъектСОпределениемДопРеквизитов.ЗаполнитьСчетаУчетаВТабЧастиУслуги(Истина);
8 Just4Fun
 
03.10.12
10:37
не поленись, открой типовые правила. не придется изобретать велосипед.