Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Прямая запись данных в SQL-таблицы: УИД 1С в uniqueidentifier SQL 2 страниц V  < 1 2          
logist Подменю пользователя
сообщение 06.05.14, 15:20
Сообщение #21

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Vava @ 06.05.14, 14:24) *
Пока на ум пришло записывать в УИД "00000000-0000-0000-0000-000000000000"

Думаю плохая идея.

Цитата(Vava @ 06.05.14, 14:24) *
но тогда мы получим

А переписать так, что бы при Null не делать запись этого поля?


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Vava Подменю пользователя
сообщение 06.05.14, 16:36
Сообщение #22

Говорящий
***
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 0 раз
Рейтинг: 0

logist, не записывать конечно правильно. Но как реализовать? Можно записывать обязательные поля, а потом по ним искать и дописывать остальные данные. Может есть способ оптимальней?

Vava Подменю пользователя
сообщение 07.05.14, 12:31
Сообщение #23

Говорящий
***
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 0 раз
Рейтинг: 0

Разобрался. Спасибо всем за помощь!

Vofka Подменю пользователя
сообщение 07.05.14, 13:13
Сообщение #24

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13956
Из: Киев
Спасибо сказали: 4523 раз
Рейтинг: 3646.4

Vava, и?

Vava Подменю пользователя
сообщение 07.05.14, 16:52
Сообщение #25

Говорящий
***
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 0 раз
Рейтинг: 0

Vofka, как я и писал, строка не записывалась из-за того, что я не заносил значение в поле, обязательное для заполнения "ID".
Приведенный ниже код позволил записывать данные в таблицу БД, с учетом неполных данных. Если данные отсутствуют - запись в БД не происходит.
        Соединение.BeginTrans();
        
        Пока ТЗКонтрагенты.ПолучитьСтроку() = 1 Цикл
        
            Команда="INSERT INTO tbl_Account (ID, Account1CID, Owner1CID, Name, UNP, OKPO, InThePersonOf, FIO, Base, Status, CreatedOn)     
            |VALUES (NEWID(),
            |CAST('"+ПолучимГУИДSQL(ТЗКонтрагенты.Account1CID)    +"' as UNIQUEIDENTIFIER), ";
            
            Если ПустоеЗначение(ТЗКонтрагенты.Owner1CID)=0 Тогда
                Команда = Команда + "CAST('"+ПолучимГУИДSQL(ТЗКонтрагенты.Owner1CID)    +"' as UNIQUEIDENTIFIER), ";
            Иначе                
                Команда = Команда + "Null, ";
            КонецЕсли;
            
            Если ПустоеЗначение(ТЗКонтрагенты.Name)=0 Тогда
                Команда = Команда + "CAST('"+ТЗКонтрагенты.Name +"' as CHAR(120)), ";
            Иначе                
                Команда = Команда + "Null, ";
            КонецЕсли;

            Если ПустоеЗначение(ТЗКонтрагенты.UNP)=0 Тогда
                Команда = Команда + "CAST('"+ТЗКонтрагенты.UNP +"' as CHAR(13)), ";
            Иначе                
                Команда = Команда + "Null, ";
            КонецЕсли;

            Если ПустоеЗначение(ТЗКонтрагенты.OKPO)=0 Тогда
                Команда = Команда + "CAST('"+ТЗКонтрагенты.OKPO +"' as CHAR(12)), ";
            Иначе                
                Команда = Команда + "Null, ";
            КонецЕсли;

            Если ПустоеЗначение(ТЗКонтрагенты.InThePersonOf)=0 Тогда
                Команда = Команда + "CAST('"+ТЗКонтрагенты.InThePersonOf +"' as CHAR(8)), ";
            Иначе                
                Команда = Команда + "Null, ";
            КонецЕсли;

            Если ПустоеЗначение(ТЗКонтрагенты.FIO)=0 Тогда
                Команда = Команда + "CAST('"+ТЗКонтрагенты.FIO +"' as CHAR(40)), ";
            Иначе                
                Команда = Команда + "Null, ";
            КонецЕсли;

            Если ПустоеЗначение(ТЗКонтрагенты.Base)=0 Тогда
                Команда = Команда + "CAST('"+ТЗКонтрагенты.Base +"' as CHAR(5)), ";
            Иначе                
                Команда = Команда + "Null, ";
            КонецЕсли;
            
            Команда = Команда + "CAST('"+ТЗКонтрагенты.Status +"' as SMALLINT), CAST('"+СокрЛП(РабочаяДата())+"' as DATETIME))";
            
            cmd.Commandtext = Команда;
            cmd.Execute();
        КонецЦикла;
        
        Соединение.CommitTrans();


Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V  < 1 2
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 26.05.24, 11:30
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!