Dup Stan

0
Рейтинг

Stan Dup
temsan89



  •   Регистрация: 19.05.2014 (3 года назад)

  •   Был(а) на сайте: сегодня в 18:48

Комментарии

ВидеоКанбан проекта 1С (scrum agile board)#2 14.06.16 22:52
Отличное видео! Спасибо! Скажите, а ссылка на конфу будет?
ОбменОбмен УТ-БП. Номенклатура приемник <;объект не найден>#1 16.05.16 14:25
Ребята, подскажите, пожалуйста, вожусь с загрузкой из УТ в БП. Проблема: При неудачном поиски номенклатуры и создании её в приемнике, в РТУ в ТЧ Товары/Услуги, колонка номенклатура записыается <объект не найден>. В чем может быть проблема при загрузке? Спасибо.
Во вложении правила.
ОбменУТ 10.3 - БП2.0 Счета учета#2 13.05.16 18:25
блин... пятница, добавил код в обработчик ПослеЗагрузкиОбъекта, взлетело.
ОбменУТ 10.3 - БП2.0 Счета учета#1 13.05.16 16:13
Подскажите, делаю загрузку по правилам из УТ в БП. Условие - необходимо выбирать и проставлять счета доходов и расходов по товару/услуге из последних установленых в документах по этим номенклатурам.
Уже битый час ломаю голову. Что сделано:

В ПКО, событие при загрузке/после загрузки и т.д. добавил код для тестов

Код
// Заполним счета для номенклатуры
   Если ТипЗнч(Объект.Ссылка) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
      
      Если Объект.Товары.Количество() > 0 Тогда
         ИмяТЧ = "Товары";
      ИначеЕсли Объект.Услуги.Количество() > 0 Тогда
         ИмяТч = "Услуги";
      Иначе
         ИмяТЧ = Неопределено;
      КонецЕсли;
      
      
      Объект.Записать();
      
      Если НЕ ИмяТЧ = Неопределено Тогда
         
         Сообщить(ТипЗнч(Объект));
         Сообщить("ааа");
         //тзСчетаНоменклатуры.ЗагрузитьКолонку(Объект[ИмяТЧ].ВыгрузитьКолонку("Номенклатура"), "Номенклатура");
         Для Каждого Стр ИЗ Объект[ИмяТЧ] Цикл
            //Сообщить("двадвдавда");
            Сообщить(Стр.Номенклатура);
            Сообщить(ТипЗнч(Стр.Номенклатура));
            Запрос = Новый Запрос;
            Запрос.Текст = 
            "ВЫБРАТЬ
            |   РеализацияТоваровУслугТовары.Номенклатура,
            |   РеализацияТоваровУслугТовары.СчетУчета,
            |   РеализацияТоваровУслугТовары.СчетДоходов,
            |   РеализацияТоваровУслугТовары.СчетРасходов,
            |   РеализацияТоваровУслугТовары.Ссылка.Дата
            |ПОМЕСТИТЬ ДокТЧ
            |ИЗ
            |   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
            |ГДЕ
            |   РеализацияТоваровУслугТовары.Номенклатура В (&Номенклатура)
            |   И РеализацияТоваровУслугТовары.Ссылка.Проведен
            |   И НЕ РеализацияТоваровУслугТовары.Ссылка.ПометкаУдаления
            |
            |СГРУППИРОВАТЬ ПО
            |   РеализацияТоваровУслугТовары.Ссылка.Дата,
            |   РеализацияТоваровУслугТовары.СчетРасходов,
            |   РеализацияТоваровУслугТовары.СчетДоходов,
            |   РеализацияТоваровУслугТовары.СчетУчета,
            |   РеализацияТоваровУслугТовары.Номенклатура
            |
            |ОБЪЕДИНИТЬ ВСЕ
            |
            |ВЫБРАТЬ
            |   РеализацияТоваровУслугУслуги.Номенклатура,
            |   """",
            |   РеализацияТоваровУслугУслуги.СчетДоходов,
            |   РеализацияТоваровУслугУслуги.СчетРасходов,
            |   РеализацияТоваровУслугУслуги.Ссылка.Дата
            |ИЗ
            |   Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги
            |ГДЕ
            |   РеализацияТоваровУслугУслуги.Номенклатура В (&Номенклатура)
            |   И РеализацияТоваровУслугУслуги.Ссылка.Проведен
            |   И НЕ РеализацияТоваровУслугУслуги.Ссылка.ПометкаУдаления
            |
            |СГРУППИРОВАТЬ ПО
            |   РеализацияТоваровУслугУслуги.Ссылка.Дата,
            |   РеализацияТоваровУслугУслуги.СчетРасходов,
            |   РеализацияТоваровУслугУслуги.СчетДоходов,
            |   РеализацияТоваровУслугУслуги.Номенклатура
            |;
            |
            |////////////////////////////////////////////////////////////////////////////////
            |ВЫБРАТЬ ПЕРВЫЕ 1
            |   ДокТЧ.Номенклатура,
            |   ДокТЧ.СчетУчета,
            |   ДокТЧ.СчетДоходов,
            |   ДокТЧ.СчетРасходов,
            |   ДокТЧ.Дата КАК Дата
            |ИЗ
            |   ДокТЧ КАК ДокТЧ
            |
            |УПОРЯДОЧИТЬ ПО
            |   Дата УБЫВ";
            
            //Запрос.УстановитьПараметр("Номенклатура",тзСчетаНоменклатуры.ВыгрузитьКолонку("Номенклатура"));
            Запрос.УстановитьПараметр("Номенклатура", Стр.Номенклатура);
            
            Результат = Запрос.Выполнить();
            
            
            //   Выборка = Результат.Выбрать();
            Сообщить("" + Результат.Выгрузить().Количество());
            //   Пока Выборка.Следующий() Цикл   
            Выборка = Результат.Выгрузить();
            Сообщить(Выборка[0].СчетРасходов);
            Сообщить("" + Выборка[0].СчетДоходов);
            
            Стр.СчетДоходов = Выборка[0].СчетДоходов;
            Сообщить(ТипЗнч(Стр.СчетДоходов));
            
            //   КонецЦикла;
            Объект.Записать();   
         КонецЦикла;   
      
      КонецЕсли;
   КонецЕсли;


По сообщалкам вижу что Стр.СчетДохов присваивается нужный мне счет, с типом "счет бухгалтерского учета", но при открытие документа счета пустые... порядок выгрузки в правилах менял...
ОбменСопоставление реквизитов ТЧ по условию#13 12.05.16 18:23
Разобрался... книга по КД Бояркин/Филатов, страница 135.

Решение:

Для табличной части, ПКС Номенклатура :

Источник: Пусто
Приемник: Номенклатура

Правило: обазтельно создаем новый ПКО (Источник - пусто, Приемник - Номенклатура). Для него создаем единсвтенное ПКС - Источник: Пусто, Приемник: Наименвание.
Добавляем в событие "Перед загрузкой" Значение = источник

---- Теперь доработаем ПКС табличной части. После того как заполнили источник, приемник, правило, добавляем:
Событие "Перед загрузкой":

Код
Если ЗначениеЗаполнено(ОбъектКоллекции.ДопПредставлениеНоменклатуры) Тогда   
   Значение = СокрЛП(ОбъектКоллекции.ДопПредставлениеНоменклатуры);
Иначе
   Значение = СокрЛП(ОбъектКоллекции.Номенклатура);   
КонецЕсли;



Большое спасибо v3rter, Rinnous за подсказки.
ОбменСопоставление реквизитов ТЧ по условию#10 12.05.16 12:46
Дада Именно в Источнике Строка, а в применике - справочник.номенклатура, подскажите, как сопоставить правильно?
ОбменСопоставление реквизитов ТЧ по условию#11 12.05.16 12:46
По сути мне нужно найти по наименованию номенклатуру при загрузке в приемник.
ОбменСопоставление реквизитов ТЧ по условию#5 12.05.16 12:19
Смотрю XMLину, выгружает мое представление номенклатуры

-<Свойство Имя="Номенклатура">

<Значение>Бензин 95</Значение>

</Свойство>

Но приемник не заполняет....

На получение в приемнике может влияет не заполненное поле в ПКС - "Правило". Если его заполняю правилом Номенклатура, на выходе получаю ошибку:

ТипОбъекта = Документ объект: Реализация товаров и услуг
Объект = Реализация товаров и услуг СПб00000324 от 23.01.2016 16:58:41
ОписаниеОшибки = Ошибка получения значения свойства объекта (по имени свойства источника)
ПКО = Номенклатура (Справочник: Номенклатура)
ПКС = 5 (Наименование --> Наименование)
Объект = Бензин 95 (Строка)
СвойствоПриемника = Наименование (Строка)
ОписаниеОшибки = Получение элемента по индексу для значения не определено
ПозицияМодуля = Обработка.ОбменДаннымиXML(8059)
КодСообщения = 13
ПозицияМодуля = Обработка.ОбменДаннымиXML(1635)
КодСообщения = 72
УзелПланаОбмена = Бухгалтерия предприятия
ОбменСопоставление реквизитов ТЧ по условию#2 12.05.16 10:26
Создал ПКС - пустой источник, приемник - номенклатура.

Если ЗначениеЗаполнено(ОбъектКоллекции.ДопПредставелниеНоменклатуры) Тогда

Значение = ОбъектКоллекции.ДопПредставелниеНоменклатуры;
Иначе

Значение = ОбъектКоллекции.Номенклатура;

КонецЕсли;

Сообщить(Значение);

В сообщалке вижу что выгружается корректно, в приемнике всё равно пустое значение :/