Имя: Пароль:
1C
1С v8
Поступление на основании заказа клиента (УТ 11.0.7.13)
0 anado
 
24.02.12
13:01
Собственно код:

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)

   Перем СкладПоступления;
   Перем РеквизитыШапки;
   
   ТипДанныхЗаполнения = ТипЗнч(ДанныеЗаполнения);

Если ТипДанныхЗаполнения = Тип("ДокументСсылка.ЗаказКлиента") Тогда
       // Заполнение шапки
       ВалютаВзаиморасчетов = ДанныеЗаполнения.Валюта;
       Валюта = ДанныеЗаполнения.Валюта;
       ГруппаФинансовогоУчета = ДанныеЗаполнения.ГруппаФинансовогоУчета;
       Менеджер = ПараметрыСеанса.ТекущийПользователь;
       Принял = ПараметрыСеанса.ТекущийПользователь;
       НалогообложениеНДС = ДанныеЗаполнения.НалогообложениеНДС;
       Организация = ДанныеЗаполнения.Организация;
       Склад = ДанныеЗаполнения.Склад;
       ЦенаВключаетНДС = ДанныеЗаполнения.ЦенаВключаетНДС;
       Подразделение = ЗначениеНастроекПовтИсп.ПодразделениеПользователя(Менеджер,Подразделение);
       Для Каждого ТекСтрокаДополнительныеРеквизиты Из ДанныеЗаполнения.ДополнительныеРеквизиты Цикл
           НоваяСтрока = ДополнительныеРеквизиты.Добавить();
           НоваяСтрока.Значение = ТекСтрокаДополнительныеРеквизиты.Значение;
           НоваяСтрока.Свойство = ТекСтрокаДополнительныеРеквизиты.Свойство;
           НоваяСтрока.ТекстоваяСтрока = ТекСтрокаДополнительныеРеквизиты.ТекстоваяСтрока;
       КонецЦикла;
       Для Каждого ТекСтрокаСерии Из ДанныеЗаполнения.Серии Цикл
           НоваяСтрока = Серии.Добавить();
           НоваяСтрока.Количество = ТекСтрокаСерии.Количество;
           НоваяСтрока.Номенклатура = ТекСтрокаСерии.Номенклатура;
           НоваяСтрока.Серия = ТекСтрокаСерии.Серия;
           НоваяСтрока.Склад = ТекСтрокаСерии.Склад;
           НоваяСтрока.Характеристика = ТекСтрокаСерии.Характеристика;
       КонецЦикла;
       Для Каждого ТекСтрокаТовары Из ДанныеЗаполнения.Товары Цикл
           НоваяСтрока = Товары.Добавить();
           НоваяСтрока.КодСтроки = ТекСтрокаТовары.КодСтроки;
           НоваяСтрока.Количество = ТекСтрокаТовары.Количество;
           НоваяСтрока.КоличествоУпаковок = ТекСтрокаТовары.КоличествоУпаковок;
           НоваяСтрока.Номенклатура = ТекСтрокаТовары.Номенклатура;
           НоваяСтрока.Склад = ТекСтрокаТовары.Склад;
           НоваяСтрока.СтавкаНДС = ТекСтрокаТовары.СтавкаНДС;
           НоваяСтрока.СтатусУказанияСерий = ТекСтрокаТовары.СтатусУказанияСерий;
           НоваяСтрока.Сумма = ТекСтрокаТовары.Сумма;
           НоваяСтрока.СуммаНДС = ТекСтрокаТовары.СуммаНДС;
           НоваяСтрока.СуммаСНДС = ТекСтрокаТовары.СуммаСНДС;
           НоваяСтрока.Упаковка = ТекСтрокаТовары.Упаковка;
           НоваяСтрока.Характеристика = ТекСтрокаТовары.Характеристика;
           НоваяСтрока.Цена = ТекСтрокаТовары.Цена;
       КонецЦикла;
   
   ИначеЕсли . . .;
   КонецЕсли;

   ИнициализироватьДокумент();
КонецПроцедуры

Внешне всё нормально, но созданные таким Макаром документы не мотаются в отчетах.
Что не так?
1 Ненавижу 1С
 
гуру
24.02.12
13:04
либо поменять Макара, либо мотать в отчетах по другому
2 anado
 
24.02.12
13:05
(1) поподробнее
3 Ненавижу 1С
 
гуру
24.02.12
13:05
(2) извини, я ни в первом, ни во втором не силен
4 anado
 
24.02.12
13:06
Ясно, с праздником тебя тогда ))
5 Ненавижу 1С
 
гуру
24.02.12
13:07
(4) уже отпраздновали вроде ))
6 anado
 
24.02.12
13:09
ну явно тянет поболтать, а не поработать
7 anado
 
24.02.12
13:27
ап
8 anado
 
27.02.12
14:12
тут ещё эта тема поднята
http://forum.infostart.ru/forum24/topic52855/
идей больше нет ни у кого?
9 ProProg
 
27.02.12
14:14
5000 руйблей раз руки кривые
10 Amra
 
27.02.12
14:14
(8) Обработками ты тут не обойдешься. Делал такое, пришлось нехило дорабатывать
11 ProProg
 
27.02.12
14:14
ни одного обработчика не заюзал которые в строках учавствуют. позор.
12 ProProg
 
27.02.12
14:15
(10) не гони.
13 ProProg
 
27.02.12
14:16
а обработки дед мороз будет вставлять ?

СтруктураПересчетаСуммы = ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруПересчетаСуммыНДСВСтрокеТЧ(НовыйДокумент);
   
   СтруктураДействий = Новый Структура;
   СтруктураДействий.Вставить("ЗаполнитьСтавкуНДС", НовыйДокумент.НалогообложениеНДС);
   СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц");
   СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
   СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
   СтруктураДействий.Вставить("ПересчитатьСумму");

   СтруктураТЧ = Новый Структура;
   СтруктураТЧ.Вставить("СтрокиТЧ" , НовыйДокумент.Товары);
   ОбработкаТабличнойЧастиСервер.ОбработатьТЧ(НовыйДокумент.Товары, СтруктураДействий, Неопределено);
14 ProProg
 
27.02.12
14:16
причем

ОбработкаТабличнойЧастиСервер.ОбработатьТЧ(НовыйДокумент.Товары, СтруктураДействий, Неопределено);

самая главная
15 Amra
 
27.02.12
14:17
(12) Чего не гони? Заполнить поступление на основании заказа поекупателя не проблема, а вот посмотреть что этот приход был именно для этого заказа клиента....
16 anado
 
27.02.12
14:28
(13) Спасибо пошёл переваривать
17 anado
 
28.02.12
11:27
переварил, всё намного проще оказалось

заменил в коде
НоваяСтрока.КодСтроки = ТекСтрокаТовары.КодСтроки;
на
НоваяСтрока.КодСтроки = 0;
18 anado
 
28.02.12
11:34
(15) задача была просто копировать позиции без привязки документов, поэтому и не надо передавать код строки из заказа клиента.
Ошибка? Это не ошибка, это системная функция.