Имя: Пароль:
1C
1С v8
Добавление Регистра Накопления в расширение в УТ 11.3
0 Тессеракт
 
21.01.21
10:14
Добрый день!
На днях будет опубликована УТ и наконец то ее можно будет сравнивать с БП через веб сервис! Тк платформы у БП и УТ разные, то единственный способ сверки был на основе какой нибудь из баз подгружать эксельник от противоположной и в запросе связываться по строкам.
Сейчас можно получить те же данные(тк логично, что ссылки на другую базу не получить), но без танцев с бубном. Поэтому я создал в расширении в УТ веб сервис и вкорячил туда запрос:
Функция SubmitQuery(TypeOfExchange)
    Структура = Десериализовать(typeOfExchange);
    ТаблицыЗначений = Новый Структура;
    Запрос = Новый Запрос();
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ПартииТоваровОрганизацийОстаткиИОбороты.ДокументПоступления КАК ДокументПоступления,
    |    ПартииТоваровОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
    |    ПартииТоваровОрганизацийОстаткиИОбороты.Регистратор КАК Регистратор,
    |    ПартииТоваровОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Склад КАК АналитикаУчетаНоменклатурыСклад,
    |    ЕСТЬNULL(ВЫБОР
    |            КОГДА ТИПЗНАЧЕНИЯ(ПартииТоваровОрганизацийОстаткиИОбороты.Регистратор) = ТИП(документ.корректировкареализации)
    |                ТОГДА ПартииТоваровОрганизацийОстаткиИОбороты.КоличествоОборот
    |            ИНАЧЕ -ПартииТоваровОрганизацийОстаткиИОбороты.КоличествоОборот
    |        КОНЕЦ, 0) КАК КоличествоОборот,
    |    ЕСТЬNULL(-ПартииТоваровОрганизацийОстаткиИОбороты.СтоимостьБезНДСОборот, 0) КАК СтоимостьБезНДСОборот,
    |    ЕСТЬNULL(-ПартииТоваровОрганизацийОстаткиИОбороты.НДСРеглОборот, 0) КАК НДСРеглОборот,
    |    ЕСТЬNULL(-ПартииТоваровОрганизацийОстаткиИОбороты.СтоимостьОборот, 0) КАК СтоимостьОборот,
    |    ПартииТоваровОрганизацийОстаткиИОбороты.ДокументПоступления.Номер КАК ДокументПоступленияНомер
    |ИЗ
    |    РегистрНакопления.ПартииТоваровОрганизаций.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Регистратор, , ) КАК ПартииТоваровОрганизацийОстаткиИОбороты
    |ГДЕ
    |    НЕ ПартииТоваровОрганизацийОстаткиИОбороты.Регистратор ССЫЛКА Документ.ВнутреннееПотреблениеТоваров
    |    И НЕ ПартииТоваровОрганизацийОстаткиИОбороты.Регистратор.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаНаКомиссию)
    |    И НЕ ПартииТоваровОрганизацийОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПриобретениеТоваровУслуг";
    


но при попытке зайти в конструктор запроса выходит ошибка:
Поле не найдено "ПартииТоваровОрганизацийОстаткиИОбороты.Регистратор.ХозяйственнаяОперация"
И НЕ ПартииТоваровОрганизацииОстаткиИОбороты.Регистратор.<<?>>ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаНаКомиссию)
Сам регистр добавил в расширение, Перечисление тоже. Начал добавлять регистраторы, но быстро устал и усомнился в необходимости этих действий. Гугл помогать отказался, мутно намекнул, что возможно дело в том, что расширение не поддерживает вирт таблицы ОстанкиИОбороты , но так ли это?
Из этого я вижу 3 выхода:
тк конфа не на поддержке, то
1) добавить в саму конфу веб сервис и не скребсти мозг.
2) оставить веб сервис в расширении, а запрос закинуть в общий модуль, который будет в самой конфе
3) перенести не хватающие объекты в расширение. Но вот каких не хватает то?

Какой из вариантов считаете наиболее адекватным? Имеет ли смысл 3 вариант? Ведь была бы конфа на замке- пришлось бы его домучивать.

платформа 8.3.1644
УТ 11.3.5.41
1 mikecool
 
21.01.21
10:20
На днях будет опубликована УТ и наконец то ее можно будет сравнивать с БП через веб сервис! Чего?
2 Terl
 
21.01.21
10:21
Я бы просто использовал внешнюю обработку
3 mikecool
 
21.01.21
10:24
но при попытке зайти в конструктор запроса выходит ошибка:
в конструктор надо заходить в том месте, где есть этот объект или писать запросы руками
но это могут не многие программисты
4 Тессеракт
 
21.01.21
10:24
(1) А что именно не понятно?
5 Тессеракт
 
21.01.21
10:25
(2) бухи хотят в виде отчета, чтоб можно было разные группировки и отборы юзать, а не каждый раз получать банальную выгрузку в эксель. Я так и делаю сейчас кстати
6 ДенисЧ
 
21.01.21
10:25
(5) Ну сделай внешний отчёт, а не внешнюю обработку...
7 1Снеговик
 
гуру
21.01.21
10:25
Что мешает обновить платформу и использовать COM?
8 Тессеракт
 
21.01.21
10:26
(3) так я регистр накоплений добавил в расширение, значит он там есть)
9 Тессеракт
 
21.01.21
10:27
(6) я пробовал вариант скд и эксельник в виде объекта загружать- на передаче ТЗ как Объекта забуксовал и мне сказали, что планируется публикация базы и можно через веб сервис данные тянуть
10 1Снеговик
 
гуру
21.01.21
10:28
(8) при чем тут вообще регистр накопления, если ругается на реквизит регистратора "ХозяйственнаяОперация"??
11 Тессеракт
 
21.01.21
10:28
(7) за обновление платформы отвечает старший прогер и он ее обновлял на нг праздниках. Почему до последнего релиза не обновил - хз. В общем, ком пока в пролете
12 Тессеракт
 
21.01.21
10:29
(10) я перечисления тоже добавил в расширение
13 1Снеговик
 
гуру
21.01.21
10:30
На кой черт связался с расширением? Нельзя сделать внешний отчет?
14 ДенисЧ
 
21.01.21
10:31
(12) А все регистраторы регистра?
15 1Снеговик
 
гуру
21.01.21
10:32
(12) при чем тут перечисление? Надо добавить реквизит "ХозяйственнаяОперация". Он что, у всех документов, что нельзя понять что конкретно попадает в запрос и на какой документ ругается?
16 Тессеракт
 
21.01.21
10:33
(13) имеете в виду: из одной базы выгружать эксельник,
в другой сделать отчет скд и выгруженный эксельник подтянуть в виде тз туда и связать? пробовал, на этапе передачи в скд тз забуксовал и обрадовали возможность веб-сервиса, поэтому и переключился на него
17 Тессеракт
 
21.01.21
10:34
(14) это муторная процедура и я решил сначала поинтересоваться, надо ли это делать вообще. Понял, что надо
18 Тессеракт
 
21.01.21
10:34
(15) так, значит надо только те, где есть Хозоперация. Спасибо)
19 ДенисЧ
 
21.01.21
10:36
(18) Нет. Все, что участвуют в регистре.
20 Тессеракт
 
21.01.21
10:39
(19) ага, опытным путем только что понял это))
21 Тессеракт
 
21.01.21
10:47
(19) не, не помогло) все регистраторы добавил. все внутренности регистра тоже. и ошибка все та же
22 1Снеговик
 
гуру
21.01.21
11:56
(21) регистраторы или реквизиты регистраторов?
23 Тессеракт
 
21.01.21
15:41
(22) регистраторы вместе с реквизитами регаются