|
v7: УРИБД: как перебрать объекты для отправки? | ☑ | ||
---|---|---|---|---|
0
Shved_72
17.01.17
✎
08:54
|
поднял мохнатую литературу
http://i.imgur.com/T3z5JKL.jpg неужто такого не было? как без этого жили? есть же целая таблица вроде update, почему ее нельзя программно поиметь? |
|||
1
Cool_Profi
17.01.17
✎
08:56
|
Почему нельзя?
select * from _1supd |
|||
2
Ёпрст
17.01.17
✎
08:56
|
(0) у кого обе руки не левые, прекрасно всё достаёт и правит, прямым запросом.
|
|||
3
Shved_72
17.01.17
✎
08:59
|
так глубоко я еще не входил.
а что в таблице? uid сущности? как его вернуть в ссылку? |
|||
4
Ёпрст
17.01.17
✎
09:03
|
Гугл - структура уриб - фас-фас
|
|||
5
Shved_72
17.01.17
✎
09:04
|
||||
6
Андрей_Андреич
naïve
17.01.17
✎
09:05
|
"Программно поиметь"
"Так глубоко я еще не входил" С таким слогом писать надо не на 1С, а монологи Петросяну. |
|||
7
Курцвейл
17.01.17
✎
09:06
|
ЗначениеВФайл
|
|||
8
Shved_72
17.01.17
✎
09:09
|
спасибо. досвидания
|
|||
9
Ёпрст
17.01.17
✎
09:13
|
||||
10
пипец
17.01.17
✎
09:17
|
хмм обычно все таки сначала читают, потом пишут ))
|
|||
11
Рэйв
17.01.17
✎
09:21
|
Выборка = ПланыОбмена.ВыбратьИзменения(Узел,НомерПоследнегоСообщения+1);
Сч=0; ОчиститьСообщения(); Сообщить("<Ctrl + Break> для прерывания..."); Пока Выборка.Следующий() Цикл Сч=Сч+1; ОбработкаПрерыванияПользователя(); ОбъектВыгрузки = Выборка.Получить(); Состояние("Объект "+Сч+"-> "+ОбъектВыгрузки); КонецЦикла; |
|||
12
Рэйв
17.01.17
✎
09:21
|
ой, сторно..не узрел, что 7.7
:-) |
|||
13
Cool_Profi
17.01.17
✎
09:25
|
(11) см (10) )))
|
|||
14
Это_mike
17.01.17
✎
09:26
|
(10) дык где мизда, а где "обычно". вон, (11) сначала пишет, а пао том читает
|
|||
15
Рэйв
17.01.17
✎
09:27
|
(14)У меня секция только в общем списке тем светится:-) А как зашел в тему - не видно
|
|||
16
Это_mike
17.01.17
✎
09:30
|
(15) дык неужто прочитал картинку а теме, и не понял? :-)
|
|||
17
Cool_Profi
17.01.17
✎
09:31
|
(16) "Шурик, это не наш метод!"
|
|||
18
Это_mike
17.01.17
✎
09:33
|
(17) а "наш" - это какой? "бить сильно, но аккуратно"©?
|
|||
19
Рэйв
17.01.17
✎
09:33
|
(16)А накой мне "мохнатая литература"?:-))
|
|||
20
Cool_Profi
17.01.17
✎
09:35
|
(18) "Пишите, ТС узнает своё!"
|
|||
21
Shved_72
17.01.17
✎
09:35
|
какой учеткой в мистатый каталог стучаться? от митсы не подходит от инфостата тоже. там надо третью регать?
http://catalog.mista.ru/public/14424/ |
|||
22
Это_mike
17.01.17
✎
09:36
|
(19) литература - это книжки такие. а совсем не то, что ты подумал... то, что ты подумал - называется, гкхм, "горжетка"
|
|||
23
Это_mike
17.01.17
✎
09:36
|
(21) лезь на нимфостарте
|
|||
24
Ёпрст
17.01.17
✎
09:40
|
Смотреть на dat файлик, не очень удачная идея. Проще смотреть, что зарегистрировано в упдсе
|
|||
25
Это_mike
17.01.17
✎
09:41
|
(24) а кто советовал смотреть на dat?
|
|||
26
Shved_72
17.01.17
✎
09:43
|
самой выгрузки из 77 не будет.
мне надо штатно регать все что меняется и загружать в 8ку |
|||
27
Ёпрст
17.01.17
✎
09:43
|
(25) ну, он же ссмотрит в (21)
|
|||
28
Ёпрст
17.01.17
✎
09:45
|
(26) МОД можно поставить, если уриб не осилишь с кд. Там есть штатный обмен со снеговиком.
|
|||
29
Это_mike
17.01.17
✎
09:45
|
(26) уфф. поищи по моему нику... я даже код давал...
|
|||
30
Shved_72
17.01.17
✎
09:46
|
(27) хотел выдернуть пару строк получения объекта по уид
|
|||
31
Это_mike
17.01.17
✎
09:47
|
(30) поставь 1с++
|
|||
32
Ёпрст
17.01.17
✎
09:47
|
(29) в (9) посленяя ссылка
|
|||
33
Это_mike
17.01.17
✎
09:49
|
(32) не, я про другое.
я давал код процедур как рз для обмена с снеговиком. |
|||
34
Это_mike
17.01.17
✎
09:55
|
Нашел в заначке, но за версию не поручусь
//****************************************************************************** Процедура ИнициализацияСоответствийОбъектов() Экспорт рс=СоздатьОбъект("ODBCRecordset"); текстУдаленияТаблицыСоответствий=" | |IF EXISTS(SELECT name FROM sysobjects WHERE name = 'СоответствияОбъектов' AND xtype='U') | |DROP TABLE [СоответствияОбъектов] |"; рс.ВыполнитьСкалярный(текстУдаленияТаблицыСоответствий); текстСозданияТаблицыСоответствий=" | |IF NOT EXISTS(SELECT name FROM sysobjects WHERE name = 'СоответствияОбъектов' AND xtype='U') | |CREATE TABLE [СоответствияОбъектов] ( | [ROW_ID] [int] IDENTITY (1, 1) NOT NULL , | [ТипОбъекта] [numeric](5, 0) NOT NULL , | [ТипОбъектаСтр] [char](35) COLLATE Cyrillic_General_CI_AS NOT NULL , | [ВидОбъектаСтр] [char] (45) COLLATE Cyrillic_General_CI_AS NOT NULL , | [ИмяТаблицы] [char] (10) COLLATE Cyrillic_General_CI_AS NOT NULL , | CONSTRAINT [СоответствияОбъектов_PK] PRIMARY KEY CLUSTERED | ( | [ROW_ID] | ) ON [PRIMARY] |) ON [PRIMARY] |"; рс.ВыполнитьСкалярный(текстСозданияТаблицыСоответствий); ТекстДобавленияОписания=" |INSERT INTO СоответствияОбъектов (СоответствияОбъектов.ТипОбъекта, СоответствияОбъектов.ТипОбъектаСтр,СоответствияОбъектов.ВидОбъектаСтр,СоответствияОбъектов.ИмяТаблицы) | VALUES ( :ТипОбъекта,:ТипОбъектаСтр, :ВидОбъектаСтр,' ') |"; Для сч=1 По Метаданные.Документ() Цикл ИдентСтр=Метаданные.Документ(сч).Идентификатор; Идент=глMDW.ИДДокумента(сч); рс.УстановитьТекстовыйПараметр("ТипОбъекта",Идент); рс.УстановитьТекстовыйПараметр("ТипОбъектаСтр","Документ"); рс.УстановитьТекстовыйПараметр("ВидОбъектаСтр", ИдентСтр); рс.ВыполнитьСкалярный(ТекстДобавленияОписания); КонецЦикла; Для сч=1 По Метаданные.Справочник() Цикл ИдентСтр=Метаданные.Справочник(сч).Идентификатор; Идент=глMDW.ИДСправочника(сч); рс.УстановитьТекстовыйПараметр("ТипОбъекта",Идент); рс.УстановитьТекстовыйПараметр("ТипОбъектаСтр","Справочник"); рс.УстановитьТекстовыйПараметр("ВидОбъектаСтр", ИдентСтр); рс.ВыполнитьСкалярный(ТекстДобавленияОписания); КонецЦикла; КонецПроцедуры //****************************************************************************** Функция ВернутьИзмененныеДокументы(ИдБазы="1C8",ТипОбъектаСтр="",ВидОбъектаСтр="",ИдОбмена="") Экспорт рс=СоздатьОбъект("ODBCRecordset"); ТекстЗапроса=" |select case when Соответствия.ТипОбъектаСтр='Документ' then 'O1' else 'B1' end + dbo.convert10to36(Соответствия.ТипОбъекта)+ Изменения.objid [Объект $Неопределенный] |from _1supdts Изменения (nolock) |inner join СоответствияОбъектов Соответствия (nolock) on Изменения.typeid= Соответствия.ТипОбъекта |where Изменения.dbsign=:ВыбИдБазы |"; Если ПустаяСтрока(ТипОбъектаСтр)=0 Тогда ТекстЗапроса=ТекстЗапроса+" |and (Соответствия.ТипОбъектаСтр=:ВыбТипОбъектаСтр)"; КонецЕсли; Если ПустаяСтрока(ВидОбъектаСтр)=0 Тогда ТекстЗапроса=ТекстЗапроса+" |and (Соответствия.ВидОбъектаСтр=:ВыбВидОбъектаСтр)"; КонецЕсли; Если ИдОбмена<>"" Тогда ТекстЗапроса=ТекстЗапроса+" |and ((left(Изменения.DwnLdId,6) <= left(:ИдОбмена,6)) and (Изменения.DwnLdId<>''))"; КонецЕсли; рс.УстановитьТекстовыйПараметр("ВыбТипОбъектаСтр",ТипОбъектаСтр); рс.УстановитьТекстовыйПараметр("ВыбВидОбъектаСтр",ВидОбъектаСтр); рс.УстановитьТекстовыйПараметр("ВыбИдБазы",ИдБазы); рс.УстановитьТекстовыйПараметр("ИдОбмена",ИдОбмена); ТЗОбъектов=рс.ВыполнитьИнструкцию(ТекстЗапроса); Возврат ТЗОбъектов; КонецФункции //****************************************************************************** Функция ВернутьНовыйИдОбмена() Экспорт НовыйИд=ЗапросСКЛ.ВыполнитьСкалярный("select ltrim(dbo.convert10to36(max(dbo.convert36to10(left (dwnldid,6)))+1)+'CB ') from _1sdwnlds where direct='O'"); Возврат НовыйИд; КонецФункции //****************************************************************************** Функция ПодготовиитьКВыгрузке(ИдБазы="1C8") Экспорт ТекстЗапроса=" |set nocount on |declare @NewId Char(9) |declare @DBSign Char(9) |Set @DBSign=:ИдБазы |set @NewId=(select ltrim(dbo.convert10to36long(max(dbo.convert36to10(left (dwnldid,6)))+1)+'CB ') from _1sdwnlds where direct='O') |INSERT INTO [Base].[dbo].[_1SDWNLDS]([DWNLDID], [DBSIGN], [DIRECT], [ACKNOWL]) |VALUES( @NewId, @DBSign, 'O', ' ') |UPDATE [Base].[dbo].[_1SUPDTS] |SET [DWNLDID]=@NewId |WHERE (DBSign=@DBSign) and (DWNLDID='') |--select * from _1supdts where dbsign='1C8' |Select @NewId |"; ЗапросСКЛ.УстановитьТекстовыйПараметр("ИдБазы", ИдБазы); НовыйИд=ЗапросСКЛ.ВыполнитьСкалярный(ТекстЗапроса); Возврат НовыйИд; КонецФункции //****************************************************************************** Функция ПодтвердитьОбмен(ИдБазы="1C8", ИдВыгрузки="") Экспорт ТекстЗапроса=" |set nocount on |declare @SelId Char(9) |declare @DBSign Char(9) |Set @DBSign=:ИдБазы |set @SelId=:ИдВыгрузки |go |UPDATE [Base].[dbo].[_1SDWNLDS]([DWNLDID], [DBSIGN], [DIRECT], [ACKNOWL]) |SET [ACKNOWL]='A' |WHERE [DWNLDID]=@SelId and [DBSIGN]=@DBSign |go |DELETE [Base].[dbo].[_1SUPDTS] |WHERE (DBSign=@DBSign) |and (left(DWNLDID,6) <= left(@SelId,6)) |"; ЗапросСКЛ.УстановитьТекстовыйПараметр("ИдБазы", ИдБазы); ЗапросСКЛ.УстановитьТекстовыйПараметр("ИдВыгрузки", ИдВыгрузки); ЗапросСКЛ.ВыполнитьСкалярный(ТекстЗапроса); Возврат ""; КонецФункции //****************************************************************************** |
|||
35
Shved_72
17.01.17
✎
09:55
|
нашел пока от NS. попробую
UID объекта в 7.7 |
|||
36
Shved_72
17.01.17
✎
09:57
|
(36) спасибо. пригодится
|
|||
37
Это_mike
17.01.17
✎
10:00
|
||||
38
Shved_72
18.01.17
✎
13:08
|
ура.
спасибо за Книга знаний: Нетипичное использование компоненты УРБД в системе 1С:Предприятие 7.7 два дня трахался без _StrToID |
|||
39
totparen
19.01.17
✎
19:16
|
Пользуясь случаем - http://catalog.mista.ru/public/570415/
Обмен на основе УРБД с квитированием. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |