[ТЕМА ЗАКРЫТА]
27.10.2011 13:17
akonev
 
дак все-таки хочется именно экспорт супермажный запустить или устроит выборка данных из базы?
27.10.2011 14:04
konvik
 
Цитата:
Little Уже две или три версии 1С 8.2 Бухгалтерия, как введено поле артикул.
да зачем он нам в бухгалтерии то?
27.10.2011 14:05
konvik
 
Цитата:
Andrew_Konev дак все-таки хочется именно экспорт супермажный запустить или устроит выборка данных из базы?
можно и выборку из базы, я очень не сильна в запросах :( Помогите, !
27.10.2011 14:31
Carott
 
Цитата:
Mtirt Она это и имеет ввиду. И спрашивает как его заставить выгружать автоматически.
Могу ошибаться, но врядли это воможно средствами Супермага. Придется самому(ой) выгрузку писать напрямую из базы и запускать ее автоматически.
27.10.2011 14:33
akonev
 
результаты надо попроверять. я выдрал кусок запроса из отчета, который сочиняю и привинтил налоги. самому пока сверить не с чем. если чего не то выдаст - сигналь, поищу где глюк.
Код:
select nvl(m.SaleLocationFrom, m.SaleLocationTo) sl, m.SaleDate, m.SaleType, m.SaleId, 
   sum(decode(m.SaleQ,0,0,(m.SaleSum*m.Quantity)/m.SaleQ)) as sale, 
   m.SaleVatRate,
   sum(decode(m.SaleQ,0,0,(m.SaleNoVAT*m.Quantity)/m.SaleQ)) as salenovat,
   sum(decode(m.IncomeQ,0,0,(m.IncomeSum*m.Quantity)/m.IncomeQ)) as income   
 from fvmaprep m
 where m.SaleDate>=trunc(sysdate)-1
   and m.SaleType in ('CS','CR')
group by nvl(m.SaleLocationFrom, m.SaleLocationTo), m.SaleDate, m.SaleType, m.SaleId, m.SaleOp, m.SaleUserOp, m.SaleClientIndex, m.SaleVatRate
order by m.SaleDate, sl, m.SaleId, m.SaleVatRate
27.10.2011 14:40
Mtirt
 
Цитата:
Carott Могу ошибаться, но врядли это воможно средствами Супермага. Придется самому(ой) выгрузку писать напрямую из базы и запускать ее автоматически.
Ну можно поставить какую-нибудь программулину, нажимающую кнопки...
27.10.2011 14:45
konvik
 
[QUOTE=Andrew_Konev;101172]результаты надо попроверять. я выдрал кусок запроса из отчета, который сочиняю и привинтил налоги. самому пока сверить не с чем. если чего не то выдаст - сигналь, поищу где глюк.

Андрей, спасибо!!! Проверю, отчитаюсь!
27.10.2011 14:48
Carott
 
Цитата:
konvik да зачем он нам в бухгалтерии то?
Чтобы провести приходную накладную в 1С придется заполнить спецификацию документа, вот здесь вам и пригодятся артикулы товаров
27.10.2011 15:13
konvik
 
Цитата:
Carott Чтобы провести приходную накладную в 1С придется заполнить спецификацию документа, вот здесь вам и пригодятся артикулы товаров
мы проводим приходные и расходные накладные с артикулами "товар 18%" и "товар 10%" :)
28.10.2011 13:16
konvik
 
Андрей, а что за поле INCOME выдает? Выходят суммы, не понятно какие, ни с чем не сходятся. Остальное все получилось - общая сумма с 10%, общая сумма с 18%, сумма без ндс 10% и сумма без НДС18.
28.10.2011 13:30
akonev
 
Цитата:
konvik Андрей, а что за поле INCOME выдает? Выходят суммы, не понятно какие, ни с чем не сходятся. Остальное все получилось - общая сумма с 10%, общая сумма с 18%, сумма без ндс 10% и сумма без НДС18.
как бы должна быть себестоимость. и как бы должна срастаться с Отчеты - Бухгалтерские - Товарный отчет (в закупочных ценах). По крайней мере продажи. Возвраты не проверял, я их только под тебя приделал, но по смыслу тоже должна быть себестоимость. По первичным приходам.
28.10.2011 13:32
akonev
 
...по цепочке приход->продажа->возврат
28.10.2011 13:40
konvik
 
О, про себестоимость я не подумала даже :) Спасибо! Тогда все класс!
01.11.2011 11:24
NAT-S
 
А есть у кого нибудь хоть какая то выгрузка из супермага в 1с 8.2. Понятно что каждому надо свое (свое я добавлю...). Кто-то же уже делал наверное, просто что бы хоть знат от чего отталкиваться...
01.11.2011 15:41
Carott
 
перем ОбъектДок;
Сообщить(строка(ТекущаяДата()));
Текст = Новый ЧтениеТекста("C:\Vigruz\Документы (OLAP).txt", КодировкаТекста.ANSI);
Стр = Текст.ПрочитатьСтроку();
Стр = Текст.ПрочитатьСтроку();
КолстрТек = 0;
Пока Стр <> Неопределено Цикл
КолстрТек = КолстрТек+1;
Стр = Текст.ПрочитатьСтроку();
КонецЦикла;

Текст = Новый ЧтениеТекста("C:\Vigruz\Документы (OLAP).txt", КодировкаТекста.ANSI);
Стр = Текст.ПрочитатьСтроку();
Стр = Текст.ПрочитатьСтроку();
НомстрТ = 1;

ЭлементыФормы.ИндикаторДействия.Видимость = Истина;
ЭлементыФормы.ИндикаторДействия.МаксимальноеЗначение = КолстрТек;
ЭлементыФормы.ИндикаторДействия.Значение = 0;

ДокПоступлениеТов = Документы.ПоступлениеТоваровУслуг;
y1 = 1;
ПредАрт ="";
//НачатьТранзакцию();
НащкодДок1 = "";
Пока Стр <> Неопределено Цикл
Y1 = y1+1;


НомстрТ = НомстрТ+1;
ДатаДок = Дата(ИзДатыДату(ПолучитьСтр(Стр,1)));
НащкодДок = СокрЛП(ПолучитьСтр(Стр,2));
КодДок = Прав(СокрЛП(ПолучитьСтр(Стр,2)),11);
КодМХ = СокрЛП(ПолучитьСтр(Стр,4));
КодМХ = УстановитьНули(КодМХ,9);
КодПост = СокрЛП(ПолучитьСтр(Стр,5));
Если КодПост<>"" Тогда
КодПост = УстановитьНули(КодПост,9);
КонецЕсли;
если Справочники.Контрагенты.НайтиПоКоду(КодПост)=Справочники.Контрагенты.ПустаяСсылка() тогда
КодПост = "0"+КодПост;
Если не (справочники.ФизическиеЛица.НайтиПоКоду(КодПост) =Справочники.ФизическиеЛица.ПустаяСсылка())Тогда
ЭтоПодотчетник = 1;
КонецЕсли;
иначе
ЭтоПодотчетник = 0;
КонецЕсли;
КодПокуп = СокрЛП(ПолучитьСтр(Стр,6));
Если КодПокуп<>"" Тогда
КодПокуп = УстановитьНули(КодПокуп,9);
КонецЕсли;
Если СокрЛП(ПолучитьСтр(Стр,7))<>"" тогда
OpCode = число(ПолучитьСтр(Стр,7));
иначе
OpCode = -99;
КонецЕсли;
Если СокрЛП(ПолучитьСтр(Стр,8))<>"" тогда
UserOp = число(ПолучитьСтр(Стр,8));
иначе
UserOp = -99;
КонецЕсли;
Если СокрЛП(ПолучитьСтр(Стр,9))<>"" тогда
Сумма = число(ПолучитьСтр(Стр,9));
иначе
Сумма = 0;
КонецЕсли;
Если СокрЛП(ПолучитьСтр(Стр,10))<>"" тогда
Кол = число(ПолучитьСтр(Стр,10));
иначе
Кол = 0;
КонецЕсли;
Если СокрЛП(ПолучитьСтр(Стр,12))<>"" тогда
Цена = число(ПолучитьСтр(Стр,12));
иначе
Цена = 0;
КонецЕсли;
Артикул = сокрЛП(ПолучитьСтр(Стр,11));

НайдТов1 = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул",Артикул);
Если ЗначениеЗаполнено(НайдТов1) тогда

// Поступление Товаров (0) ******************************************************
Если OpCode = 0 тогда
Если ЭтоПодотчетник = 0 тогда
НайденДок = ДокПоступлениеТов.НайтиПоНомеру(КодДок,ДатаДок);
Если не (НащкодДок1 = "") тогда
Если НайденДок.Метаданные().Имя<> ОбъектДок.Метаданные().Имя Тогда
НащкодДок1 = "";
Конецесли;
Конецесли;

если (НащкодДок1 = "") или (НащкодДок<>НащкодДок1) тогда

Если не (НащкодДок1 = "") тогда
ОбъектДок.Записать();
КонецЕсли;

Если не ЗначениеЗаполнено(НайденДок) тогда
ОбъектДок = ДокПоступлениеТов.СоздатьДокумент();
Иначе
ОбъектДок = НайденДок.ПолучитьОбъект();
ОбъектДок.Товары.Очистить();
КонецЕсли;
Если ОбъектДок.ЭтоНовый() Тогда // проверить объект на то, что он еще не внесен в ИБ

// Заполнить реквизиты значениями по умолчанию.
ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ОбъектДок, глЗначениеПеременной("глТекущийПользователь"),ОбъектДок.мВалютаРегламентированногоУчета , "Покупка",);

Если ОбъектДок.ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ВПереработку Тогда
ОбъектДок.УчитыватьНДС = Ложь;
ОбъектДок.СуммаВключаетНДС = Ложь;
КонецЕсли;
ОбъектДок.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.РасчетыСПоставщиками;
ОбъектДок.СчетУчетаРасчетовПоАвансам = ПланыСчетов.Хозрасчетный.РасчетыПоАвансамВыданным;
ОбъектДок.КурсВзаиморасчетов = 1;
ОбъектДок.КратностьВзаиморасчетов = 1;
ОбъектДок.УчитыватьНДС = Ложь;

КонецЕсли;
ОбъектДок.Склад = Справочники.Склады.НайтиПоКоду(КодМХ);

ОбъектДок.Дата = ДатаДок;
ОбъектДок.Номер = КодДок;
// ОбъектДок.Контрагент = Справочники.Контрагенты.НайтиПоКоду(КодПост);
мСписокВидовДоговоров = Новый СписокЗначений;
мСписокВидовДоговоров.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком);
мСписокВидовДоговоров.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СПокупателем);
ЗаполнениеДокументов.ПриИзмененииЗначенияКонтрагента(ОбъектДок,мСписокВидовДоговоров);

ОбъектДок.Записать();

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

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

Конецесли;
01.11.2011 15:42
Carott
 
Это только поступление товаров, с проверкой поставщик или подотчетник
05.11.2011 17:11
dimens
 
Выгружаю Приходные накладные из 1С с одной галкой через xml формат. Чрез какое то время Необходимо эти документы перевести в две галки. Смена DOCSTATE с 2 на 3 в xml файле не проходит. Сам SM в этом случае передает SFPZ файлы (чем их можно редактировать?). Каким образом при перегрузке документов можно поменять статус документа без SFPZ файлов?
06.11.2011 13:29
vdm
 
Цитата:
Смена DOCSTATE с 2 на 3 в xml файле не проходит
Ошибку приема xml-пакета почтовиком СМ в студию.
06.11.2011 17:34
dimens
 
Цитата:
vdm Ошибку приема xml-пакета почтовиком СМ в студию.
----- Ошибка приема -----
Пакет: 061111172755_3.SVP
Тип объекта: Приходная накладная
Идентификатор объекта: ПН26-05905
-- Уровень вложения 0 --
Сообщение: Невозможно обновить в БД объект «WI, ПН26-05905», таблица «SMDOCUMENTS»
Исключение: Sm.Core.BaseException
Источник: Sm.Post.DbLoader
Метод: Void WriteExistingObject(Sm.Server.Database.OracleTransConn, Sm.Post.PostObject)
-- Уровень вложения 1 --
Сообщение: ORA-20047: Два разных объекта имеют одинаковые идентификаторы
ORA-06512: на "SUPERMAG.CORE", line 300
ORA-06512: на "SUPERMAG.SMDOCUMENTSBORNIN", line 17
ORA-04088: ошибка во время выполнения триггера 'SUPERMAG.SMDOCUMENTSBORNIN'

Исключение: System.Data.OracleClient.OracleException
Источник: System.Data
Метод: Int32 UpdatedRowStatusErrors(System.Data.Common.RowUpdatedEventArgs, BatchCommandInfo[], Int32)
Данные:
параметры: pID=«ПН26-05905»; pDOCTYPE=«WI»; pBORNIN=«D4207CF00DB6D44E82E02D42004076E3A041003EFBEBB040»; pCLIENTINDEX=«46»; pCOMMENTARY=« № 357419 от 28.10.11»; pCREATEDAT=«28.10.2011 6:57:56»; pCURRENCYMULTORDER=«0»; pCURRENCYRATE=«1»; pCURRENCYTYPE=«1»; pDOCSTATE=«3»; pISROUBLES=«1»; pLOCATION=«»; pLOCATIONFROM=«»; pLOCATIONTO=«28»; pOPCODE=«0»; pPRICEROUNDMODE=«3»; pTOTALSUM=«1533,96»; pTOTALSUMCUR=«1533,96»; pUSEROP=«»
соединено с: База даных=TVPRCO; Пользователь=Supermag
текст команды: Update Supermag.SMDOCUMENTS set BORNIN=:pBORNIN,CLIENTINDEX=:pCLIENTINDEX,COMMENTARY=:pCOMMENTARY,CREATEDAT=:pCREATEDAT,CURRENCYMULTORDER=:pCURRENCYMULTORDER,CURRENCYRATE=:pCURRENCYRATE,CURRENCYTYPE=:pCURRENCYTYPE,DOCSTATE=:pDOCSTATE,ISROUBLES=:pISROUBLES,LOCATION=:pLOCATION,LOCATIONFROM=:pLOCATIONFROM,LOCATIONTO=:pLOCATIONTO,OPCODE=:pOPCODE,PRICEROUNDMODE=:pPRICEROUNDMODE,TOTALSUM=:pTOTALSUM,TOTALSUMCUR=:pTOTALSUMCUR,USEROP=:pUSEROP where ID=:pID and DOCTYPE=:pDOCTYPE
тип команды: Text
06.11.2011 17:45
OlegON
 
Поле BORNIN заполнили неправильно, судя по всему. Обрати внимание, какой он у существующего дока и какой ему подсовываешь.
06.11.2011 18:33
dimens
 
Цитата:
OlegON Поле BORNIN заполнили неправильно, судя по всему. Обрати внимание, какой он у существующего дока и какой ему подсовываешь.
C BORNIN (БД создания) все Ок. Если я удаляю из SM тот документ, который мне нужно обновить (сменить DOCSTATE состояние), то все загружается без ошибок (тем же файлом, который выдал эту ошибку)...
06.11.2011 18:55
dimens
 
Похоже разобрался. У меня две базы (центральная и подчиненная). Я пытался обновить документ созданный в подчиненной базе используя BORNIN для центральной....
14.12.2011 17:58
Tema
 
вопрос - при перегрузке данных из супермага через OLE в 1С можно ли как-то выбрать время создания или последнего сохранения документа? не просто дату, а именно с часами и минутами? Посмотрел в настройках экспорта, вроде есть настройка для часов-минут, а при выборке все равно дату в днях пихает. Версия см - 1024.4
15.12.2011 07:26
Mtirt
 
В Супермаге у даты документа нет времени, только дата. Откуда ты время брать собираешься?
15.12.2011 07:33
OlegON
 
В более новых версиях, чем 24.4 что-то же делалось со временем? Или это только про историю документа была речь?
09.06.2012 11:40
dimens
 
Пишу загрузку приходных накладных в 1С розница. Вот запрос по табличным частям документов:
Номенклатуру синхронизирую по IDD, который находится в propval

select d.propval, s.quantity, s.itemprice, s.totalprice, n.taxrate, n.taxsum
from SMSPEC s, SMCARDPROPERTIES d, SMSPECTAX n
where s.docid = 'Номер документа'
and s.article = d.article
and s.docid = n.docid
and s.specitem = n.specitem
and s.doctype = 'WI'
and n.doctype = 'WI'

Сравниваю количество строк в документе и запросе (в запросе меньше).
Где я что то не учел?
09.06.2012 11:46
Mtirt
 
Есть карточки с незаполненным свойством?
09.06.2012 11:48
dimens
 
Цитата:
Mtirt Есть карточки с незаполненным свойством?
Вполне могут быть...
Спасибо за мысль...
26.09.2013 10:05
rkhasano
 
Добрый день.

У клиента стоит Супермаг 2000. Бухгалтерия велась руками. Сейчас хотят ее автоматизировать и еще делать бюджетирование. Решили делать на 1С:УПП
И возникла проблема как выгрузить товарные остатки из Супермага в 1С. Специалиста по супермагу у них нет. Сами супермагом тоже не владеем. Нужна помощь.
26.09.2013 10:09
Dim
 
есть описание структуры БД Супермага. при наличии грамотного 1С-ника, владеющего запросами SQL, можно из 1С, подцепившись к оракловой базе, вытащить все, что нужно


Опции темы


Часовой пояс GMT +3, время: 23:50.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.