Имя: Пароль:
1C
 
КД Почему при переносе документа
,
0 ejiki
 
27.08.14
11:58
При переносе документа. Не цепляются справочники по ссылкам?

Вот кусок кода. Грешу на момент выделенный // <----




    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ДатаОстатков по ДатаОстатков;
    |Товар = Регистр.ГТД.Товар;
    |ГТД = Регистр.ГТД.ГТД;
    |Количество = Регистр.ГТД.Количество;
    |СтранаПроисхождения = Регистр.ГТД.ГТД.СтранаПроисхождения;
    |Функция КоличествоКонОст = КонОст(Количество);
    |Группировка Товар без групп;
    |Группировка ГТД;
    |"//}}ЗАПРОС
    ;
    ДатаОстатков = Параметры.ДатаВводаОстатков;
    
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Сообщить("Не удалось выполнить запрос по ГТД !");
    КонецЕсли;
    
    Пока Запрос.Группировка(1) = 1 Цикл  // <----
        Если ПустоеЗначение(Запрос.ГТД)=0 Тогда
            Продолжить;
        КонецЕсли;
        
            ТабТовары.НоваяСтрока();            
            ТабТовары.Номенклатура = Запрос.Товар;            
            ТабТовары.НомераГТД = Запрос.ГТД;
            ТабТовары.КлассификаторСтранМира = Запрос.СтранаПроисхождения;
            ТабТовары.Количество = Запрос.Количество;
            ТабТовары.Сумма = 0;
            ТабТовары.СуммаВр = 0;
            ТабТовары.СуммаКт = 0;
            ТабТовары.СуммаНУ = 0;
            ТабТовары.СуммаПР = 0;
    
    КонецЦикла;



Я кажется с Циклом перемудрил. Подскажте в чем косяк и как исправить?
1 ejiki
 
27.08.14
11:59
Тут кажется нужно Пока Запрос.Группировка(1) = 0 Цикл

или как?! я в 7ке плохо понимаю.
2 VladZ
 
27.08.14
12:05
Ну... Э...

В запросе у тебя две группировки:

|Группировка Товар без групп;
    |Группировка ГТД;

А выборка только по одной? Это зачем?
3 ejiki
 
27.08.14
12:08
(2) Честно признаюсь не силен в Запросах на 7ке. Получил просто запросом нужный мне список. И Циклом если ГТД у Номенклатуры заполнен Заношу в ТабТовары Для того чтобы потом передать в КоллекциюЗначений.
4 VladZ
 
27.08.14
12:17
Я так и понял, что не силен. Фигня какая-то у тебя написана..
5 VladZ
 
27.08.14
12:17
Вот тут понимаешь, что происходит:

Если ПустоеЗначение(Запрос.ГТД)=0 Тогда
            Продолжить;
        КонецЕсли;
6 ejiki
 
27.08.14
12:18
(5) я тут понимаю что если в результате запроса у меня ГТД заполненно то продолжаю. Или не верно пишу?
7 ejiki
 
27.08.14
12:19
В общем этим запросом хочу получить таблицу товаров с их ГТД по регистру. Если есть более оптимальное решение подскажите как %)
8 ejiki
 
27.08.14
12:27
АП
9 VladZ
 
27.08.14
12:39
(6) Логику работы не понимаю... Если заполнено - продолжить. Т.е. выгружаем только незаполненные значения Запрос.ГТД ? А зачем их выгружать, если и они не заполненные?
10 VladZ
 
27.08.14
12:40
Слышал выражение "вату катать"? ;)
11 ejiki
 
27.08.14
12:47
(10) По тупости недавно поменял. изначально стояло значение = 1. Понимаю о чем ты..
12 ejiki
 
27.08.14
12:48
(10) Второй Цикл по второй группировке добавил. Сейчас тестирую что получилось
13 ejiki
 
27.08.14
12:57
src="http://i67.fastpic.ru/big/2014/0827/b2/c195e6de3ea6ddee1b2b3d1d22256bb2.png";

Ошибка исполнения обработчика:  ПКО_ПередВыгрузкой_ВводНачальныхОстатковГТД
  - Значение не представляет агрегатный объект (Получить)
14 ejiki
 
27.08.14
12:58
вот почему она зараза не хочит спокойно все исполнить )) не послушная КД %)
15 ejiki
 
27.08.14
12:58
По факту я записываю в КоллекциюЗначений и Передаю, почему жалуется?!
16 ejiki
 
27.08.14
13:02
Уххх!!!)) С этими коллекциями глаз да глаз)
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс