Як вирішити Попередження: Елемент entityFramework має неприпустимий дочірній елемент provider Список можливих очікуваних елементів: «контексти

Я граю з різними робочими процесами EF. Вчора я зробив новий проект, і Entity Framework 6 був першою пропозицією від Nuget , тому я вирішив спробувати його, також це дуже маленький проект, повністю і повністю призначений для навчання, тому я думаю, що буде хорошим досвідом спробувати EF 6 , тому що я працював в основному з % co_de%.

Моя програма заснована на підході Ef 5 . Структура рішення показана на екрані друку:

Проект Code First призначено для зберігання моїх Entites. Для простоти і тому, що я дотримуюсь навчального посібника, я використовую тільки один клас, як ви можете бачити - CodeFirstClasses . Там у мене є:

Public class RewardContext: DbContext ( //Specify the name of the base as Rewards public RewardContext() : base("Rewards") ( ) //Create a database set for each data item public DbSet Purchases (get; set;) public DbSet Customers (get; set;))

І інші класи - Customer.cs і Purchase, які тривіальні, тому я не буду їх тут вставляти.

Інший проект, як ви можете бачити, це проект Customer з однією формою та кнопкою. У події Windows Forms кнопки у мене є вся логіка для додавання нових записів у мої дві жорстко закодовані сутності. Ось тільки частина цього:

//some code... //Add the record and save it context.Customers.Add(newCustomer); context.Purchases.Add(newPurchase); context.SaveChanges(); MessageBox.Show("Record Added!");

Поки що нічим не відрізняється від того, до чого я звик із click . Я можу побудувати проект, я можу запустити його, і все виконується як належить. Однак я отримую це попередження із заголовка:

EF 5 І хоча я в основному використовую Warning 1 The element "entityFramework" має invalid child element "providers". List of possible elements expected: "contexts". , я помітив, що не можу керувати своїми з'єднаннями / базами даних з IDE - MS SQL Server Management Studio , але це не проблема Visual Studio 2012 .

Мої дослідження звузили можливе джерело проблеми / рішення до ручної зміни файлу EF 5 , але це область, в якій у мене не так багато досвіду, особливо коли IDE подбав про це до App.config . Тому я опублікую обидва мої файли EF 6 для цього рішення:

Один із проекту App.config:

І з мого проекту CodeFirstClasses:

І ще одне можливе рішення, яке я знайшов: TestCodeFirst, про яке я також не знаю, як це зробити.

Навіть коли я відкриваю updating the xsd for "validating" EF config section in web/app.config file to recognize newly added EF6 elements , я бачу базу даних, створену для цієї програми, записи зберігаються і, як правило, це працює, але все я хотів би усунути це попередження і дізнатися, як налаштувати мої програми на основі MS SQL Server Management Studio right.

Оновлена ​​схема тут виправила це для мене.

Переконайтеся, що ви змінили скрипт для VS2010:

@Gene: Це пов'язано з тим, що кеш схеми XML знаходиться в іншому місці VS2010. Ви можете відкрити UpdateSchemaCache.js і замінити цей рядок:

var vs9CommonTools = shell.ExpandEnvironmentStrings ("% VS90COMNTOOLS%");

з цим рядком:

var vs9CommonTools = shell.ExpandEnvironmentStrings ("% VS100COMNTOOLS%");

Після цього спробуйте запустити скрипт і подивіться, чи це допоможе.

У мене є ряд правил перезапису для багатьох речей, які я робив в IIS7, наприклад, видалення завершальних косих характеристик, URL-адрес, малих літер і т. д. IIS змінив мій web.config, і все працює відмінно на веб-сайті, як і має. Але в Visual Studio web.config відкриває оператор підкреслюється синім кольором, а внизу VS вказує, що елемент "system.webServer" має неприпустимий дочірній елемент "rewrite". Але як це зробив IIS ... Я не робив цього вручну. Чи я повинен турбуватися про цю помилку VS, або я повинен просто залишити її, оскільки вона працює, як вона повинна працювати?

Ось приклад мого web.config:

<-------------------- this is underlined in squiggly blue

Існує близько 5 або 6 інших правил, а потім закриттяв кінці.

Одним із методів управління та контролю органами державної влади виготовлення, руху та реалізації алкогольної продукції є здавання підприємцями алкогольних декларацій. Федеральна служба з регулювання алкогольного ринку (ФСРАР) вимагає своєчасну передачу актуальної та коректної інформації про рух алкоголю, і щоб підготовка та здавання декларацій не забирала багато нервів і сил, необхідно заздалегідь опрацювати стратегію обліку продукції.

Якщо ви використовуєте для підготовки алкогольних декларацій програму «Декларант-Алко», і ваш постачальник надсилає вам файли для імпорту даних в 11 та 12 форми декларації, а також довідник контрагентів, то подальша інструкція допоможе уникнути помилок під час їх завантаження у ваші бази даних та скоротити час підготовки декларацій.

Під час підготовки до перевірки декларацій переконайтеся, що Ви використовуєте актуальну версію програми. Версію встановленого «Декларант-Алко» можна побачити під час запуску програми у лівому верхньому куті вікна:

Мал. 1

Рекомендується перевіряти наявність нових версій програми якнайчастіше, щоб уникнути складнощів у формуванні декларацій. Номер актуального релізу, файл для оновлення та інструкцію ви зможете знайти за посиланням .

Після того, як ви переконалися, що подальшу роботу буде проведено в програмі актуальної версії, важливо переконатися в коректності надісланих файлів. Для цього перейдіть за посиланням у меню Декларації > Перевірка формату XML:


Мал. 2

Після цього з'явиться вікно, де ви зможете завантажити файл, необхідний для перевірки. Програма перевірить коректність заповнення документа та за наявності помилок, вкаже на проблемні рядки.

Щоб розпочати перевірку, у полі «Виберіть файл» вкажіть шлях до файлу, отриманого вами від постачальника. Автоматично буде підібрано список лише xml-файлів, що робить використання програми зручнішим.


Мал. 3

Якщо ви вибрали файл з інформацією про відвантаження протягом звітного кварталу, то в полі Тип декларації необхідно вибрати «Імпорт декларації 11»для файлу з алкогольною продукцією або «Імпорт декларації 12»для файлу з даними відвантаження пива.

Для перевірки файлу з інформацією про контрагентів у полі Тип декларації необхідно вибрати "Імпорт контрагентів":


Мал. 4

Зверніть увагу на обов'язковість правильного вибору типу декларації. Навіть якщо файл, що перевіряється, сам по собі сформований правильно і не містить помилок, то у разі невірно зазначеного типу система видасть попередження виду:

«У рядку №2 Атрибут "ВерсФорм" недійсний: значення "4.32" недійсне з погляду його типу даних "String" - Збій обмеження Enumeration.
У рядку №3 Елемент "Файл" має неприпустимий дочірній елемент "Документ". Список очікуваних елементів: "ФормаОтч".»

Часто при перевірці імпорту 11 форми декларації користувачі вказують у типі «Декларація про обсяги роздрібного продажу алкогольної та спиртовмісної продукції», що неправильно, тому в надісланому постачальником документі міститься лише частина декларації, і в «Декларант-Алко» для перевірки такого виду файлів має вказуватися "Імпорт декларацій 11".

Тому, якщо ви бачите вищезазначені попередження, перевірте ще раз вибраний для перевірки тип декларації, а також номер формату, актуальний на момент перевірки декларації.

Однак номер формату для подання декларації може не співпадати з форматом надісланих файлів. Найчастіше це не критично, і файли, які проходять перевірку хоча б одного формату (наприклад, 4.31) дозволяють коректно завантажувати дані в декларацію.

Якщо всі формати під час перевірки викликають помилки, отже необхідно або виправити файли самостійно вручну, або звернутися до постачальника.

Які помилки виникають найчастіше під час імпорту файлів від постачальника?

Самостійне виправлення помилок відбувається безпосередньо у XML-файлі, надісланому постачальником, тому для зручної роботи з ним рекомендується завантажити редактор Notepad++.

Можна також відкривати документи в блокноті, але в ньому відсутня нумерація рядків, і чим більше файл, тим складніше буде знайти неправильний елемент коду.

При перевірці файлів для імпорту в 11 та 12 форм декларацій, а також файлу зі списком постачальників може виникнути подібна помилка:

У рядку №5 Атрибут "INN" недійсний: значення "8822020117" недійсне з точки зору його типу даних "ІННЮЛТип" - Збій обмеження Pattern.
Або
У рядку №5 Атрибут "KPP" недійсний: значення "50190200" недійсне з точки зору його типу даних "КППТип" - Збій обмеження Pattern.

У разі необхідно перевірити коректність заповнення реквізитів контрагентів. Потрібно звернути увагу на наявність зайвих прогалин або інших символів, а також переконатися, що довжина заповненого поля ІПН становить 10 знаків, а КПП — 9 знаків.

На скріншоті подано файл декларації, відкритий у редакторі Notepad++. Як і зазначено в тексті повідомлення, помилка локалізується у рядку 5:


Мал. 5

В даному прикладі видно, що в полі ІПН присутня зайва прогалина, яка додає зайвий символ і робить запис некоректним, а в полі КПП навпаки не вистачає ще одного знака.

Крім того, досить часто виникає така помилка:

У рядку №4 Атрибут "П000000000003" недійсний: значення "500" недійсне з погляду його типу даних "String" - Збій обмеження Enumeration.

Подібне повідомлення показує, що у файлі є оборот, який не відповідає типу декларації.

У цій ситуації це попередження відноситься до коду продукції 500 («Пиво з вмістом об'ємної частки етилового спирту понад 0,5% і до 8,6% включно»). Якщо помилка з'явилася при перевірці 11 форми декларації, в яку з якоїсь причини потрапили пивні напої (пивні напої, сидр, медовуха та пуаре відображаються у 12 формі декларації - наказ від 06 травня 2014 р. № 129), то необхідно звернутися до постачальника, або виправити помилку самостійно, якщо у вас є достатньо інформації для цього.

Також під час перевірки може виникнути така помилка:

У рядку № Елемент "СведПроізВимпорт" має неприпустимий дочірній елемент "СведПроізВимпорт". Список очікуваних елементів: "Постачальник, Рух"
або
У рядку № Елемент "Оборот" має неприпустимий дочірній елемент "Оборот". Список очікуваних елементів: "СведПроізВимпорт".

Подібне може виникнути в тому випадку, якщо версія Декларант-Алко, що використовується, застаріла. Необхідно завантажити актуальний реліз та продовжити перевірку вже у ньому.

При завантаженні файлу зі списком постачальників програма може видати попередження:

У рядку №2 Елемент "Довідники" не оголошено.

Така помилка – сигнал того, що вказано неправильний тип декларації. В даному випадку потрібно вибирати тип "Імпорт контрагентів", після чого помилка зникне.

При виникненні наступної помилки:

У рядку №8 Елемент "КодРегіон" недійсний: значення "" недійсне з погляду його типу даних "CCРФТіп" - Збій обмеження Pattern.

Необхідно переконатися, що адреса постачальника коректно заповнена.

Таким чином ви зможете самостійно виявити і в більшості випадків усунути помилки та своєчасно здати декларацію до контролюючих органів, позбавивши себе головного болю на весь наступний квартал.

Підготовка звітності у програмі Декларант-Алко Під час реєстрації на порталі РАР з'являється повідомлення «Організація відсутня у списку ліцензій» або «Організація вже зареєстрована» Як завантажити декларацію на регіональний та федеральний портали? Як сформувати звіти за кілька організацій у Декларант-Алко? При запуску Декларант Алко виникає помилка «Версія бази даних не відповідає версії програми Декларант Алко. Оновіть програму!» Під час роботи в Декларант-Алко з'являється повідомлення «Заповніть довідкові дані!» Коди видів продукції в 11 та 12 формах Допомога у здачі декларацій Заявка на отримання ЕЦП Про систему Контур-Екстерн

Помилки під час перевірки звіту в Декларант-Алко

Для формування та надсилання звітності в РАР рекомендується використовувати безкоштовний сервіс Алкодекларація. Контур, Розроблений компанією СКБ Контур. Сформований у Декларант-Алко звіт можна завантажити в Алкодекларація. Контур, переглянути в ньому помилки, що виникли, і виправити їх.

Декларант-Алко перевіряє файл на відповідність формату і вказує, у яких рядках містяться помилки. На регіональному та федеральному порталах проводяться аналогічні перевірки, тому для успішного складання звіту необхідно усунути помилки, виявлені в Декларант-Алко.

Контролі в різних версіях Декларант-Алко можуть відрізнятися, тому необхідно переконатися, що використовується остання версія програми.

Нижче наведені найпоширеніші помилки та способи їх усунення.


1. "У рядку №.. Вміст елемента Ліцензії є неповним. Список очікуваних елементів: Ліцензія".

Для усунення помилки необхідно:

У програмі Декларант-Алко відкрити розділ Робота з деклараціями Змінити.

Мал. 1. Розділ «Робота з деклараціями»

У вікні, що з'явилося, поставити галку навпроти ліцензії, виданої організації (див. рис. 2).

Мал. 2. Відмітка про наявність ліцензії


2. "У рядку №.. Атрибут "П000000000003" недійсний: значення "010" недійсне з погляду його типу даних "String" - Збій обмеження Enumeration".

Ця помилка свідчить, що у декларації є оборот із кодом продукції (у разі 010), який відповідає типу декларації (див. "Коди видів продукції в 11 та 12 формах"). Необхідно виправити код, для цього відкрити розділ Робота з деклараціями, виділити потрібний звіт, натиснути кнопку Змінити дані.

Наприклад, у декларації був зазначений код продукції 010 (спирт-сирець), який може міститися лише у звіті організації, яка здійснює оптовий продаж алкогольної продукції. Або у формі 11 були вибрані коди, що відповідають пивній продукції, які мають зазначатися у формі 12.


3. У рядку №... Елемент "СведПроізВимпорт" має неприпустимий дочірній елемент "СведПроізВимпорт". Список очікуваних елементів: "Постачальник, Рух"

У рядку №... Елемент "Оборот" має неприпустимий дочірній елемент "Оборот". Список очікуваних елементів: "СведПроізВимпорт".


4. "У рядку №... Атрибут "П000000000006" недійсний: значення "ХХХХХХ" недійсне з погляду його типу даних "КППТип" Збій обмеження Pattern"

У рядку №... Атрибут "П000000000005" недійсний: значення "ХХХХХХ" недійсне з погляду його типу даних "ІННТіп" Збій обмеження Pattern"

"У рядку №... Атрибут "П000000000005" недійсний: значення "ХХХХХХ" недійсне з точки зору його типу даних "String" ¦ Фактична довжина менша за значення MinLength".

Формулювання помилки не містить інформації про те, у якого контрагента некоректно заповнені реквізити. Якщо виробників/постачальників дуже багато, знайти контрагента, в даних якого допущена помилка, можна, відкривши файл звіту через блокнот. Даний спосіб описаний у .

Для усунення подібних помилок потрібно перевірити правильність заповнення реквізитів виробників. Для цього перейти до розділу Контрагентиі переконатися, що в організацій-контрагентів зазначені коректні ІПН і КПП (див. рис. 3).

Мал. 3. Розділ «Контрагенти»

Також потрібно натиснути кнопку Змінитиі перевірити, чи правильно вказано тип організації. Якщо вибрано тип Юр. Обличчя, то обов'язково мають бути заповнені і ІПН (10 знаків), і КПП (9 знаків), якщо позначка стоїть біля пункту Фіз. Обличчя, то повинен бути заповнений тільки ІПН (12 знаків).

Мал. 4. Зміна реквізитів контрагента


5.
"У рядку №.. Атрибут "П000000000012" недійсний: значення "" недійсне з погляду його типу даних "ДатаТип" - Збій обмеження Pattern"

"У рядку №.. Атрибут "П000000000013" недійсний: значення "" недійсне з погляду його типу даних "ДатаТип" - Збій обмеження Pattern"

"У рядку №... Атрибут "П000000000014" недійсний: значення "" недійсне з погляду його типу даних "String" - Фактична довжина менше значення MinLength".

Формулювання помилки не містить інформації про те, у якого контрагента некоректно заповнені.реквізити. Якщо виробників/постачальників дуже багато, знайти контрагента, в даних якого допущена помилка, можна, відкривши файл звіту через блокнот. Даний спосіб описаний у прикладі нижче.

Щоб усунути подібні помилки, необхідно перевірити правильність заповнення реквізитів постачальників. Для цього перейти до розділу Контрагенти, виділити організацію у списку, натиснути кнопку Змінити(див. рис. 3) і перевірити, чи правильно заповнені дані. Також необхідно відкрити ліцензію, що відповідає даному постачальнику, та переконатися, що заповнені всі рядки (див. рис. 5).

Мал. 5. Дані про ліцензію контрагента

6. "У рядку №… Послідовність ключів "..." у Keyref не посилається на будь-який ключ"

Для усунення помилки необхідно перевірити таке:

  • Відкрити розділ Контрагентита перевірити, чи у всіх постачальників додано інформацію про ліцензії. У разі її відсутності (див. рис. 6) натиснути кнопку Додатита внести інформацію про ліцензію.

Мал. 6. Відсутність ліцензії у постачальника в розділі «Контрагенти»

  • Після того, як ліцензію буде внесено, необхідно перейти до редагування самої декларації, відкрити таблицю 2 та знайти рядки з надходженнями від цього постачальника. Далі слід по черзі виділити такі рядки, у верхньому правому кутку вказати ліцензію для постачальника та натиснути на кнопку Змінити(Див. рис. 7).

Мал. 7. Вказівка ​​ліцензії у постачальника

  • Вивантажити виправлений звіт та перевірити його ще раз.

Якщо помилка збережеться, необхідно перевірити, що у таблиці 2 додані всі необхідні надходження (особливо при видаленні/додаванні якого-небудь контрагента), й у таблиці 1 вірні всі дані щодо віддаленим/доданим виробникам.

Вивантажити перевірений файл звіту та надіслати його на технічну підтримку СКБ Контур за адресою [email protected] , також додавши до листа Скріншот – це зображення екрана. Щоб зробити скріншот екрану:
1. Відтворіть помилку або проблемну ситуацію на екрані.
Натисніть клавішу PrintScreen (PrtScr) (у верхньому правому куті клавіатури), після того, як Ви натиснули цю клавішу - в пам'ять комп'ютера буде збережено скріншот.
2. Відкрийте програму Microsoft Word. Натисніть правою кнопкою миші по порожньому аркуші документа та виберіть Вставити (на клавіатурі можна натиснути одночасно клавіші Ctrl+V).
Скріншот з'явиться у вигляді екрана.
Збережіть файл. Меню Файл -> Зберегти...
скріншот помилки, що виникає.


Як знайти контрагента, в даних якого допущена помилка?

Наприклад, під час перевірки виявлено помилки, описані в пунктах 4 та 5:

Щоб знайти контрагентів, у реквізитах яких допущені помилки, необхідно:

1. Відкрийте файл звіту за допомогою блокнота.

2. У меню Форматприбрати галку Перенесення за словами(Див. рис. 8).

Мал. 8. Відключене перенесення за словами в блокноті

3. У меню Видпереконатися, що стоїть галка біля пункту Рядок стану(Див. рис. 9).

Мал. 9. Включений рядок стану

4. Орієнтуючись на рядок стану, знайти у файлі звіту рядки, у яких виявлено помилки.

У прикладі виявлено дві помилки в рядках № 7 і 10.
У рядку №7 виявлено помилку в КПП:

У рядку №7 Атрибут "П000000000006" недійсний: значення "" недійсне з погляду його типу даних "КППТип" - Збій обмеження Pattern.

Необхідно знайти цей рядок у блокноті (див. рис. 10), в ньому буде міститися назва фірми-контрагента, в даних якого допущена помилка. З малюнка видно, що в прикладі це організація ТОВ «Виробник», у якої не заповнений КПП.

Мал. 10. Рядок № 7 з помилкою у реквізитах виробника

У рядку №10 виявлено помилку у заповненні ліцензії постачальника:

У рядку №10 Атрибут "П000000000014" недійсний: значення "" недійсне з погляду його типу даних "String" - Фактична довжина менше значення MinLength.

Необхідно знайти цей рядок у блокноті (див. рис.11). З малюнка видно, що допущена помилка при заповненні ліцензії у контрагента, назва якого міститься в рядку вище в розглянутому прикладі це організація ТОВ «Постачальник». Помилка полягає в тому, що в ліцензії не зазначено, ким її було видано.

Мал. 11. Рядок №10 з помилкою у ліцензії постачальника

Якщо усунути помилку самостійно не виходить, необхідно звернутися в технічну підтримку СКБ Контур за адресою [email protected] , додавши до листа вивантажений файл звіту і скріншот помилки.