Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: обмен через excel

v7: обмен через excel
Я
   YDen
 
19.05.21 - 12:18
Здравствуйте.
Подскажите пожалуйста. Есть документ с ТЧ в 2 столбца - наименование и цена. Нужно выгрузить ТЧ в excel, затем не меняя Наименование, изменив только Цену, загрузить обратно в ТЧ. Т.е своего рода обмен через excel.
Плиз может у кого есть рабочий пример или ссылка, поделитесь.

Благодарю
 
 Партнерская программа EFSOL Oblako
   Ёпрст
 
1 - 19.05.21 - 12:40
Зачем для этого эксель ?!
   Масянька
 
2 - 19.05.21 - 12:41
(1) Не в бровь, а в глаз :)
   Ёпрст
 
3 - 19.05.21 - 12:41
(2) переключатель сделала ?
   Mikeware
 
4 - 19.05.21 - 12:42
(3) лучше флажки...
   Масянька
 
5 - 19.05.21 - 12:44
(3) Ты во мне сомневаешься? ;)
   Ёпрст
 
6 - 19.05.21 - 12:51
(5) контролирую )
   uno-group
 
7 - 19.05.21 - 12:52
(1) Многим в экселе цены править удобнее типа группой умножить, скопировать и т.д. А потом загрузить исправленное.
любую загрузку из ексель глянь там 10 строк кода
   Андрей_Андреич
 
8 - 19.05.21 - 12:53
(7) Тогда зачем 1с?
   YDen
 
9 - 19.05.21 - 12:59
(1) Я из другой программы переношу. А она только excel умеет.
   uno-group
 
10 - 19.05.21 - 12:59
Скорее всего какой нибуть документ устанавливающий цены.
ВыгрузитьТабличнуюЧасть(ТЗ);
Тов=СоздатьОбъект("Справочник.ТМЦ");
Тов.ИспользоватьДату(РабочаяДата());
обЭксел = СоздатьОбъект("Excel.Application");//создаем объект

НашФайл = обЭксел.Workbooks.Open(СокрЛП(Файл));//Открываем файл

НашЛист = НашФайл.Sheets(1);//Устанавливаем нужный лист

Для i = 1 По 100 Цикл
Состояние("считывание строки: "+i);
Наименование = СокрЛП(НашЛист.Cells(i,1).Value);
Цена=Число(НашЛист.Cells(i,2).Value);
Если (ПустоеЗначение(Наименование =1) Тогда
  Продолжить;
КонецЕсли;
Ном=0;
Тов.НайтиПоНаименованию(Наименование );
Если Тз.НайтиЗначение(тов.ТекущийЭлемент(),ном,"Товар")=1 Тогда
     Тз.ПолучитьСтрокуПоНомеру(Ном); 
     Тз.Цена=Цена;
Иначе
     Сообщить("Не удалось сопоставить: "+Наименование+" пропущен.");
    Продолжить;
КонецЕсли;
...
ЗагрузитьТабличнуюЧасть(тз);
   YDen
 
11 - 19.05.21 - 13:02
(10) Нет. Вообще с бух не связана, самописная конфигурация. Я про цены написал для простоты.
   YDen
 
12 - 19.05.21 - 13:04
(10) Плиз, еще бы код загрузки.
В 1с давно не кодил, очень давно.
   uno-group
 
13 - 19.05.21 - 13:19
это код загрузки. выгрузки обычная печать и там сохранить как эксель или руками или скопировать процедуру и вместо таб.показать(); Таб.Записать(...,"хлс");
   osa1C
 
14 - 19.05.21 - 13:24
(12) Мне одному показалось что код дали 1Сv8, а нужен для v7.7 ?
   YDen
 
15 - 19.05.21 - 13:25
(14) Да, я в шапке темы указал - v7
   osa1C
 
16 - 19.05.21 - 13:29
   osa1C
 
17 - 19.05.21 - 13:29
(16) + Попроси его, Сергей поможет. Он у нас один из лучших клюшечников
   Mikeware
 
18 - 19.05.21 - 13:30
(16) да в (10) все сказано. нахрена "тяжелая артиллерия"?
   YDen
 
19 - 19.05.21 - 13:31
(18) А в (10) код для семерки?
   Ёпрст
 
20 - 19.05.21 - 13:36
(19) да
   YDen
 
21 - 19.05.21 - 13:39
Сенк всем, попробую.
   uno-group
 
22 - 19.05.21 - 13:45
Тов.НайтиПоНаименованию(Наименование ) надо флаги добавить. + по хорошему выгружать не наименование а код и искать по коду
   YDen
 
23 - 19.05.21 - 13:50
(22) Я же Наименование выгрузил в ексель и без изменения построчно забираю обратно. Изменений же нет.
Да у меня в ТЧ не более 30 строк. Просто вручную переносить - часты ошибки, пиз…лей получать надоело. :)
   Ёпрст
 
24 - 19.05.21 - 13:51
(22) наименование не гарантирует уникальность, как и код..но в 7.7 код хоть что-то гарантирует.
   osa1C
 
25 - 19.05.21 - 13:56
(18) да, что-то  перегрелся :) Мне тоже нужен ноутбук и в отпуск, как Гению )))
   Mikeware
 
26 - 19.05.21 - 13:59
(25) сначала "100 кисок"...
   YDen
 
27 - 19.05.21 - 14:06
(24) Ок, учту. Сенк.
   Злопчинский
 
28 - 19.05.21 - 14:34
(17) Спасибо, поржал! ;-)
   YDen
 
29 - 19.05.21 - 16:18
(28) Уважают значит :)
   Злопчинский
 
30 - 19.05.21 - 16:31
(29) Боятся! ;-)
 
 


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.