Имя: Пароль:
1C
1С v8
Перенос остатков товаров. Как сделать?
0 worker-good
 
30.12.13
17:46
Как из регистра накопления "Остатки товаров" в запросе взять остатки и через COM-соединение передать в новый документ "Ввод начальных остатков" в новой базе. Приведите пример кода пожалуйста
1 Wobland
 
30.12.13
17:48
лениво
2 х86
 
30.12.13
17:48
(0)25тр
3 х86
 
30.12.13
17:49
(2)+ а по существу )
гугли как делать Ком соединение
гугли как выполнить запрос в ком объекте
гугли как заполнит док
4 Wobland
 
30.12.13
17:53
(3) фигня. это я накопипастить из бардачка могу. ты готовый код дай
5 shuhard
 
30.12.13
17:58
(3) потерял пункт как найти товар и склад по данным, приехавшим через COM
6 Eugeneer
 
30.12.13
18:00
1) сохряняем отчет по остаткам в эксель
2) загружаем из эксель в документ ввод остатков.
Элементанно. дел на 15 минут.
7 Wobland
 
30.12.13
18:00
(6) ты не использовал КОМ. двоечник
8 х86
 
30.12.13
18:03
(4)см (2)  )
(5)всех карт не раскрываем )
(6)вот и конкуренты подтянулись
9 Umga2002
 
30.12.13
18:04
(0)не кури траву.... не твое это....
10 zak555
 
30.12.13
18:20
(0) КД в помощь
11 zak555
 
30.12.13
18:21
(6) через эксель хреновое решение
12 shuhard
 
30.12.13
18:24
(11) если забить на единицы хранения, то решение рабочее
13 Eugeneer
 
30.12.13
18:26
(11) самое быстрое, самое простое, самое менее затратное. Не требует ни строчки кода. и делается ровно за 10-15 минут с помощью обработки с ИТС.
14 dj_serega
 
30.12.13
18:26
(12) А можно перевыбрать номенклатуру потом =)
15 mehfk
 
30.12.13
18:28
(13) Можно даже без Excel - с источнике скопировать данные из табдока, в приемнике вставить в табдок.
16 KRV
 
30.12.13
19:20
(6) а ты что-нибудь кроме екселя знаешь?
17 KRV
 
30.12.13
19:21
самое верное: Ctrl+C, Ctrl+V
18 KRV
 
30.12.13
19:22
(12) скажи, а кому-либо интересно, что в базе будет куча чисел х.з. чего? )))
19 floody
 
30.12.13
21:53
автору наверное легче будет загрузить универсальнойзагрузкойизтабличногодокумента, но вот хочет человек научится чему-то новому.. хорошо же
20 Sasha_1CK
 
31.12.13
04:04
Перем V8;

Процедура ОткрытьБазу(Элемент)

    Состояние("Подключение к базе..");
    Попытка
        подключение = Новый COMObject("V82.COMConnector");
    Исключение
        Сообщить("Не возможно создать объект для СОМ подключения");
        Возврат;
    КонецПопытки;

    Попытка
        V8 = подключение.Connect ("File="""+СокрЛП(Путь)+"""; Usr ="""+СокрЛП(пользователь)+""";Pwd ="""+СокрЛП(пароль)+"""");
        Открыта = Истина;
    Исключение
        Сообщить(""+ОписаниеОшибки());
        Открыта = ложь;
        Возврат;
    КонецПопытки;
    Если НЕ Открыта Тогда
        Сообщить("Не могу подключится к базе. Проверьте доступность базы");
        Возврат;
    КонецЕсли;

    Сообщить("Подключено.. " + СокрЛП(Путь));
    
    флОткрытаБаза = Истина;
КонецПроцедуры

Процедура ЗагрузитьОстаткиНаСкладах()

    Если Не флОткрытаБаза тогда
        Предупреждение ("Откройте базу");
        Возврат ;
    КонецЕсли;
    
    ТЗ_ОстаткиНаСкладах.Очистить();
    ТЗ_ОстаткиНаСкладах.Колонки.Очистить();
    ТЗ_ОстаткиНаСкладах.Колонки.Добавить("Флажок",Новый ОписаниеТипов("Булево") ,"фл",2);
    ТЗ_ОстаткиНаСкладах.Колонки.Добавить("Группа", ,"Гр",2);
    ТЗ_ОстаткиНаСкладах.Колонки.Добавить("Ном_Имя_Оле", ,"Ном торг",40);
    ТЗ_ОстаткиНаСкладах.Колонки.Добавить("Ном_Код_Оле", ,"Код торг",12);
    ТЗ_ОстаткиНаСкладах.Колонки.Добавить("Ном_Имя",     ,"Ном Бух",30);
    ТЗ_ОстаткиНаСкладах.Колонки.Добавить("Ном_Код",     ,"Код бух",30);
    ТЗ_ОстаткиНаСкладах.Колонки.Добавить("Скл_Имя_Оле", ,"Скл торг",40);
    ТЗ_ОстаткиНаСкладах.Колонки.Добавить("Скл_Код_Оле", ,"Код торг",12);
    ТЗ_ОстаткиНаСкладах.Колонки.Добавить("Скл_Имя",     ,"Скл Бух",30);
    ТЗ_ОстаткиНаСкладах.Колонки.Добавить("Скл_Код",     ,"Код бух",30);
    
    ТЗ_ОстаткиНаСкладах.Колонки.Добавить("Остаток", ,"Остаток",30);
    

    ЭлементыФормы.ТЗ_ОстаткиНаСкладах.СоздатьКолонки();
    
    ЭлементыФормы.ТЗ_ОстаткиНаСкладах.Колонки.Флажок.ДанныеФлажка="Флажок";
    ЭлементыФормы.ТЗ_ОстаткиНаСкладах.Колонки.Флажок.Данные="";
    ЭлементыФормы.ТЗ_ОстаткиНаСкладах.Колонки.Флажок.ТолькоПросмотр=Ложь;
    ЭлементыФормы.ТЗ_ОстаткиНаСкладах.Колонки.Флажок.РежимРедактирования=РежимРедактированияКолонки.Непосредственно;
    
        
    
    
    Запрос = V8.NewObject("Запрос");
    Запрос.УстановитьПараметр("КонДата",      НачалоДня(ЭлементыФормы.НачПериода.Значение));
    
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ТоварыНаСкладахОстатки.Склад КАК Склад,
        |    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
        |    СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток
        |ИЗ
        |    РегистрНакопления.ТоварыНаСкладах.Остатки(&КонДата) КАК ТоварыНаСкладахОстатки
        |
        |СГРУППИРОВАТЬ ПО
        |    ТоварыНаСкладахОстатки.Номенклатура,
        |    ТоварыНаСкладахОстатки.Склад";

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

    Выборка = РезультатЗапроса.Выгрузить();
    
    ЭлементыФормы.Индикатор.МаксимальноеЗначение= Выборка.Количество();
    Сч = 1;
    Для Каждого Строка из Выборка цикл
        ЭлементыФормы.Индикатор.Значение = Сч;
        Сч = Сч+1;
        НайденнаяСсылка                 = Справочники.Склады.НайтиПоКоду(Строка.Склад.Код);
        Если НайденнаяСсылка = Справочники.Склады.ПустаяСсылка() тогда
            НоваяСтрока                 = ТЗ_ОстаткиНаСкладах.Добавить();
            НоваяСтрока.флажок             = Ложь;
            
            НоваяСтрока.Скл_Имя_ОЛЕ     = Строка.Склад.Наиенование;
            НоваяСтрока.Скл_Код_Оле      = Строка.Склад.Код;
        ИНаче
            Если (СокрЛП(НайденнаяСсылка.Наименование) = СокрЛП(Строка.Склад.Наименование))  тогда
                НоваяСтрока                 = ТЗ_ОстаткиНаСкладах.Добавить();
                НоваяСтрока.флажок             = Истина;
                
                НоваяСтрока.Скл_Имя_ОЛЕ        = Строка.Склад.Наименование;
                НоваяСтрока.Скл_Код_Оле        = Строка.Склад.Код;
                НоваяСтрока.Скл_Имя             = НайденнаяСсылка;
                НоваяСтрока.Скл_Код              = НайденнаяСсылка.Код;
            Иначе
                НоваяСтрока                 = ТЗ_ОстаткиНаСкладах.Добавить();
                НоваяСтрока.флажок             = Ложь;
                
                НоваяСтрока.Скл_Имя_ОЛЕ     = Строка.Склад.Наиенование;
                НоваяСтрока.Скл_Код_Оле      = Строка.Склад.Код;
            КонецЕсли;
            
        КонецЕсли;
        НайденнаяСсылка                 = Справочники.Номенклатура.НайтиПоКоду(Строка.Номенклатура.Код);
        Если НайденнаяСсылка = Справочники.Склады.ПустаяСсылка() тогда            
            НоваяСтрока.Ном_Имя_ОЛЕ     = Строка.Номенклатура.Наименование;
            НоваяСтрока.Ном_Код_Оле      = Строка.Номенклатура.Код;
        ИНаче
            Если (СокрЛП(НайденнаяСсылка.Наименование) = СокрЛП(Строка.Номенклатура.Наименование))  тогда
                
                НоваяСтрока.Ном_Имя_ОЛЕ        = Строка.Номенклатура.Наименование;
                НоваяСтрока.Ном_Код_Оле        = Строка.Номенклатура.Код;
                НоваяСтрока.Ном_Имя             = НайденнаяСсылка;
                НоваяСтрока.Ном_Код            = НайденнаяСсылка.Код;
            Иначе
                НоваяСтрока.Ном_Имя_ОЛЕ        = Строка.Номенклатура.Наименование;
                НоваяСтрока.Ном_Код_Оле        = Строка.Номенклатура.Код;
            КонецЕсли;
            
        КонецЕсли;
        НоваяСтрока.Остаток        = Строка.КоличествоОстаток;
    
        
        
    КонецЦикла;
    
КонецПроцедуры
21 Sasha_1CK
 
31.12.13
04:05
(20) Под 8.2 обычные формы
22 France
 
02.01.14
09:38
Голосую за (19)
23 Сияющий Асинхраль
 
02.01.14
13:12
Я бы сделал с помощью кд и не тр..л мозг
Закон Брукера: Даже маленькая практика стоит большой теории.