Имя: Пароль:
1C
1С v8
Конвертация данных.ПослеВыгрузки изменить ТЧ документа
0 yavasya
 
15.07.14
19:33
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ПриходнаяНакладная.СтавкаНДС,
        |    СУММА(ПриходнаяНакладная.СуммаНДС) КАК СуммаНДС,
        |    СУММА(ПриходнаяНакладная.Сумма) КАК Сумма,
        |    СУММА(АктПереоценки.Цена * ПриходнаяНакладная.Количество) КАК СуммаВ_Рознице
        |ИЗ
        |    Документ.ПриходнаяНакладная.Товары КАК ПриходнаяНакладная
        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.АктПереоценки.Товары КАК АктПереоценки
        |        ПО ПриходнаяНакладная.Номенклатура = АктПереоценки.Номенклатура
        |ГДЕ
        |    АктПереоценки.Ссылка.ДокументОснование = &Документ
        |    И ПриходнаяНакладная.Ссылка = &Документ
        |
        |СГРУППИРОВАТЬ ПО
        |    ПриходнаяНакладная.СтавкаНДС";

    Запрос.УстановитьПараметр("Документ", Источник);

    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
         Объект.Товары.Очистить();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        СтрокаТовары=Объект.Товары.Добавить();
        СтрокаТовары.СтавкаНДС=ВыборкаДетальныеЗаписи.СтавкаНДС;
        СтрокаТовары.Сумма=ВыборкаДетальныеЗаписи.Сумма;
        
    КонецЦикла;
1 yavasya
 
15.07.14
19:36
Конфигурации ДолионПро-В БП 2.0
Документы ПриходнаяНакладная-ПоступлениеТоваровУслуг
Ведется суммовой учет в бухгалетерии, поэтому нужно изменить табличную часть документа приходная накладная.
2 Wobland
 
15.07.14
19:36
(0) ерундень
3 Wobland
 
15.07.14
19:36
(2) или нет?
4 yavasya
 
15.07.14
20:05
хотел в файле обмена поменять табличную часть
5 yavasya
 
15.07.14
20:06
(3) капитан очевидность что посоветуете?
6 yavasya
 
15.07.14
20:10
исходящие данные создать?
7 m-serg74
 
15.07.14
20:16
(0)

         Объект.Товары.Очистить();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        СтрокаТовары=Объект.Товары.Добавить();
        СтрокаТовары.СтавкаНДС=ВыборкаДетальныеЗаписи.СтавкаНДС;
        СтрокаТовары.Сумма=ВыборкаДетальныеЗаписи.Сумма;
        
    КонецЦикла;


а Номенклатуру куда дел? :)
8 m-serg74
 
15.07.14
20:18
+(7)
/Запрос.УстановитьПараметр("Документ", Источник);/

и тута вроде уже не источник должен быть,  а Объект
9 m-serg74
 
15.07.14
20:20
*Объект.Ссылка
10 yavasya
 
15.07.14
20:35
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ПриходнаяНакладная.СтавкаНДС,
        |    СУММА(ПриходнаяНакладная.СуммаНДС) КАК СуммаНДС,
        |    СУММА(ПриходнаяНакладная.Сумма) КАК Сумма,
        |    СУММА(АктПереоценки.Цена * ПриходнаяНакладная.Количество) КАК СуммаВ_Рознице
        |ИЗ
        |    Документ.ПриходнаяНакладная.Товары КАК ПриходнаяНакладная
        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.АктПереоценки.Товары КАК АктПереоценки
        |        ПО ПриходнаяНакладная.Номенклатура = АктПереоценки.Номенклатура
        |ГДЕ
        |    АктПереоценки.Ссылка.ДокументОснование = &Документ
        |    И ПриходнаяНакладная.Ссылка = &Документ
        |
        |СГРУППИРОВАТЬ ПО
        |    ПриходнаяНакладная.СтавкаНДС";

    Запрос.УстановитьПараметр("Документ", Источник);

    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
      
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        
        надо сформировать исходящие данные
        
    КонецЦикла;
11 yavasya
 
15.07.14
20:35
на источнике
12 m-serg74
 
15.07.14
20:36
(11) читать не учили?
13 Defender aka LINN
 
15.07.14
21:12
(1) То есть тебе при выгрузке надо изменить ВЫГРУЖАЕМЫЙ документ?
http://paranormal-news.ru/_nw/93/33635437.jpg
14 yavasya
 
15.07.14
21:21
кто за оплату поможет , заодно обучение проведет ?
15 yavasya
 
16.07.14
07:28
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ПриходнаяНакладная.СтавкаНДС,
        |    СУММА(ПриходнаяНакладная.СуммаНДС) КАК СуммаНДС,
        |    СУММА(ПриходнаяНакладная.Сумма) КАК Сумма,
        |    СУММА(АктПереоценки.Цена * ПриходнаяНакладная.Количество) КАК СуммаВ_Рознице
        |ИЗ
        |    Документ.ПриходнаяНакладная.Товары КАК ПриходнаяНакладная
        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.АктПереоценки.Товары КАК АктПереоценки
        |        ПО ПриходнаяНакладная.Номенклатура = АктПереоценки.Номенклатура
        |ГДЕ
        |    АктПереоценки.Ссылка.ДокументОснование = &Документ
        |    И ПриходнаяНакладная.Ссылка = &Документ
        |
        |СГРУППИРОВАТЬ ПО
        |    ПриходнаяНакладная.СтавкаНДС";

    Запрос.УстановитьПараметр("Документ", Источник);

    РезультатЗапроса = Запрос.Выполнить();




Выгрузка = РезультатЗапроса.Выгрузить();
ИсходящиеДанные = Новый Структура("Материалы");
ИсходящиеДанные.Материалы = Новый ТаблицаЗначений;
ИсходящиеДанные.Материалы.Колонки.Добавить("СтавкаНДС");
ИсходящиеДанные.Материалы.Колонки.Добавить("Сумма");
ИсходящиеДанные.Материалы.Колонки.Добавить("СуммаВ_Рознице");
//ВходящиеДанные.Материалы.Колонки.Добавить("Количество");
Для каждого ТекСтрока Из Выгрузка Цикл
Сообщить("СтавкаНДС "          + ТекСтрока.СтавкаНДС);
Сообщить("Сумма "  + ТекСтрока.Сумма);
Сообщить("СуммаВ_Рознице " + ТекСтрока.СуммаВ_Рознице);
НовСтрока               = ВходящиеДанные.Материалы.Добавить();
НовСтрока.СтавкаНДС          = ТекСтрока.СтавкаНДС;
НовСтрока.Сумма  = ТекСтрока.Сумма;
НовСтрока.СуммаВ_Рознице = ТекСтрока.СуммаВ_Рознице;
//НовСтрока.Количество    = ТекСтрока.Количество;
КонецЦикла;
16 yavasya
 
16.07.14
07:29
перед загрузкой
17 yavasya
 
16.07.14
07:33
Затем при загрузке
Для каждого СТР из объект.товары цикл
Стр.Сумма=ВходящиеДанные.Сумма;
КонецЦикла;
?
18 VladZ
 
16.07.14
07:35
Не врубаюсь, в чем проблема.

В нужном тебе объекте в событие "После загрузки" добавляешь нужный тебе код...

Вот, к примеру, код для обработки ТЧ Товары в доке "реализация": расчет сумм и сумм НДС.

// проставляем сумму и сумму НДС

Для каждого СтрокаТовары из Объект.Товары Цикл
    ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТовары, Объект);
    ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТовары, Объект);
    
КонецЦикла;

Объект.Записать();
19 yavasya
 
16.07.14
07:37
ну туда должно попасть переоценка, без неё отличный ход
20 VladZ
 
16.07.14
07:40
В правиле выгрузке данных формируешь ТЗ нужной структуры и вызываешь правила выгрузки. В ПКО в качестве источника ничего не указываешь.
21 yavasya
 
16.07.14
07:44
при загрузке ругается на входящие данные.
переменная неопределена.
исходящие данные на стороне истоника, я думал при загрузке станут входящимии данными
22 VladZ
 
16.07.14
07:46
Поищи в инете пример конвертации таблицы значений в документ. Методичку поищи... Хотя бы вот эту: Konvertatsiya_dannyih._Metodika_rabotyi_i_primeryi.pdf
23 yavasya
 
16.07.14
08:00
пример правил скиньте пожалуйста
24 Defender aka LINN
 
16.07.14
08:49
(21) Исходящие данные становятся входящими в другом правиле.
25 yavasya
 
16.07.14
09:33
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ПриходнаяНакладная.СтавкаНДС,
        |    СУММА(ПриходнаяНакладная.СуммаНДС) КАК СуммаНДС,
        |    СУММА(ПриходнаяНакладная.Сумма) КАК Сумма,
        |    СУММА(АктПереоценки.Цена * ПриходнаяНакладная.Количество) КАК СуммаВ_Рознице
        |ИЗ
        |    Документ.ПриходнаяНакладная.Товары КАК ПриходнаяНакладная
        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.АктПереоценки.Товары КАК АктПереоценки
        |        ПО ПриходнаяНакладная.Номенклатура = АктПереоценки.Номенклатура
        |ГДЕ
        |    АктПереоценки.Ссылка.ДокументОснование = &Документ
        |    И ПриходнаяНакладная.Ссылка = &Документ
| И (ПриходнаяНакладная.Ссылка.Дата между &НачДата и  &КонДата)
        |
        |СГРУППИРОВАТЬ ПО
        |    ПриходнаяНакладная.СтавкаНДС";
Запрос.УстановитьПараметр("Документ",Источник);
Запрос.УстановитьПараметр("НачДата", НачалоДня(ДатаНачала));
Запрос.УстановитьПараметр("КонДата", КонецДня(ДатаОкончания));
КоллекцияОбъектов=Запрос.Выполнить().Выгрузить();
26 yavasya
 
16.07.14
09:38
Почему ругается в Правиле Выгрузки Данных, перед обработкой, что переменная источник ненайдена
27 VladZ
 
16.07.14
09:56
В событии ПВД ПередОбработкойПравила нет источника.
Есть ВыборкаДанных
28 VladZ
 
16.07.14
09:58
Можно, находясь в самом ПВД, нажать "отладка обработчиков" - "Сформировать модуль..." и посмотреть, какие параметры передаются в процедуры.