![]() |
|
Я опять про Контур для 970 формата | ☑ | ||
---|---|---|---|---|
0
Мисти
31.03.25
✎
14:26
|
Изменились все внутренности - названия! В прошлый раз обновление встало, я нашла, куда вставить свои куски, но для 820 формата, меня никто не надоумил, что всё придумано ради 970. А про 970 - я даже упоминаний не могу найти! Хотя версия Диадока новая.
|
|||
98
Злопчинский
02.04.25
✎
01:20
|
(97) в версии 5.03, табл 5.15 ДопСведТов не вижу атрибута НаимЕдИзм.
https://normativ.kontur.ru/document?moduleId=1&documentId=486791#h6112 . ээээ! это именно для Контур.Диадок? . потому как я впихнул простую заглушку <ИнфПолФХЖ2 Идентиф="штрихкод" Значен="1234567890123" /> указанное проглатывает (это понятно), но все равно ругается (это непонятно). Такое ощущение что ИнфПолФХЖ2 должен быть с каким-то вполне определенным Идентиф, специфическим для обмена через Контур.Диадок. Или какая-то наведенная ошибка.
|
|||
99
Злопчинский
02.04.25
✎
01:38
|
Может у кого есть живой реальный xml из ЛК контур.диадок с импортными товарами/гтд - киньте в личку на посмотреть на e.meil@mail.ru
Спасибо |
|||
100
Злопчинский
02.04.25
✎
01:22
|
товары на которых тренируюсь - немарикируемые, непрослеживаемые.
|
|||
101
Злопчинский
02.04.25
✎
01:50
|
(97) вот если выкинуть тег ДопСведТов - то прокатывает.
но так не полчится, потому что для импортных товаров надо указывать в этом теге инфу для КрНаимСтрПр - наименование страны происхождения товара, да и необязательный КодТов, например, может пригодиться |
|||
102
Злопчинский
02.04.25
✎
01:51
|
кто шарит в формате - может поправят меня, растолкуют... что не так...
|
|||
103
Злопчинский
02.04.25
✎
02:30
|
так. клюшечники не сдаются, клюшечники мстят!
. На данном этапе отладки ситуация поправилась когда узел <ДопСведТов> положил сразу после открытия тега <СведТов> но здесь https://normativ.kontur.ru/document?moduleId=1&documentId=486791#h6112 про обязательный порядок тегов/узлов ничегошеньки нет (не нашел/не увидел). . Хорошо бы заиметь XSD для формата 5.03 а то придется лезть искать где-то на сайте налоговой . когда сам пилил когда-то выгрузку - в конце обязательно ставил проверку по XSD? а тут в адской самописной конфе плбющит и таращит меня страшно. . Извиняюсь за беспокойство. |
|||
104
Злопчинский
02.04.25
✎
02:33
|
полезное по мелочи https://buh.ru/news/fns-obyasnila-kak-izmenilsya-elektronnyy-format-scheta-faktury-i-upd.html
по письму письмо ФНС от 26.03.2025 № ЕА-4-26/3241@. Оригинал: https://v8.1c.ru/lawmonitor/852234dc-0ae1-11f0-8ce1-005056bea45e.htm |
|||
105
Злопчинский
02.04.25
✎
02:35
|
это только наша любимая прога/сопровожденцы могут уведомить что xsd изменилась , но ссылку на XSD не дать...
https://v8.1c.ru/lawmonitor/852234dc-0ae1-11f0-8ce1-005056bea45e.htm |
|||
106
Злопчинский
02.04.25
✎
02:40
|
(103) попытки положить ДопСведТов в другое место внутри узла СведТов - приводят к тому, что валидатор Контур.Диадок - ругается...
. xsd на 5.03 пока не нашел и чем определяется/как понять порядок тегов/узлов - непонятно... |
|||
107
Злопчинский
02.04.25
✎
03:24
|
судя по всему последние XSD для 5.03 здесь https://www.nalog.gov.ru/rn77/about_fts/docs/15556529/
|
|||
108
Злопчинский
02.04.25
✎
03:45
|
узел СвДТ тоже требуется класть во вполне определенное место в узле СведТов.
как это понять по XSD - хз. Может кто подскажет? ориентироватьяс что если в XSD определение тега/узла лежит за определением какого-то другого тега/узла - так и надо класть при формировании XML? |
|||
109
Злопчинский
02.04.25
✎
03:54
|
далее:
порядок узлов (по крайней мере тех, которые "интересны" мне) чтобы валидатор пропускал должен быть таким СведТов СвДТ ДопСведТов такой порядок соответствует порядку следования этих узлов в XSD в (107) |
|||
110
Злопчинский
02.04.25
✎
03:58
|
ну и что самое обидное
в человекочитаемом описании Таблица 5.12 https://normativ.kontur.ru/document?moduleId=1&documentId=486791#h6112 порядок узлов соответствует XSD но бляха муха совсем не очевидно что последовательность должна быть именно такой. И вся трабла, что майстрячить пришлось на основе какой-то до этого работавшей выгрузки, а новые и измененные узлы совсем неочевидно было мне что надо класть строго (хотя я об этом знаю, что такие требования есть, но блин они же ИМХО должны описываться как-то явно, а не только просто раположением узлов в документации и слеованием описаний ы XSD |
|||
111
Злопчинский
02.04.25
✎
04:00
|
Самое обидное-2: я обычно пишу свой код.
и скольо выгрузок писал - писал по человекочитаемой документации, встретилось описание узла/тега - вбвбвхиваю его. Поэтому не было проблем с порядком следования. А тут адская самлписная конфига не имеющая ничего общего ни с однйо типовой, тяжелый грязный код. охерительнеы архитектурые решения просто упасть итд. Решил взять за основу что было ибо хз что там "у нее унутре". на тебе абвгдэйку!!! |
|||
112
Злопчинский
02.04.25
✎
04:01
|
Короче.
Пойду застрелюсь. |
|||
113
vladmenleo
02.04.25
✎
05:18
|
(106) плохо ищешь https://formats.saby.ru/edo/standart/117134?version=141251
там и описание и хсд и пример |
|||
114
Sneer
02.04.25
✎
08:04
|
ЗаписьXML.ЗаписатьНачалоЭлемента("СведТов"); ЗаписьXML.ЗаписатьАтрибут("КолТов", Формат(Стр.Количество, "ЧЦ=15; ЧДЦ=3; ЧРД=.; ЧГ=0")); ЗаписьXML.ЗаписатьАтрибут("СтТовУчНал", Формат(Стр.Сумма, "ЧЦ=15; ЧДЦ=2; ЧРД=.; ЧГ=0")); Если Стр.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС Тогда ЗаписьXML.ЗаписатьАтрибут("НалСт", "без НДС"); Иначе ЗаписьXML.ЗаписатьАтрибут("НалСт", Строка(Стр.СтавкаНДС)); КонецЕсли; ЗаписьXML.ЗаписатьАтрибут("СтТовБезНДС", Формат(Стр.Сумма - Стр.СуммаНДС, "ЧЦ=15; ЧДЦ=2; ЧРД=.; ЧГ=0")); ЗаписьXML.ЗаписатьАтрибут("ЦенаТов", Формат((Стр.Сумма - Стр.СуммаНДС) / Стр.Количество, "ЧЦ=15; ЧДЦ=2; ЧРД=.; ЧГ=0")); ЗаписьXML.ЗаписатьАтрибут("ОКЕИ_Тов", Стр.Номенклатура.ЕдиницаИзмерения.Код); ЗаписьXML.ЗаписатьАтрибут("НаимЕдИзм", Стр.Номенклатура.ЕдиницаИзмерения.Наименование); ЗаписьXML.ЗаписатьАтрибут("НаимТов", ?(ПустаяСтрока(Стр.Содержание), ?(ПустаяСтрока(Стр.Номенклатура.НаименованиеПолное), Стр.Номенклатура.Наименование, Стр.Номенклатура.НаименованиеПолное), Стр.Содержание)); ЗаписьXML.ЗаписатьАтрибут("НомСтр", Формат(Ном, "ЧЦ=15; ЧДЦ=0; ЧГ=0")); Если Не Стр.НомерГТД.Пустая() Тогда ЗаписьXML.ЗаписатьНачалоЭлемента("СвДТ"); ЗаписьXML.ЗаписатьАтрибут("НомерДТ", СокрЛП(Стр.НомерГТД.Код)); ЗаписьXML.ЗаписатьАтрибут("КодПроисх", Стр.СтранаПроисхождения.Код); ЗаписьXML.ЗаписатьКонецЭлемента(); КонецЕсли; ЗаписьXML.ЗаписатьНачалоЭлемента("ДопСведТов"); ЗаписьXML.ЗаписатьАтрибут("КодТов", Стр.Номенклатура.Код); ЗаписьXML.ЗаписатьАтрибут("ПрТовРаб", ?(Стр.Номенклатура.Услуга, "3", "1")); Если Не Стр.СтранаПроисхождения.Пустая() Тогда ЗаписьXML.ЗаписатьНачалоЭлемента("КрНаимСтрПр"); ЗаписьXML.ЗаписатьТекст(Стр.СтранаПроисхождения.Наименование); ЗаписьXML.ЗаписатьКонецЭлемента(); КонецЕсли; ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("Акциз"); ЗаписьXML.ЗаписатьНачалоЭлемента("БезАкциз"); ЗаписьXML.ЗаписатьТекст("без акциза"); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("СумНал"); Если Стр.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС Тогда ЗаписьXML.ЗаписатьНачалоЭлемента("БезНДС"); ЗаписьXML.ЗаписатьТекст("без НДС"); ЗаписьXML.ЗаписатьКонецЭлемента(); Иначе ЗаписьXML.ЗаписатьНачалоЭлемента("СумНал"); ЗаписьXML.ЗаписатьТекст(Формат(Стр.СуммаНДС, "ЧЦ=15; ЧДЦ=2; ЧРД=.; ЧН=0; ЧГ=0")); ЗаписьXML.ЗаписатьКонецЭлемента(); КонецЕсли; ЗаписьXML.ЗаписатьКонецЭлемента(); Если Не НеВыгружатьИД Тогда ЗаписьXML.ЗаписатьНачалоЭлемента("ИнфПолФХЖ2"); ЗаписьXML.ЗаписатьАтрибут("Значен", Строка(Стр.Номенклатура.УникальныйИдентификатор())); ЗаписьXML.ЗаписатьАтрибут("Идентиф", "ИД"); ЗаписьXML.ЗаписатьКонецЭлемента(); КонецЕсли; ЗаписьXML.ЗаписатьКонецЭлемента(); (108) вот так проходит контроль |
|||
115
Злопчинский
02.04.25
✎
09:39
|
(113) ага, удобно.
спсб. справился уже |
|||
116
Клетчатый
02.04.25
✎
11:14
|
Прошу помощи. С XDTO не работал, поэтому в модулях Диадок - плаваю. Вчера разобрался и получил Контент в Событии ПодготовитьЭлектронныйДокумент, сейчас не могу добавить "Дополнительные сведения" в контент.AdditionalInfoId.StructedAdditionalInfos
очень нужна помощь |
|||
117
lucky_
02.04.25
✎
11:16
|
(116) заплатить Контуру не предлагать?
|
|||
118
Andy13
02.04.25
✎
11:23
|
И не разбирайся. Есть простой путь. Посмотри в (69), там есть такая строчка:
СтруктураКонтента = ОсновнойМодуль.ОбъектXDTOВСтруктуру(НовыйКонтент(ТипКонтента_XDTO), Истина); Подставь вместо "НовыйКонтент(ТипКонтента_XDTO)" свой полученный контент. Получишь контент в виде структуры. Ну и там всё просто добавляется/изменяется/удаляется. Потом с помощью ОсновнойМодуль.ЗаполнитьКонтентXDTOПоСтруктуре(Результат.Content, СтруктураКонтента); преобразуешь обратно в XML. |
|||
119
Andy13
02.04.25
✎
11:25
|
(117) Это зло даже не предлагать! Я пытался.
|
|||
120
rozer76
02.04.25
✎
11:27
|
(116) например штрихкод, вот огрызок в ПодклМодуле (ПМ)
Протоконтент= ОсновнойМодуль.ТиповойМодуль_ПолучитьКонтент(ТиповойМодуль, РежимУправляемыхФорм, Документ1С, ТипКонтента_XDTO, ДополнительныеПараметры); Таблица = Протоконтент.InvoiceCorrectionTable.Items; Для каждого СтрокаТЧ Из Таблица Цикл ДополнитьМассивKeyValue(СтрокаТЧ.StructedAdditionalInfos , "штрихкод" , СвояФункцияПолучитьШКТовараПоПартнеру(СтрокаТЧ.СлужебнаяИнформация.Номенклатура, ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СсылкаНаДокумент.Контрагент,"Партнер"))); КонецЦикла; Процедура ДополнитьМассивKeyValue(Массив, Key, Value) НовыйЭлемент = Новый Структура; НовыйЭлемент.Вставить("Key", Key); НовыйЭлемент.Вставить("Value", Value); Массив.Добавить(НовыйЭлемент); КонецПроцедуры |
|||
121
Клетчатый
02.04.25
✎
11:26
|
Андрей, я не уверен что мне нужен XML, там задача подменить в созданном документе "кое что", с этим справился, а вот как добавить Дополнительные сведения - глухо.
|
|||
122
Andy13
02.04.25
✎
11:29
|
Дополнительные сведения сидят в контенте. Пустые. Надо их найти и заполнить.
|
|||
123
Клетчатый
02.04.25
✎
11:29
|
Вот как раз с помощью ДополнитьМассивKeyValue не могу добавить ДополнитьМассивKeyValue(Протоконтент.AdditionalInfoId.StructedAdditionalInfos, "Договор", ДопСведения);
|
|||
124
АгентБезопасной Нацио
02.04.25
✎
11:31
|
(116) ну вот и повод начать работать с XDTO.
Например, добавить функции Функция НовыйКонтент(ИмяКонтента,СоздатьВсеСвойства=Истина) Возврат ОсновнойМодуль.ДД_Компонента_ПолучитьПустойКонтент(ИмяКонтента,СоздатьВсеСвойства); КонецФункции Функция НовыйЭлементСпискаXDTO(СписокXDTO,СоздатьВсеСвойства=Истина) НовыйКонтент = НовыйКонтент(СписокXDTO.ВладеющееСвойство.Тип.Имя,СоздатьВсеСвойства); Возврат СписокXDTO.Добавить(НовыйКонтент); КонецФункции Функция НовыйЭлементСпискаXDTOСоЗначением(СписокXDTO,ЗначениеЭлемента) НовыйКонтент = НовыйКонтент(СписокXDTO.ВладеющееСвойство.Тип.Имя,Ложь); Возврат СписокXDTO.Добавить(ЗначениеЭлемента); КонецФункции Процедура ДобавитьВКонтент(ЭлементСписка,СтруктураДанных) НовыйЭлементСписка = НовыйЭлементСпискаXDTO(ЭлементСписка); ЗаполнитьЗначенияСвойств(НовыйЭлементСписка,СтруктураДанных); КонецПроцедуры И в ПодготовитьЭлектронныйДокумент что-то вроде //ДобавитьВКонтент(Элемент.StructedAdditionalInfos,Новый Структура("key,value","ЧЗ_ОСУ",РегВырЧЗОСУ)); |
|||
125
Клетчатый
02.04.25
✎
11:31
|
по причине:
Несоответствие типов XDTO: Тип '{http://diadoc.kontur.ru/dll_types}AdditionalInfoItem' не найден |
|||
126
АгентБезопасной Нацио
02.04.25
✎
11:33
|
(118) тоже вариант!©
|
|||
127
АгентБезопасной Нацио
02.04.25
✎
11:36
|
(125) научись для начала правильно задавать вопросы....
Типа "пытаюсь получить *, делаю**, получаю ***", и указывать в постах номер сообщения, на которое отвечаешь. а то, например, (125) относится хп к чему... |
|||
128
Клетчатый
02.04.25
✎
11:46
|
(125) относится к (123) в рамках ответа на (120).
(124) Спасибо большое - очень помогли. |
|||
129
АгентБезопасной Нацио
02.04.25
✎
12:00
|
(76) ага, спасибо, понял. Т.е., если я правильно понял, ЧЗ теперь сам опирается на признак товара переменного веса в НК, и берет для товара переменного значение из Количества...
|
|||
130
Djelf
гуру
02.04.25
✎
12:09
|
(23) Откат от Контура получателю это обычное дело.
Но не получается у них нормализовать откат через роуминг провайдеров. Поэтому такие требования. Можно "забить" на эти требования Контура, УПД все равно проходить будут. |
|||
131
Bigbro
02.04.25
✎
14:13
|
за 5 дней уже 3 версии Диадок выпустили.
продолжают исправлять контент по 970 |
|||
132
АгентБезопасной Нацио
02.04.25
✎
14:31
|
(131) хм. а что такого исправили? у меня вроде валидацию проходит, ЧЗ проходит, контра не жалуется (точнее, жаловалась, но это мои косяки были)
|
|||
133
Andy13
02.04.25
✎
14:55
|
(132) Ну например косяк был формировании СФ на аванс для УПП.
|
|||
134
АгентБезопасной Нацио
02.04.25
✎
15:01
|
(133) Понятно. У меня ограниченные задачи и КА/УТ, видимо, меня не зацепило...
|
|||
135
Bigbro
02.04.25
✎
15:16
|
(132) проверки на ноль, с заменами на единицы у количества, там был новый приказ с другим правилом теперь в некоторых случаях можно ставить ноль, когда раньше он на единицу заменялся.
по адресам много изменений с проверками и раскрутками по форматам классификаторов. ну и еще какие то детали возможно исправление старых ошибок. подозреваю что это не последнее, потому что сейчас начнутся корректировки 970 форматом старых документов оформленных в 820 формате и там сто процентов будут накладки. |
|||
136
АгентБезопасной Нацио
02.04.25
✎
15:40
|
(135) кстати, а УКД? я не нашел упоминаний об их изменении... Поэтому все отправляем по-старому, 736, с "регулярным выражением", и пока проходит...
|
|||
137
rozer76
02.04.25
✎
21:50
|
(136) УКД это позже..немного
|
|||
138
Мисти
02.04.25
✎
22:20
|
А мне показалось, что тему закрыли! А она вот!
Я всё еще в процессе. Вопрос такой - при запуске обработки Диадок - она, видимо, "компилируется" - т.е. преобразует макеты в обработки и куда-то их сохраняет, чтобы потом запускать. Так? У меня явно эти "скомпилированные" обработки где-то зависли, потому что я отменила всякую отладочную печать, а она продолжает печататься! Как заставить ее заново выгрузить из себя все обработки из макетов? |
|||
139
Мисти
02.04.25
✎
22:29
|
(124) очень нужен совет по xdto, куда можно написать?
|
|||
140
Ёпрст
гуру
02.04.25
✎
22:40
|
(138) выгрузить - галка режим отладки. Загрузить - ручонками в нужный макет
|
|||
141
Мисти
03.04.25
✎
01:09
|
(140) нет, моя проблема не в этом. При вызове программы продолжает работать то, что было в эти макеты вставлено вчера! Сегодня там уже другое! Но по отладочной печати я вижу, что работают старые модули.
|
|||
142
Bigbro
03.04.25
✎
05:24
|
(141) если галка режим отладки стоит то запускаются выгруженные на диск модули, даже если в обработку уже загрузили другие.
или отладку убирайте или выгружайте повторно. ну или вы не ту версию запускаете, бывает путаница когда обработок много |
|||
143
Ёпрст
гуру
03.04.25
✎
06:47
|
(141) переоткрой предприятие
|
|||
144
АгентБезопасной Нацио
03.04.25
✎
08:53
|
(139) дык сюда и пиши.
(138) ничо нигде не "компилируется". При работе либо создаются внешние обработки из макетов (если режим отладки не включен), либо используются уже выгруженные для отладки в /libs и /include каталога запуска обработки(если отладка включена). И нехрен там исправлять, вам однозначно хватит ПМа |
|||
145
Мисти
03.04.25
✎
18:50
|
Основание передачи (сдачи) / получения (приемки) - как у них это поле называется?
|
|||
146
АгентБезопасной Нацио
03.04.25
✎
19:01
|
(145) а что мешает поискать в ссылке из (6)? что?
Накрайняк, поискать в приказе фнс, и потом найти в (6) по имени тега https://developer.kontur.ru/Docs/Diadoc_UM/objects/970%40/TransferInfo970.html ? Ошибка в ДНК? |
|||
147
Мисти
03.04.25
✎
19:16
|
Спасибо! Знать бы где искать!
|
|||
148
Мисти
03.04.25
✎
19:17
|
обидно, что они там по ходу дела ДокументУчета теряют, как раньше было удобно! И их структура перед глазами и мой начальный документ, из которого удобно взять всё, что нужно.
|
|||
149
АгентБезопасной Нацио
03.04.25
✎
19:31
|
(148) ничего они не теряют. см (43). бери - не хочу. Хоть вообще всё.
|
|||
150
АгентБезопасной Нацио
03.04.25
✎
19:35
|
(147)
Программист сидит в баре и пьет пиво. Подходит к нему девица и, заигрывая, спрашивает: - Молодой человек, а сколько сейчас времени, хи-хи, не подскажете? Программист берет ее за руку, показывает на часы на ее руке и с ненавистью в голосе говорит: - ВОТ ЗДЕСЬ... ВСЕ.... НАПИСАНО!!! © В документации искать, где же еще. Я еще бы понимал, если б ссылки на доку не были в первом десятке ответов... |
|||
151
Мисти
03.04.25
✎
19:38
|
Где я и где первый десяток?? ))
|
|||
152
АгентБезопасной Нацио
03.04.25
✎
19:39
|
(151) в восьмом и девятом ответах...
|
|||
153
Мисти
03.04.25
✎
19:42
|
Ладно, согласна, пусть ПМ. "Сгенерировать Шаблон" - получила текст. Куда его??
|
|||
154
Мисти
03.04.25
✎
19:56
|
Не удалось подключить ПМ (путь к ПМ = Кос_ПМ_Диадок; расположение = Конфигурация) по причине:
Поле объекта не обнаружено (ОсновнойМодуль) |
|||
155
Bigbro
03.04.25
✎
20:07
|
"Цветы, дети, политика, театр, архитектура" - мне кажется лучше вам все же заняться этим.
|
|||
156
Мисти
03.04.25
✎
20:33
|
нет ни одной задачки, которую бы я не решила - мытьем или катаньем.
с ПМ не идет дело. Буду править в модулях! Подскажите, в каком модуле есть еще ссылка на первичный документ? |
|||
157
Bigbro
03.04.25
✎
21:14
|
Берешь интеграционный модуль для 1с Молокозавод Казахстан и там смотришь блок формирование контента 970.
соответственно везде где идут вызовы этого модуля и возвращается content это оно и есть. |
|||
158
Alexor
03.04.25
✎
22:51
|
(153) Создай пустую обработку. Или внешний файл или расширение. Этот тест скопировать в модуль обработки.
Если внешняя то подключить ее. В Обработке Диадок указать либо в составе конфигурации либо выбрать из справочника. Контент менять в Функции ПодготовитьЭлектронныйДокумент() Там шаблонами накидывает разные варианты. Единственное, что у меня не сработало. В шаблоне прописан Возврат Истина. Я не особо разбирался, что возвращать должно, но не булево. Просто сделал Что бы в Функции не было Возврат, тогда отрабатывает без ошибок. Можно и свою таб часть пересобрать. И доп.поля прописать. Титул, только не совсем понял, где формирует. Но изменить можно в этой функции. Примеры там есть. Вызывается из Функция ОбработатьСобытие() |
|||
159
АгентБезопасной Нацио
04.04.25
✎
09:15
|
(153) Ну ведь всё есть в документации, прямо по пунктам, а для особо тупых - даже с картинками. https://developer.kontur.ru/docs/Diadoc_UM/index.html
ссылка на документацию либо в первом десятке ссылок гугла, либо прямо при генерации шаблона ПМ. (156) решать надо не "мытьем или катаньем", а головой. Даже по именам выгруженых для отладки модулей можно понять. (155) политику, театр и архитектуру - вычеркивай. |
|||
160
cep207
04.04.25
✎
13:12
|
(0) как остановите регламентные задания. 1с документооборот для целей миграций?
|
|||
161
Bigbro
04.04.25
✎
13:42
|
(160) на сервере 1с, если доступ есть.
|
|||
162
a1ex4ndr
04.04.25
✎
16:47
|
(43) ХЗ у меня при 970 формате в Параметры.Результат.Content неопределено в ПодготовитьЭлектронныйДокумент.
И в ПодготовитьПакет при 820 формате правил контент в Параметры.Пакет.Документы/{ТекущийДокумент}/СлужебнаяИнформация.Контент, а при 970 формате Контента в СлужебнойИнформации нет... |
|||
163
v36i82bp
04.04.25
✎
16:52
|
(123) (156) Оставлю тут в качестве примера ПМ:
Перем ОсновнойМодуль Экспорт; //ВызовыПМ.epf Функция ОбработатьСобытие(ИмяСобытия, Параметры) Экспорт Если ИмяСобытия = "ПодготовитьЭлектронныйДокумент" Тогда Возврат ПодготовитьЭлектронныйДокумент(Параметры); КонецЕсли; КонецФункции Функция ПодготовитьЭлектронныйДокумент(Параметры) Если ТипЗнч(Параметры) = Тип("Структура") И Параметры.Свойство("Результат_ИМ") Тогда //Обработка готового результата Документ1С = Параметры.Результат.Документ1С; //Ссылка мКонтент = Параметры.Результат.Content; //ОбъектXDTO мДобавитьКодНоменклатурыВНаименование = Ложь; мДобавитьКодНоменклатурыВДопИнфПоле = Ложь; мЗаменитьОснованиеНаДоговор = Ложь; //Взаиморасчеты ведутся по Заказам мУказатьЗаказВДопИнфПоле = Ложь; //Обрабатываем условия при которых необходимо изменить данные Если ЗначениеЗаполнено(Документ1С.Контрагент) Тогда мДобавитьКодНоменклатурыВНаименование = Истина; мДобавитьКодНоменклатурыВДопИнфПоле = Истина; мЗаменитьОснованиеНаДоговор = Истина; мУказатьЗаказВДопИнфПоле = Истина; КонецЕсли; Если Параметры.ВидДокументаРазвернутый.ID = "ID_СчетФактура" Тогда //ID_ДОКУМЕНТА //Условие создано при генерации шаблона КонецЕсли; Если Параметры.ВидДокументаРазвернутый.ID = "ID_УПД" Тогда //ID_ДОКУМЕНТА //Условие создано при генерации шаблона КонецЕсли; Если Параметры.ВидДокументаРазвернутый.ID = "ID_АктФормализованный" Тогда //ID_ДОКУМЕНТА //Условие создано при генерации шаблона КонецЕсли; Если Параметры.ВидДокументаРазвернутый.ID = "ID_ТОРГ12" Тогда //ID_ДОКУМЕНТА //Условие создано при генерации шаблона Если мДобавитьКодНоменклатурыВНаименование Или мДобавитьКодНоменклатурыВДопИнфПоле Тогда СтрокиТаблицы = мКонтент.Table.Items; Для Каждого ЭлементXDTO Из СтрокиТаблицы Цикл Номенклатура = ЗначениеИзСтрокиВнутр(ЭлементXDTO.СлужебнаяИнформация.Номенклатура); //Получаем ссылку из строки КодНоменклатуры = Номенклатура.Код; Если ЗначениеЗаполнено(КодНоменклатуры) Тогда Если мДобавитьКодНоменклатурыВДопИнфПоле Тогда // Выводим информацию в раздел "Доп. сведения" табличной части ОсновнойМодуль.ДобавитьИнформационноеПоле(ЭлементXDTO, "Код", СокрЛП(КодНоменклатуры)); КонецЕсли; Если мДобавитьКодНоменклатурыВНаименование Тогда // Выводим информацию в раздел "Наименование товара" табличной части ЭлементXDTO.Product = ЭлементXDTO.Product + ", " + СокрЛП(КодНоменклатуры) КонецЕсли; КонецЕсли; КонецЦикла; КонецЕсли; // Добавить Код Если мЗаменитьОснованиеНаДоговор И ЗначениеЗаполнено(Документ1С.ДоговорКонтрагента) Тогда Если Параметры.ВидДокументаРазвернутый.ТипКонтента = "Utd820SellerContent" Тогда //ММВ-7-15/820@ Если мКонтент.TransferInfo.TransferBases.Количество() = 0 Тогда //СписокXDTO // Добавляем элемент в СписокXDTO мОснование = ОсновнойМодуль.НовыйЭлементСпискаXDTO(мКонтент.TransferInfo.TransferBases); ОсновнойМодуль.УстановитьЗначениеXDTO(мОснование, "DocumentName", "Договор"); ОсновнойМодуль.УстановитьЗначениеXDTO(мОснование, "DocumentNumber", Документ1С.ДоговорКонтрагента.Номер); ОсновнойМодуль.УстановитьЗначениеXDTO(мОснование, "DocumentDate", Документ1С.ДоговорКонтрагента.Дата); Иначе мОснование = мКонтент.TransferInfo.TransferBases[0]; Если мУказатьЗаказВДопИнфПоле И мОснование.DocumentName = "Заказ покупателя" И ЗначениеЗаполнено(мОснование.DocumentNumber) И ЗначениеЗаполнено(мОснование.DocumentDate) Тогда // Выводим информацию в раздел "Доп. сведения" шапки документа ОсновнойМодуль.ДобавитьИнформационноеПоле(мКонтент.AdditionalInfoId, мОснование.DocumentName, "№ " + мОснование.DocumentNumber + " от " + Формат(мОснование.DocumentDate, "ДФ=dd.MM.yyyy")); КонецЕсли; мОснование.DocumentName = "Договор"; мОснование.DocumentNumber = Документ1С.ДоговорКонтрагента.Номер; мОснование.DocumentDate = Документ1С.ДоговорКонтрагента.Дата; КонецЕсли; КонецЕсли; // 820 Если Параметры.ВидДокументаРазвернутый.ТипКонтента = "Utd970SellerContent" Тогда //ЕД-7-26/970@ Если мКонтент.TransferInfo.TransferBases.Количество() = 0 Тогда //СписокXDTO // Добавляем элемент в СписокXDTO мОснование = ОсновнойМодуль.НовыйЭлементСпискаXDTO(мКонтент.TransferInfo.TransferBases); ОсновнойМодуль.УстановитьЗначениеXDTO(мОснование, "Name", "Договор"); ОсновнойМодуль.УстановитьЗначениеXDTO(мОснование, "Number", Документ1С.ДоговорКонтрагента.Номер); ОсновнойМодуль.УстановитьЗначениеXDTO(мОснование, "Date", Документ1С.ДоговорКонтрагента.Дата); Иначе мОснование = мКонтент.TransferInfo.TransferBases[0]; Если мУказатьЗаказВДопИнфПоле И мОснование.Name = "Заказ покупателя" И ЗначениеЗаполнено(мОснование.Number) И ЗначениеЗаполнено(мОснование.Date) Тогда // Выводим информацию в раздел "Доп. сведения" шапки документа ОсновнойМодуль.ДобавитьИнформационноеПоле(мКонтент.AdditionalInfoId, мОснование.Name, "№ " + мОснование.Number + " от " + Формат(мОснование.Date, "ДФ=dd.MM.yyyy")); КонецЕсли; мОснование.Name = "Договор"; мОснование.Number = Документ1С.ДоговорКонтрагента.Номер; мОснование.Date = Документ1С.ДоговорКонтрагента.Дата; КонецЕсли; КонецЕсли; // 970 КонецЕсли; // Заменить Основание на Договор КонецЕсли; // "ID_ТОРГ12" КонецЕсли; //Обработка готового результата Возврат Истина; КонецФункции /////////////////////////////////////////////////// Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = Новый Структура; ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка"); ПараметрыРегистрации.Вставить("Наименование", "Диадок (СКБ Контур): Подключаемый модуль"); ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь); ПараметрыРегистрации.Вставить("Версия", ЭДО_ВерсияAPIПодключаемогоМодуля()); ПараметрыРегистрации.Вставить("Информация", "Модуль работы с электронными первичными документами через Диадок (подключаемая часть)"); ТаблицаКоманд = ПолучитьТаблицуКоманд(); ДобавитьКоманду(ТаблицаКоманд, "Выполнение регламентных операций подключаемого модуля Диадок", "ВыполнитьРегламентныеДействияПМ", "ВызовСерверногоМетода"); ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); Возврат ПараметрыРегистрации; КонецФункции Функция ПолучитьТаблицуКоманд() Команды = Новый ТаблицаЗначений; Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")); Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")); Возврат Команды; КонецФункции Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "") НоваяКоманда = ТаблицаКоманд.Добавить(); НоваяКоманда.Представление = Представление; НоваяКоманда.Идентификатор = Идентификатор; НоваяКоманда.Использование = Использование; НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение; НоваяКоманда.Модификатор = Модификатор; КонецПроцедуры Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполненияКоманды = Неопределено) Экспорт Если ИдентификаторКоманды = "ВыполнитьРегламентныеДействияПМ" Тогда ВыполнитьРегламентныеДействияПМ(ПараметрыВыполненияКоманды); КонецЕсли; КонецПроцедуры Процедура ВыполнитьРегламентныеДействияПМ(Параметры) // Регламентные действия, НЕ требующие инициализации основного модуля КонецПроцедуры Функция ЭДО_ВерсияAPIПодключаемогоМодуля() Экспорт Возврат 4; КонецФункции |
|||
164
alexandr1
04.04.25
✎
16:53
|
(154) Нужно поставить экспорт на переменную, еще можно на ядро добавить. Не знаю почему изначально так не делают.
На ут10.3 еще не работает если в ядре при подключении ПМ не указать ссылку на ядро(на само себя). Чудеса одни |
|||
165
alexandr1
04.04.25
✎
16:58
|
Обновил обработку, а все равно маркировку по осу ставит все в номупак, а не в ГТИН и КолВедМарк.
|
|||
166
Злопчинский
04.04.25
✎
17:01
|
Что-то как-то очень долго все в 8-ке проблемы решаются...
Понятно, что уровень/интеграция и прочее (но это ж не в77 интеграции писать, в 77 у двух клиентов тупую выгрузку подокументно и/или групповую запилил уже работают два дня как), но все равно какая-то виллариба с 8-кой получается, что так долго-то...? . - В Вилларибо снова беда, горят стога конопли... - А в Виллабаджо снова праздник, ветер дует в их сторону! |
|||
167
АгентБезопасной Нацио
04.04.25
✎
17:59
|
(162) так а формат отправки-то переключил?
|
|||
168
АгентБезопасной Нацио
04.04.25
✎
18:03
|
(166) Ну, во-первых, в типовых сам вендор, судя по всему, накосячил. В контуре - простейшие случаи, типа моего (обычная торговля, большинство товаров с ОСУ, меньше немаркеров и поэкземплярного), сетей с их дополнительными ФХЖ мало - допилено по сути за день, да и то часть косяков по моей криворукости, и часть по невнимательности
|
|||
169
Злопчинский
04.04.25
✎
18:48
|
(168) я рад за тебя. ;-)
|
|||
170
Bigbro
04.04.25
✎
18:55
|
4.50.2 придется ставить
много ошибок исправлено. ( |
|||
171
Мисти
05.04.25
✎
19:55
|
Как работать с отладчиком Контура? Он мне всё выгрузил, я вижу нужные мне куски, вставила туда свое, просто сохранила, не возвращала обратно в макеты... Запустила заново Диадок - вижу, что он моих вставок не видит!
|
|||
172
Мисти
05.04.25
✎
20:06
|
(170) а мне прислали 4.50.18
|
|||
173
Bigbro
05.04.25
✎
20:37
|
||||
174
АгентБезопасной Нацио
06.04.25
✎
10:33
|
||||
175
Клетчатый
07.04.25
✎
08:37
|
Кто нибудь программно подменял Unit на значение Неопределено в контенте Table.Items? Проблема в том что одну и туже номенклатуру используют разные контрагенты, но одним нужно количество и цена, а другим нужны прочерки.
Простое присвоение не работает. |
|||
176
АгентБезопасной Нацио
07.04.25
✎
09:36
|
(175) для вашей функции документа - он является обязательным?
|
|||
177
Клетчатый
07.04.25
✎
10:16
|
Нет. Заменил на стороне 1С единицу измерения на пустое значение - всё работает, а вот как если "здесь читать, здесь не читать" на будущее, если значения Unit <> Неопределено, а нужно очистить?
|
|||
178
Клетчатый
07.04.25
✎
11:21
|
(175) Получается, что в случае отсутствия единицы измерения
ОКЕИ_Тов (UNIT) и НаимЕдИзм (UnitName) - не выгружаются в СведТов (Items) и в контенте значения Неопределено. А вот если они сначала выгрузились и уже есть в Items, получается весь контент нужно Items очистить и заново заполнить? |
|||
179
Клетчатый
07.04.25
✎
11:22
|
(178) для (176)
|
|||
180
АгентБезопасной Нацио
07.04.25
✎
14:39
|
(178) Ну попробуй их пустыми строками заполнить...
|
|||
181
Клетчатый
07.04.25
✎
14:59
|
(180), пробовал "", Неопределено, Null.
Сейчас в 1С, очистил Единицу, для всех услуг. Если будут требовать, буду костылить с добавлением как в (124). |
|||
182
Клетчатый
07.04.25
✎
15:05
|
(181) Очистил для услуг у которых Единица была "-".
|
|||
183
АгентБезопасной Нацио
07.04.25
✎
16:15
|
(182) В Приказе об этом и написано:
Таким образом, если работы или услуги можно измерить количественно — в документе указывают единицы измерения (ОКЕИ_Тов). А также заполняют количество и цену. Если работы или услуги измерить количественно нельзя — ОКЕИ_Тов не заполняют. Значения КолТов и ЦенаТов в таком случае заполняют на усмотрение составителя документа, но при этом если вы указываете количество, цену нужно прописать обязательно. Т.е. правильно - у услуг не заполнять, если не указано иное |
|||
184
Клетчатый
07.04.25
✎
16:58
|
(183) Спасибо, просто на одну номенклатуру вешают кучу Контрагентов со своими, требованиями. Буду действовать от противного, если нужно добавлю, а так "прочерк".
|
|||
185
АгентБезопасной Нацио
07.04.25
✎
17:06
|
(184) Ну вот для "отдельных требований" и заполняй, по их спецификациям. А для всех нормальных - по правилам
|
|||
186
Клетчатый
10.04.25
✎
16:26
|
(185) Продолжаю копать ПМ, возникла странная ситуация.
Доработал в ПМ ID_СчетФактура,ID_ИСФ. Всё нормально. Добрался до ID_КСФ. В отладчике в событии "ПодготовитьЭлектронныйДокумент" не получаю Результат_ИМ, дальше вылетает с ошибкой Не удалось подготовить пакет (ВидПакета=ID_КСФ, ДокументУчета=Счет-фактура выданный 1111 от 31.03.2025 0:00:00) по причине: Ошибка инициализации подключаемого модуля: Выбранный файл не является подключаемым модулем. КонтурЭДО последний. Видно не хочет заполнять контент по Корректировочным СФ |
|||
187
Клетчатый
10.04.25
✎
16:29
|
(185) при отключении ПМ в настройках, всё равно ругается на ошибку инициализации ПМ
|
|||
188
Ёпрст
гуру
10.04.25
✎
17:49
|
(187) в рег сведении свойства объектов прибей это
|
|||
189
Клетчатый
11.04.25
✎
11:04
|
(188) нет такого регистра, уже и ПМ переименовал переподключил. А всё равно где то скрывается
ВнешняяОбработкаОбъект.ДиадокПодключаемыйМодульСтандарт Имя модуля ПодключаемыйМодуль. Если это старый, то где он хранится? |
|||
190
Клетчатый
11.04.25
✎
11:08
|
(189) Эту фигню похоже создаёт КонтурДиадокСтандартУФ, теперь буду думать как победить.
|
|||
191
Ёпрст
гуру
11.04.25
✎
11:28
|
(189) в обычных формах диадок весь свой мусор хранит в рс.значениясвойствобъекта, где оно в уф - надо смотреть, мне лень. Там прибить и привет
|
|||
192
Клетчатый
11.04.25
✎
11:32
|
(191) БП 3 - собственно УФ. есть большое подозрение, что с переходом к 970, на 736 слегка забили. Сейчас ковыряю макет КонтурДиадокСтандартУФ.
|
|||
193
АгентБезопасной Нацио
11.04.25
✎
12:03
|
(192) запускаешь диадок в режиме отладки, и смотришь, какой он модуль пытается подключить и инициализировать. чуть выше по стеку смотришь, откуда он подключает. Еще выше - откуда он берет путь для подключения. там и чистишь.
|
|||
194
Клетчатый
11.04.25
✎
13:04
|
(193) КонтурДиадокСтандартУФ пытается инициализировать ПМ предварительно присвоив ему имя ДиадокПодключаемыйМодульСтандарт причём в случае КСФ по алгоритму Стандарт 736, а модуль можно подключить только 1, возможно буду подменять ПМ на старый вариант 820.
|
|||
195
Клетчатый
11.04.25
✎
15:05
|
(192) Тех поддержка подсказала где почистить мусор, для БП 3 это РС Дополнительные сведения. Там в свойстве DDPro_ИмяИнтеграционногоМодуля завис старый интеграционный модуль ПМ_БП_30, почистил - дальше дело пошло.
|
|||
196
rozer76
14.04.25
✎
21:03
|
(173) это нормально, "контуровцы" могут прислать по запросу версию для тестов, сейчас это 4.50.29 хотя официальная 4.50.2.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |