Имя: Пароль:
1C
1С v8
правила конвертации не срабатывает цикл
0 Папай
 
10.12.21
21:53
Добрый день.Такой вопрос.Есть конвертация,сделал правила обмена.если запускать через универсальный обмен вручную то все заполняется а если через синхронизацию то категорически не заполняются в документе коэффициент и елиница:хотя открываю файл правил там все прописано.цикл есть
<Правило>
<Код>ПоступлениеТоваровУслуг</Код>
<ПослеЗагрузки>Если Объект.Организация= Справочники.Организации.НайтиПоКоду("00-000001") Тогда
   для каждого стр из Объект.Товары Цикл
      стр.НалоговоеНазначение = Справочники.НалоговыеНазначенияАктивовИЗатрат.НайтиПоКоду("000033");
   КонецЦикла;
КонецЕсли;

//вот этот цикл не срабатывает////единица  в документе и коэффициент пустые.
для каждого стр из Объект.Товары Цикл
  стр.ЕдиницаИзмерения = стр.Номенклатура.БазоваяЕдиницаИзмерения;
стр.СчетУчетаБУ= ПланыСчетов.Хозрасчетный.ТоварыНаСкладе;
  стр.Коэффициент=1;
КонецЦикла;
1 Casey1984
 
10.12.21
22:31
(0) ПоступлениеТоваровУслуг по ссылке?
2 Злопчинский
 
10.12.21
22:33
а что, в 8-ке нельзя вставить отладочные сообщения или иное логгирование на самый крайний случай?
" то категорически не заполняются в документе коэффициент и елиница"
а вот это
стр.СчетУчетаБУ= ПланыСчетов.Хозрасчетный.ТоварыНаСкладе;
получается - срабатывает?
скорее всего тупо в цикл не входит, Объект.Товары - пустой
3 Толич
 
10.12.21
22:36
(0) Лог текстовый сделай и посмотри, что происходит в модуле.
4 Папай
 
10.12.21
22:38
(3)можно пример?
5 Папай
 
10.12.21
22:39
(2)меня тоже удивляет что стр.СчетУчетаБУ= ПланыСчетов.Хозрасчетный.ТоварыНаСкладе; срабатывает.вот хочу закоментить и проверить действительно ли
6 acanta
 
10.12.21
22:40
Есть вероятность, что тип базовой единицы перечисление, а в таб.части справочник единицы измерения.
7 Толич
 
10.12.21
22:45
(4)
текстФайл = Новый ТекстовыйДокумент;
текстФайл.ДобавитьСтроку("гы");
текстФайл.Записать("C:\лог.txt");
8 Aleksey
 
10.12.21
22:47
(7) нехватает проверку на существование или через попытку открыть, чтобы он продолжал гадить, а не писал последнюю строку.
9 Aleksey
 
10.12.21
22:48
Ну и до кучи, зачем тащить ссылку на организацию если нужно только сверить код?
Если Объект.Организация.Код = "00-000001" тогда
10 Папай
 
10.12.21
23:08
(9)спасибо за подсказку
11 серый КТУЛХУ
 
11.12.21
02:46
(9)+ а чтобы через точки как в (9) не продираться - через параметр...
1. в обработчике конвертации "Перед загрузкой данных" - запихни в параметр:
Параметры.Вставить("Организация00000001",Справочники.Организации.НайтиПоКоду("00-000001"));
2. и потом везде где надо при загрузке - дергай да сверяй с этим параметром:
Если Объект.Организация = Параметры.Организация00000001 Тогда ...
12 серый КТУЛХУ
 
11.12.21
03:07
(7): ну или чтобы не затирать:
Текст = Новый ЗаписьТекста;
Текст.Открыть("C:\лог.txt",КодировкаТекста.ANSI,,Истина);
Текст.ЗаписатьСтроку(...);
Текст.Закрыть();
13 Папай
 
11.12.21
23:03
подниму тему:
поставил запись в файл лог ничего не происходит.такое ощущение что правила вообще не отрабатываются
        <Правило>
            <Код>ПоступлениеТоваровУслуг</Код>
            <ПослеЗагрузки>Если Объект.Организация.Код= "00-000001" Тогда
   для каждого стр из Объект.Товары Цикл
      стр.НалоговоеНазначение.Код = "000033";
   КонецЦикла;
КонецЕсли;

для каждого стр из Объект.Товары Цикл
      стр.ЕдиницаИзмерения = стр.Номенклатура.БазоваяЕдиницаИзмерения;
      стр.СчетУчетаБУ= ПланыСчетов.Хозрасчетный.ТоварыНаСкладе;
      стр.Коэффициент=1;
      
            ПолноеИмяФайла="D:\SLg.txt";
            Текст = Новый ЗаписьТекста;  
            Текст.Открыть(ПолноеИмяФайла,КодировкаТекста.UTF8,,Истина);
            Текст.ЗаписатьСтроку(стр.Коэффициент);
            Текст.Закрыть();

КонецЦикла;
            ПолноеИмяФайла="D:\SLg.txt";
            Текст = Новый ЗаписьТекста;  
            Текст.Открыть(ПолноеИмяФайла,КодировкаТекста.UTF8,,Истина);
            Текст.ЗаписатьСтроку("тест");
            Текст.Закрыть();
14 Папай
 
11.12.21
23:04
если через универсалный обмен то пишется в файл.а через синхронизацию не пишет в лог ничего,хотя документ перекидывает,но опять без единицы и коэффициента
15 Злопчинский
 
11.12.21
23:46
очевидно, что в одном случае набор входных параметров для обмена не соответствует ожидаемому...
16 Папай
 
12.12.21
00:09
(15)не понял