Имя: Пароль:
1C
1С v8
отбор по НомеруСтроки
0 Gill
 
07.11.11
09:52
Всем привет! Есть ТЧ документа заполненная строками (ну например 2 строки)

№ Стр  АдресПогрузки АдресРазгрузки НаименованиеГруза
   1  Склад1        Склад2         Кирпичи
   2  Склад3        Склад1         Кирпичи

Также на форме есть реквизиты Склад отправитель1, Склад приемщик1,Склад отправитель2,Склад приемщик2... Данные в ТЧ загружаются после нажатия на кнопку (условно)"ЗаполнитьДанные", а как при этом еще и заполнить значения реквизитов формы Склад отправитель1, Склад приемщик1, подразумевая что значение АдресПогрузки из первой строки = значение реквизита Склад отправитель1 , значение АдресПогрузки из второй строки = Склад отправитель2 и т.д.,ну и соответственно с Склад приемщик1 и 2 также?

Процедура КоманднаяПанельТехникаЗаполнитьДанные(Кнопка)
   // Вставить содержимое обработчика.

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

   
КонецПроцедуры
1 Reset
 
07.11.11
09:56
Складотправитель1=ТЧ[0].АдресПогрузки;
2 FIXXXL
 
07.11.11
09:57
(0) а если поменяют порядок строк?
3 Не Печенкин
 
07.11.11
09:58
(0) а зачем весь этот огород?
4 Gill
 
07.11.11
10:06
(1) а вквадратных скобках здесь что - номер строки???
5 Reset
 
07.11.11
10:12
(4) Бинго
6 Gill
 
07.11.11
10:21
Товарищи! Вообще весь этот изврат неободим для следующего.После того как заполнятся реквизиты склад отправитель,склад приемщик ... программно создаются стандартные документы "Перемещение товаров".Я понимаю,что данный способ через ж..
какие будут варианты у Вас? Должны создаваться документы Перемещение товаров в таком количестве - сколько есть "разных" складов-отправителей и складов-получателей?!
7 hhhh
 
07.11.11
10:25
(6) ну а в чем проблема-то? Зачем какие-то варианты?
8 Reset
 
07.11.11
10:28
Не вижу связи (6) с (0)
9 Gill
 
07.11.11
10:34
Вся проблема (для меня) заключается в том, что иначе не получается из ТЧ выдернуть "корректно" строки для заполнения данных в Перемещение товаров.
№ Стр  АдресПогрузки АдресРазгрузки НаименованиеГруза
   1  Склад1        Склад2         Кирпичи
   2  Склад3        Склад1         Кирпичи

Как из этой таблицы выцепить данные для Перемещения...Какой фильтр должен быть для корректного заполнения Перемещения..В данном примере должно создаться 2 документа перемещения, где склад-отправитель в первом документе=Склад1,склад-получатель=Склад2, в а во втором документе склад-отправитель= Склад3,склад-получатель=Склад1....
10 Gill
 
07.11.11
10:36
+(9) более извратного способа кроме как дополнительно заполнять реквизиты формы Склад приемщик1,Склад приемщик2 и т.д. и далее создавать перемещение не знаю...Подкиньте идеи
11 Reset
 
07.11.11
10:37
Для каждого ИнформацияДляДокумента из ТЧ цикл
// создаем документ, используя
// ИнформацияДляДокумента.АдресПогрузки,ИнформацияДляДокумента.АдресРазгрузки
КонецЦикла;
12 Gill
 
07.11.11
10:43
(11) А как обойти ТЧ по складам-отправителям? Через ОбоходРезультатаЗапроса.ПоГруппировкам?
13 Reset
 
07.11.11
10:46
(12) Вопроса не понял.
14 Alexandr Puzakov
 
07.11.11
10:53
Пиzдохен шванц. Не завидую я тому программисту, которому эта система перейдет по наследству.
15 Gill
 
07.11.11
10:54
(13) Нужно чтобы создалось 2 документа перемещение, т.к. 2 разных склада-отправителя применяется
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               |    ПутевойЛистТЧМаршруты.АдресПогрузки КАК СкладОтправитель,
               |    ПутевойЛистТЧМаршруты.АдресРазгрузки КАК СкладПолучатель,
               |    ПутевойЛистТЧМаршруты.НаименованиеГруза КАК Номенклатура
               |ИЗ
               |    Документ.ПутевойЛист.Маршруты КАК ПутевойЛистТЧМаршруты
               |ГДЕ
               |    ПутевойЛистТЧМаршруты.Ссылка = &ТекущийДокумент";

Запрос.УстановитьПараметр("ТекущийДокумент",ДокументОбъект.Ссылка );

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

Пока Выборка.Следующий() Цикл

КонецЦикла;

//...Далее создаю документ Перемещения
16 Alexandr Puzakov
 
07.11.11
10:58
(0) ты лучше объясни, для каких целей весь этот винегрет готовится?
17 Alexandr Puzakov
 
07.11.11
11:00
Какие данные мы имеем на входе, и какую структуру данных должны получить на выходе?
18 Gill
 
07.11.11
11:09
(17) На входе имеем ТЧ с данными вида:

№ Стр  АдресПогрузки АдресРазгрузки НаименованиеГруза  Кол-во
   1  Склад1        Склад2         Кирпичи            200
   2  Склад3        Склад4         ЛистГипсокартона   150
   3  Склад1        Склад5         Цемент             70
Это точки маршрута где грузилась машина
Далее после закрытия этого наряда,должны программно сформироваться документы
"Перемещение товаров" в данном случае их будет 2 (т.к. в документе Перемещение товаров Склад-отправитель является общим реквизитом), в этом примере встречается 2 "разных" склада (№1,№3),структура для заполнения ТЧ Перемещения товаров д/б следующая:

1-й Документ перемещения:

Склад отправитель = Склад1
№ Стр   Номенклатура Кол-во
   1   Кирпичи      200
   2   Цемент       70

2-й
19 Gill
 
07.11.11
11:11
+(18)

2-й Документ перемещения:
Склад отправитель = Склад3, а вот с складом-приемщика непонятно как фильтровать, ведь в данном примере складов-приемщиков 3.
№ Стр   Номенклатура      Кол-во
   1   ЛистГипсокартона  150
20 FIXXXL
 
07.11.11
11:17
(18) у тебя склады в ТЧ указываются?
тогда можешь скопировать исходную таблицу, свернуть ее по Отправителю, получишь таблицу отправителей
по полученной таблице делай цикл Для Каждогов начальной таблице ищи НайтиСтроки по Отправителю
потом вложенный цикл по массиву найденых строк
21 Gill
 
07.11.11
11:20
(20) Склады указ-ся в ТЧ...Можно поподробнее о "потом вложенный цикл по массиву найденых строк"
22 Reset
 
07.11.11
11:26
(20) У него путаница уже начинается на этапе понимания задачи.
Например, по описанию в (18) производится "оптимизация" количества документов по складу-отправителю; но игнорируется то, что кирпичи должны уехать на Склад2, а цемент на Склад5; "неважно, на месте разберутся"
23 Gill
 
07.11.11
11:30
(22)мне нужно как в (18) + ваше дополнение в (22)"но игнорируется то, что кирпичи должны уехать на Склад2, а цемент на Склад5; "неважно, на месте разберутся""
24 Gill
 
07.11.11
11:45
(22) Как произвести группировку по складам-отправителям и при этом учитывать,что складов-получателей?Вы совершенно правы во второй части вашего поста в (22).
25 FIXXXL
 
07.11.11
12:00
(21) что подробнее? в результате НайтиСтроки получишь массив строк с отправителем, создаешь док, заполняешь ТЧ
26 Reset
 
07.11.11
12:02
(24) Свертывать, используя оба склада. Количество результируюх строк = количество документов. Затем циклом, используя отбор по исходной таблице, создаешь документы.
27 Reset
 
07.11.11
12:05
+(26)
Копия=ТЧ.Свернуть("АдресПогрузки,АдресРазгрузки");
Для каждого Очередной из Копия цикл
Состав=ТЧ.НайтиСтроки(Новый Структура("АдресПогрузки,АдресРазгрузки",Очередной.АдресПогрузки,Очередной.АдресРазгрузки));
// Создать документ со Очередной.АдресПогрузки,Очередной.АдресРазгрузки и табличной частью в массиве Состав
КонецЦикла;
28 Reset
 
07.11.11
12:06
(27) только не ТЧ.Свернуть( - для ТЧ это процедура. Скопировать ТЧ в ТЗ и потом свернуть
29 Reset
 
07.11.11
12:09
(28) как то так
Копия=ТЧ.Выгрузить(,"АдресПогрузки,АдресРазгрузки");
Копия.Свернуть("АдресПогрузки,АдресРазгрузки");
30 Gill
 
07.11.11
12:09
(27)(28)(29) спасибо...
31 Gill
 
07.11.11
12:12
(27) а что нужно воткнуть вместо "Очередной"
32 Reset
 
07.11.11
12:14
(31) Не понял вопроса. У меня "Очередной" - это имя переменной. В ней хранится информация о складах(отправитель/получатель) для создания очередного перемещения.
33 Wobland
 
07.11.11
12:14
(31) это переменная такая
34 Gill
 
07.11.11
12:16
(32) извиняюсь, ступил
35 Gill
 
07.11.11
12:32
Я что-то совсем запутался

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               |    ПутевойЛистТЧМаршруты.АдресПогрузки КАК СкладОтправитель,
               |    ПутевойЛистТЧМаршруты.АдресРазгрузки КАК СкладПолучатель,
               |    ПутевойЛистТЧМаршруты.НаименованиеГруза КАК Номенклатура,
               |    ПутевойЛистТЧМаршруты.Количество                
               |ИЗ
               |    Документ.ПутевойЛист.Маршруты КАК ПутевойЛистТЧМаршруты
               |ГДЕ
               |    ПутевойЛистТЧМаршруты.Ссылка = &ТекущийДокумент";

Запрос.УстановитьПараметр("ТекущийДокумент",ДокументОбъект.Ссылка );

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

Пока Выборка.Следующий() Цикл

КонецЦикла;

Копия=ТЧМаршруты.Выгрузить(,"СкладОтправитель,СкладПолучатель");
Копия.Свернуть("СкладОтправитель,СкладПолучатель");

ВыборкаСклада=Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"СкладОтправитель")

//Вот здесь что нужно написать???
Для каждого ... из Копия цикл
    Состав=ТЧМаршруты.НайтиСтроки(Новый Структура("АдресПогрузки,АдресРазгрузки",//Вот здесь что нужно написать??? .СкладОтправитель, .СкладПолучатель));
   ...
        ДокументПеремещения=Документы.ПеремещениеТоваров.СоздатьДокумент();

        ДокументПеремещения.Дата = Дата + 1;
        ДокументПеремещения.Организация = Организация;
        ИмяПользователя     = ИмяПользователя();
        ТекущийПользователь = Справочники.Пользователи.НайтиПоКоду(ИмяПользователя);
        ДокументПеремещения.Ответственный = ТекущийПользователь;
        ДокументПеремещения.Комментарий = "Перемещение сформировано с документа :  " + ЭтотОбъект.Ссылка;
        ДокументПеремещения.СкладОтправитель=ВыборкаСклада.СкладОтправитель;
        ДокументПеремещения.СкладПолучатель =  ВыборкаСклада.СкладПолучатель;
   
       ВыборкаМатериалов=ВыборкаСклада.Выбрать();
        Пока ВыборкаМатериалов.Следующий() Цикл
            СтрокаТЧ=ДокументПеремещения.Товары.Добавить();
            СтрокаТЧ.Номенклатура=ВыборкаМатериалов.Номенклатура;
            СтрокаТЧ.ЕдиницаИзмерения=СтрокаТЧ.Номенклатура.ЕдиницаХраненияОстатков;
            СтрокаТЧ.Коэффициент = СтрокаТЧ.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент;
            ДокументПеремещения.НДСвСтоимостиТоваров = Перечисления.ДействиеНДСВСтоимостиТоваров.НеИзменять;
            ДокументПеремещения.ЗаполнитьСчетаУчетаВСтрокеТабЧастиРегл(СтрокаТЧ, "Товары", ДокументПеремещения.ОтражатьВБухгалтерскомУчете,ДокументПеремещения.ОтражатьВНалоговомУчете);
            СтрокаТЧ.Количество=ВыборкаМатериалов.Количество;    
        КонецЦикла;
        ДокументПеремещения.Записать(РежимЗаписиДокумента.Запись);
       
        ДокПеремещения = ДокументПеремещения.Ссылка;
        ЭтотОбъект.Записать();

        Форма=ДокументПеремещения.ПолучитьФорму();
        Форма.Открыть();
   КонецЦикла;
36 Wobland
 
07.11.11
12:34
(35) замени "..." на "ПростаяИПонятнаяПеременнаяЦиклаНомерОдин"
37 Gill
 
07.11.11
13:00
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               |    ПутевойЛистТЧМаршруты.АдресПогрузки КАК СкладОтправитель,
               |    ПутевойЛистТЧМаршруты.АдресРазгрузки КАК СкладПолучатель,
               |    ПутевойЛистТЧМаршруты.НаименованиеГруза КАК Номенклатура,
               |    ПутевойЛистТЧМаршруты.Количество                
               |ИЗ
               |    Документ.ПутевойЛист.Маршруты КАК ПутевойЛистТЧМаршруты
               |ГДЕ
               |    ПутевойЛистТЧМаршруты.Ссылка = &ТекущийДокумент";

Запрос.УстановитьПараметр("ТекущийДокумент",ДокументОбъект.Ссылка );

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

Пока Выборка.Следующий() Цикл

КонецЦикла;

Копия=ТЧМаршруты.Выгрузить(,"АдресПогрузки,АдресРазгрузки");
Копия.Свернуть("АдресПогрузки,АдресРазгрузки");
 
Для каждого Очередной из Копия цикл
    Состав=ТЧМаршруты.НайтиСтроки(Новый Структура("АдресПогрузки,АдресРазгрузки", Очередной.АдресПогрузки, Очередной.АдресРазгрузки));

        ДокументПеремещения=Документы.ПеремещениеТоваров.СоздатьДокумент();

        ДокументПеремещения.Дата = Дата + 1;
        ДокументПеремещения.Организация = Организация;
        ДокументПеремещения.Комментарий = "Перемещение сформировано с документа :  " + ЭтотОбъект.Ссылка;
        ДокументПеремещения.СкладОтправитель=Выборка.СкладОтправитель;
        ДокументПеремещения.СкладПолучатель=Выборка.СкладПолучатель;
   
            СтрокаТЧ=ДокументПеремещения.Товары.Добавить();
            СтрокаТЧ.Номенклатура=Выборка.Номенклатура;
            СтрокаТЧ.ЕдиницаИзмерения=СтрокаТЧ.Номенклатура.ЕдиницаХраненияОстатков;
            СтрокаТЧ.Коэффициент = СтрокаТЧ.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент;
            ДокументПеремещения.НДСвСтоимостиТоваров = Перечисления.ДействиеНДСВСтоимостиТоваров.НеИзменять;
            ДокументПеремещения.ЗаполнитьСчетаУчетаВСтрокеТабЧастиРегл(СтрокаТЧ, "Товары", ДокументПеремещения.ОтражатьВБухгалтерскомУчете,ДокументПеремещения.ОтражатьВНалоговомУчете);
            СтрокаТЧ.Количество=Выборка.Количество;    
        ДокументПеремещения.Записать(РежимЗаписиДокумента.Запись);
       
        ДокПеремещения = ДокументПеремещения.Ссылка;
        ЭтотОбъект.Записать();

        Форма=ДокументПеремещения.ПолучитьФорму();
        Форма.Открыть();
    КонецЦикла;

//Создаются 2 документа но в обоих склад-отправитель из первой строки ТЧ и количество в обоих документах одинаковое из первой строки тч.Что неправильно написано?
38 Wobland
 
07.11.11
13:06
ДокументПеремещения.СкладОтправитель=Выборка.СкладОтправитель;
ДокументПеремещения.СкладПолучатель=Выборка.СкладПолучатель;

что вообще выборка в последнем цикле делает?


Пока Выборка.Следующий() Цикл

КонецЦикла;

вот это на зачем?
39 hhhh
 
07.11.11
13:06
ну вот же

          СтрокаТЧ.Количество=Выборка.Количество;    
 
то есть ты пишешь везде одно и то же количество. Переменная Выборка ведь у тебя константа в этом месте.
40 Gill
 
07.11.11
13:13
Голову сломал я уже,А номенклатуру и количество откуда выдергивать?
41 Reset
 
07.11.11
13:23
(37) (40)
Как минимум, ты ничего не понял из советов.


ДокументПеремещения.СкладОтправитель=Выборка.СкладОтправитель;
ДокументПеремещения.СкладПолучатель=Выборка.СкладПолучатель;

должно быть
ДокументПеремещения.СкладОтправитель=Очередной.АдресПогрузки; // или как там называется реквизит тз
ДокументПеремещения.СкладПолучатель=Очередной.АдресРазгрузки;


>>>А номенклатуру и количество откуда выдергивать
Так это тебе виднее. Из твоих описаний это неясно.
42 hhhh
 
07.11.11
13:24
Выборка = Результат.Выгрузить();

.......................

Состав=Выборка.НайтиСтроки(Новый Структура("АдресПогрузки,АдресРазгрузки", Очередной.АдресПогрузки, Очередной.АдресРазгрузки));

Для Каждого
ПростаяИПонятнаяПеременнаяЦиклаНомерДва Цикл

.................
43 Reset
 
07.11.11
13:24
+(41) Догадаться по коду.. хм можно, но сложно. Код весьма кхм.. противоречивый
44 Gill
 
07.11.11
13:26
(41) Я частично понял и внял Вашим советам...Спасибо вам за это.С номенклатурой и количеством не получается никак...
45 Gill
 
07.11.11
13:32
+(44) ведь последний штрих остался и всё взлетит как надо!Мне с вашей помощью удасться решить очень нужную для наших пользователей задачу
46 Gill
 
07.11.11
13:34
(43) Последний штрих ведь остался и взлетит.Мне с Вашей помощью удастся решить очень наболевшую задачу.Прошу,подскажите!Номенклатура и количество ведь указана в ТЧ
47 hhhh
 
07.11.11
13:45
(46) нет там по ходу еще штрихов 10-15. Так что планируй время еще на завтра-послезавтра с учетом этой задачи.
48 Gill
 
07.11.11
13:49
Ну группировка по складам с грехом пополам вроде получилась, неужели с номенклатурой и количеством по аналогии (как-то?) нельзя сделать, ува это выше моих знаний и поэтому надежда на ваш совет
49 Gill
 
07.11.11
13:51
Эта задача действительно не решается так как нужно мне или как?
50 FIXXXL
 
07.11.11
14:38
(49) нет тут ничего заумного
нафига тебе запрос? только сумятицу вносит...
получил Копию, первый цикл по ней, из нее берешь склады и подставляешь в созданный док
по складам находишь строки со складами (Состав у тебя)
далее, еще один вложенный цикл по найденным строкам (НайтиСтроки по отбору), в этом цикле добавляешь номенклатуру и количество в док из Состав
пишешь док

всё
51 Jaffar
 
07.11.11
14:39
(46) если документы ты выбираешь запросом (15), то номенклатура там есть (и нет проблем указать его в создаваемых тобой документах), а вот количество ты забыл в запрос выбрать.
52 Jaffar
 
07.11.11
14:42
+(51) с учетом (37) - отставить.
там уже количество есть.
53 Gill
 
07.11.11
14:44
(51) вот тут-то и проблема склады выгружаются по коду из (37) а номенклатура и кол-во нет.
54 Wobland
 
07.11.11
14:45
(53) склады у тебя в Копию "выгружаются". а номенклатуру и проч. бери из выборки. если я ещё не выпал из нити повествования
55 Reset
 
07.11.11
14:48
"Копия" - я неудачно назвал. Давайте переименуем в "ИнформацияОСкладах" ;)
56 Jaffar
 
07.11.11
14:49
(53) вот это ИМХО нужно убрать - оно ничего не делает:

Пока Выборка.Следующий() Цикл
....
КонецЦикла;

дальше слегка подправить (ты не выгрузил в Копию номенклатуру и количество):

Копия=ТЧМаршруты.Выгрузить(,"АдресПогрузки, АдресРазгрузки, Номенклатура, Количество");
Копия.Свернуть("АдресПогрузки, АдресРазгрузки, Номенклатура", "Количество");
57 Reset
 
07.11.11
14:55
На :)
Вдруг я угадал, откуда что брать.


Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               |    ПутевойЛистТЧМаршруты.АдресПогрузки КАК СкладОтправитель,
               |    ПутевойЛистТЧМаршруты.АдресРазгрузки КАК СкладПолучатель,
               |    ПутевойЛистТЧМаршруты.НаименованиеГруза КАК Номенклатура,
               |    ПутевойЛистТЧМаршруты.Количество                
               |ИЗ
               |    Документ.ПутевойЛист.Маршруты КАК ПутевойЛистТЧМаршруты
               |ГДЕ
               |    ПутевойЛистТЧМаршруты.Ссылка = &ТекущийДокумент";

Запрос.УстановитьПараметр("ТекущийДокумент",ДокументОбъект.Ссылка );
ТЧМаршруты=Запрос.Выполнить().Выгрузить();
ИнформацияОСкладах=ТЧМаршруты.Скопировать(,"СкладОтправитель,СкладПолучатель");
ИнформацияОСкладах.Свернуть("СкладОтправитель,СкладПолучатель");
 
Для каждого Очередной из ИнформацияОСкладах цикл
   
        ДокументПеремещения=Документы.ПеремещениеТоваров.СоздатьДокумент();

        ДокументПеремещения.Дата = Дата + 1;
        ДокументПеремещения.Организация = Организация;
        ДокументПеремещения.Комментарий = "Перемещение сформировано с документа :  " + ЭтотОбъект.Ссылка;
        ДокументПеремещения.СкладОтправитель=Очередной.СкладОтправитель;
        ДокументПеремещения.СкладПолучатель=Очередной.СкладПолучатель;
       
        Состав=ТЧМаршруты.НайтиСтроки(Новый Структура("АдресПогрузки,АдресРазгрузки", Очередной.СкладОтправитель, Очередной.СкладПолучатель));
        Для каждого СтрокаСноменклатурой из Состав цикл
            СтрокаТЧ=ДокументПеремещения.Товары.Добавить();
            СтрокаТЧ.Номенклатура=СтрокаСноменклатурой.Номенклатура;
            СтрокаТЧ.ЕдиницаИзмерения=СтрокаТЧ.Номенклатура.ЕдиницаХраненияОстатков;
            СтрокаТЧ.Коэффициент = СтрокаТЧ.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент;
            ДокументПеремещения.НДСвСтоимостиТоваров = Перечисления.ДействиеНДСВСтоимостиТоваров.НеИзменять;
            ДокументПеремещения.ЗаполнитьСчетаУчетаВСтрокеТабЧастиРегл(СтрокаТЧ, "Товары", ДокументПеремещения.ОтражатьВБухгалтерскомУчете,ДокументПеремещения.ОтражатьВНалоговомУчете);
            СтрокаТЧ.Количество=СтрокаСноменклатурой.Количество;
        КонецЦикла;
       
       
        // Здесь я не понял инсинуаций с документами и формами
       
       //        ДокументПеремещения.Записать(РежимЗаписиДокумента.Запись);
       //        
       //        ДокПеремещения = ДокументПеремещения.Ссылка;
       //        ЭтотОбъект.Записать();
       //
       //        Форма=ДокументПеремещения.ПолучитьФорму();
       //        Форма.Открыть();
КонецЦикла;
58 Reset
 
07.11.11
14:59
(56) Неверно, в копии нафиг не нужно ни номенклатура, ни количество. Эта таблица нужна только для получения уникальных пар складов отправитель-получатель
59 Reset
 
07.11.11
15:01
(57) "АдресПогрузки,АдресРазгрузки" заменить на "СкладОтправитель,СкладПолучатель"
60 Gill
 
07.11.11
15:07
(59) Жалуется на Неверное имя колонки
61 Reset
 
07.11.11
15:09
(60) Прочитай (59) ;)
62 Gill
 
07.11.11
15:14
(57)УРА!!!!!! Заработало! Всем большое спасибо!!! (57) по поводу инсинуаций с документами и формами - есть реквизит куда записывается ссылка на созданный документ перемещения, если он заполнен то создание документа запрещается, ну чтобы повторно не пыталсь создать!!!!!!!!!!Еще раз всех благодарю, Reset Вам отдельная благодарность за терпение!!!
63 Jaffar
 
07.11.11
15:29
(62) "есть реквизит куда записывается ссылка на созданный документ перемещения, если он заполнен то создание документа запрещается, ну чтобы повторно не пыталсь создать!"
все хорошо, только в вашем случае создается не 1 документ, а целый ряд документов, поэтому вместо хранения ссылки на один (произвольный) из них можно просто поставить реквизит "Булево".
64 Gill
 
07.11.11
15:34
(63) а как в таком случае (не имея ссылки) открывать док.Сейчас сделано так, если ДокПеремещения.Пустая() тогда разрешает создание, если нет то задается вопрос "Документ уже создавался.Открыть?" и открывается форма.А вот в случае создания нескольких перемещений я думаю может быть завести соттветствующую ТЧ и пихать эти ссылки туда?!
65 Gill
 
07.11.11
15:37
+(64) ну и приделана кнопка очистки при нажатии на которую ссылка очищается,а созданный док помечается на удаление
66 Jaffar
 
07.11.11
15:43
(64) ну где-то так. и кнопка "Открыть" открывает перемещение, на котором стоит курсор в этой ТЧ.
(65) логично.
только один раз очистили, потом создали новый набор перемещений - в результате в системе будет куча мусора.
но иначе - построить логичную цепочку будет затруднительно.