Имя: Пароль:
1C
1С v8
Синхронизация данных между УТ 10.3 и БП 3.0 сводно по номенклатуре
0 deskor
 
30.05.16
13:01
Ут 10.3.32.2
БП 3.0.43.124
Правила обмена взяты из УТ 10.3.35

Изменения в правила обмена вносились в КД 2.1. В принт-скринах они видны. При синхронизации вылетает ошибка:

Ошибка в обработчике события ПередВыгрузкойОбъекта
    ПКО                    =  Номенклатура  (Справочник: Номенклатура)
    Объект                 =  Товар  (Строка)
    Обработчик             =  ПередВыгрузкойОбъекта
    ОписаниеОшибки         =  Значение не является значением объектного типа (ЭтоГруппа)
    ПозицияМодуля          =  (3)
    КСообщенияОбОшибках    =  41

Думалось, что указав в Правиле конвертации свойств для реквизита ЭтоГруппа справочника Номенклатура значение = ложь, проблема решится (ПКС_Номенклатура_ЭтоГруппа_ПередВыгрузкойСвойства_4_12). Не решилась. Подскажите, как решить эту проблему и выгрузить таки отчеты о розничных продажах сводно по номенклатуре.

https://yadi.sk/d/-99utVvgs7Hdw - принт-скрины измененных правил.
1 Cyberhawk
 
30.05.16
13:03
Ошибка в том, что то, что слева от точки ".ЭтоГруппа" в коде, не имеет такого свойства ("ЭтоГруппа")
2 Cyberhawk
 
30.05.16
13:03
Отладку тебе в помощь, сразу все станет ясно
3 Cyberhawk
 
30.05.16
13:04
А, так ты строку передаешь в ПКС "Номенклатура" ТЧ "Товары"
4 Cyberhawk
 
30.05.16
13:04
Так делать нельзя
5 Cyberhawk
 
30.05.16
13:04
Обработчик "ПоляПоиска" тебе в помощь, остальное все не нужно
6 deskor
 
30.05.16
13:09
(5) где найти этот обработчик в КД?
7 deskor
 
30.05.16
13:15
Нашел Поля Поиска для справочника Номенклатура. Не понятно, что туда писать.  Мне нужно чтобы все позиции таб части Товары документа Отчет о розн продажах сворачивались в некий "Товар" (такой элемент номенкдатуры создан в БП 3.0), сумма и цена соответственно суммировались.
8 deskor
 
30.05.16
13:32
Для Договоров контрагента есть такой код в обработчкие Поля поиска:
Если СвойстваПоиска["ЭтоГруппа"] = Истина Тогда
    СтрокаИменСвойствПоиска = "Наименование, ЭтоГруппа";
Иначе
    СтрокаИменСвойствПоиска = "Наименование, Владелец, ВалютаВзаиморасчетов, ВедениеВзаиморасчетов, Организация, ВидДоговора, ЭтоГруппа";
Конецесли;

Не пойму, как с помощью этого обработчика решить мою проблему. Подскажите, пожалуйста!! Опыта с КД и обменами очень мало((
9 Поpyчик-4
 
30.05.16
14:02
(7) Проще событие ПослеЗагрузки ПКО объекта.

КоллекцияОбъектов = Объект.Товары.Выгрузить();
КоллекцияОбъектов.ЗаполнитьЗначения(СсылкаНаОбщийЭлементНоменклатуры, "Номенклатура");
//Сворачиваем как надо
КоллекцияОбъектов.Свернуть("Номенклатура", "Сумма");
//и загружаем обратно в ТЧ Товары
10 Cyberhawk
 
30.05.16
15:51
"ашел Поля Поиска для справочника Номенклатура. Не понятно, что туда писать." // Справку обязательно прочти
11 deskor
 
30.05.16
15:52
КоллекцияОбъектов = Объект.Товары.Выгрузить();
КоллекцияОбъектов.ЗаполнитьЗначения(Справочник.Номенклатура.НайтиПоНаименованию("Товар123"), "Номенклатура");
//Сворачиваем как надо

КоллекцияОбъектов.Свернуть("Номенклатура", "Сумма, Цена, СуммаНДС");
//и загружаем обратно в ТЧ Товары
Объект.Товары.Загрузить(КоллекцияОбъектов);

НайтиПоНаименованию - совсем не изящно, но должно работать. Выгружает документ, элемент справочника Номенклатура не находит (пишет "объект не найден").
12 deskor
 
31.05.16
22:44
Если кому интересно - получилось так:
Событие ПослеЗагрузки ПКО объекта Отчет о розничных продажах:

КоллекцияОбъектов = Объект.Товары.Выгрузить();

НашТовар =  Справочники.Номенклатура.НайтиПоНаименованию("Товар123");

КоллекцияОбъектов.ЗаполнитьЗначения(НашТовар.Ссылка, "Номенклатура");

//Сворачиваем как надо


КоллекцияОбъектов.Свернуть("Номенклатура", "Сумма, СуммаНДС");

//и загружаем обратно в ТЧ Товары

Объект.Товары.Загрузить(КоллекцияОбъектов);

Объект.Товары[0].Цена = Объект.Товары[0].Сумма;

Объект.Товары[0].Количество = 1;

Объект.Товары[0].СтавкаНДС = НашТовар.СтавкаНДС;

Объект.Товары[0].СчетУчета = ПланыСчетов.Хозрасчетный.ТоварыНаСкладах; //41.01

Объект.Товары[0].СчетДоходов = ПланыСчетов.Хозрасчетный.ВыручкаНеЕНВД; //90.01.1

Объект.Товары[0].СчетРасходов = ПланыСчетов.Хозрасчетный.СебестоимостьПродажНеЕНВД;  //90.02.1
13 deskor
 
03.06.16
12:10
На базах клиента синхронизация происходит с ошибками:
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(14809)}: Ошибка при вызове метода контекста (НачатьЗапись)
    ЗаписьСообщения.НачатьЗапись(ЗаписьXML, УзелДляОбмена);
по причине:
Не удалось заблокировать запись. Действие (изменение, удаление или блокировка записи) не выполнено.
Ошибка блокировки объекта. Объект уже заблокирован:
компьютер: User-ПК, пользователь: Администратор, сеанс: 4, начат: 03.06.2016 в 11:36:39, приложение: Толстый клиент

Обработка: ТранспортСообщенийОбменаFILE: В каталоге обмена информацией не был обнаружен файл сообщения с данными.
Каталог обмена информацией: ""
Имя файла сообщения обмена: "Message_РС_УТ.xml" или "Message_РС_УТ.zip"


В базе никто, кроме меня не работает. Пользователь на компьютере один. Комп перезагружался. Клиент обновил бухгалтерию до версии 3.0.43.236. Пробовал взять правила из обновленной БП и изменить их как мне надо - та же ошибка. Причем эти ошибки сохраняются на сервере у клиента.
Смотрел в сторону регламентных и фоновых заданий. Стояла блокировка синхронизации, снял ее, ошибки сохранились. помогите разобраться...
14 deskor
 
03.06.16
12:55
UP
15 hhhh
 
03.06.16
13:49
права дай себе на ту папку
16 deskor
 
03.06.16
13:54
(15) на какую папку? на компе пользователь один, неужели у него может не быть прав на какую то папку?
17 deskor
 
03.06.16
14:24
В очередной раз ссылка на путь с этим файлом была такая:
C:\Users\User\AppData\Local\Temp\ и дальше папка типа такой: Exchange82 {9B7B92D5-50A6-4D47-82B3-A7243541C629}
но ее там не было. Как будто нет прав на создание папки. Но я вручную создал эту папку, никаких ошибок на права не выдал.
18 deskor
 
04.06.16
13:24
UP