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

Хранилище

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

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



3 страниц V   1 2 3 >

>  Прямая запись данных в SQL-таблицы: УИД 1С в uniqueidentifier SQL
Vava
Отправлено: 07.05.14, 16:52


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


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();

  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #86504 · Ответов: 24 · Просмотров: 18919
 

>  Прямая запись данных в SQL-таблицы: УИД 1С в uniqueidentifier SQL
Vava
Отправлено: 07.05.14, 12:31


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


Разобрался. Спасибо всем за помощь!
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #86491 · Ответов: 24 · Просмотров: 18919
 

>  Прямая запись данных в SQL-таблицы: УИД 1С в uniqueidentifier SQL
Vava
Отправлено: 06.05.14, 16:36


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


logist, не записывать конечно правильно. Но как реализовать? Можно записывать обязательные поля, а потом по ним искать и дописывать остальные данные. Может есть способ оптимальней?
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #86453 · Ответов: 24 · Просмотров: 18919
 

>  Прямая запись данных в SQL-таблицы: УИД 1С в uniqueidentifier SQL
Vava
Отправлено: 06.05.14, 14:24


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


Пока на ум пришло записывать в УИД "00000000-0000-0000-0000-000000000000", а потом , при необходимости обрабатывать такие значения.

logist, но тогда мы получим
SQL
CAST('Null' as UNIQUEIDENTIFIER)

И возникнет ошибка преобразования типа. Уже пробовал )
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #86448 · Ответов: 24 · Просмотров: 18919
 

>  Прямая запись данных в SQL-таблицы: УИД 1С в uniqueidentifier SQL
Vava
Отправлено: 06.05.14, 14:15


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


Наверное было бы правильно в таком случае писать Null, если это допускается.
Но как это предусмотреть в конструкции:
    cmd.Commandtext="INSERT INTO tbl_Account (ID, Account1CID, Owner1CID)     
    |VALUES (NEWID(),
    |CAST('"+ПолучимГУИДSQL(ТЗКонтрагенты.Account1CID)+"' as UNIQUEIDENTIFIER),
    |CAST('"+ПолучимГУИДSQL(ТЗКонтрагенты.Owner1CID)+"' as UNIQUEIDENTIFIER)
    |)";

если значение ТЗКонтрагенты.Owner1CID = 0?

Или не писать вообще ничего...
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #86444 · Ответов: 24 · Просмотров: 18919
 

>  Прямая запись данных в SQL-таблицы: УИД 1С в uniqueidentifier SQL
Vava
Отправлено: 06.05.14, 13:58


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


Удалось записать. Всю цепочку действий не восстановлю. Думаю, что ключевым моментом было то, что в таблице есть поле обязательное для заполнения -уникальный идентификатор строки таблицы. Без его заполнения строка не записывалась. Буду разбираться дальше. Спасибо всем за участие!

А как быть, если элемент, УИД которого надо писать, не выбран?
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #86432 · Ответов: 24 · Просмотров: 18919
 

>  Прямая запись данных в SQL-таблицы: УИД 1С в uniqueidentifier SQL
Vava
Отправлено: 06.05.14, 11:45


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


logist, а как извлекается такой УИД в 7-ке?
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #86417 · Ответов: 24 · Просмотров: 18919
 

>  Прямая запись данных в SQL-таблицы: УИД 1С в uniqueidentifier SQL
Vava
Отправлено: 06.05.14, 10:46


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


Vofka, дело в том, что база уже есть и нужно писать в нее.
Попробую на SQL-е непосредственно. Пока нет возможности.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #86412 · Ответов: 24 · Просмотров: 18919
 

>  Прямая запись данных в SQL-таблицы: УИД 1С в uniqueidentifier SQL
Vava
Отправлено: 06.05.14, 10:23


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


sava1, из этой таблицы БД другая программа забирает данные. УИД изначально получен с помощью функции:

Функция ПолучимГУИД77(Объект)
    Стр=ЗначениеВСтрокуВнутр(Объект);
    СЗ=СоздатьОбъект("СписокЗначений");
    СЗ.ИзСтрокиСРазделителями(Сред(Стр,2,СтрДлина(Стр)-2));  
    ГУИД=формат(СЗ.ПолучитьЗначение(4),"Ч(0)5")+Формат(сокрлп(СЗ.ПолучитьЗначение(СЗ.РазмерСписка())),"Ч(0)9");
    Возврат ГУИД;
КонецФункции    // ПолучимГУИД77


Полученное 12-тизначное число приводится к виду: "16700000-0001-0000-0000-000000000000". Первые 12 знаков значащие. Остальные забиваю нолями.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #86410 · Ответов: 24 · Просмотров: 18919
 

>  Прямая запись данных в SQL-таблицы: УИД 1С в uniqueidentifier SQL
Vava
Отправлено: 06.05.14, 9:24


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


sava1, попробовал. Такая же ошибка
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #86404 · Ответов: 24 · Просмотров: 18919
 

>  Прямая запись данных в SQL-таблицы: УИД 1С в uniqueidentifier SQL
Vava
Отправлено: 06.05.14, 8:51


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


Функция ПолучимГУИДSQL() возвращает строковое значение вида: "16700000-0001-0000-0000-000000000000"

Это строка. Пробелов там нет. Функция формирует из 12-ти значного числа УИДа элемента справочника
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #86397 · Ответов: 24 · Просмотров: 18919
 

>  Прямая запись данных в SQL-таблицы: УИД 1С в uniqueidentifier SQL
Vava
Отправлено: 06.05.14, 8:38


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


sava1, как я понял таким образом будет создано и записано в таблицу новое уникальное значение. Используя свой уникальный код потом можно определить какому элементу принадлежит запись. Потом нужно будет по этому значению находить эту строку и вносить изменения в данные. Контрагент записан со всеми своими данными и при изменении их в 1с нужно вносить изменения и в БД.

Vofka, попробовал так:

ГУИДКонтрагента = ПолучимГУИДSQL(ТЗКонтрагенты.Account1CID);
cmd.Commandtext ="INSERT INTO tbl_Account (Account1CID)     VALUES (CAST('"+ГУИДКонтрагента+"' as UNIQUEIDENTIFIER))";


Получил:

cmd.Execute();
{D:\WORK\ИНТЕРСТАЛЬ\EXTFORMS\SQL.ERT(294)}: Microsoft OLE DB Provider for SQL Server: Произошли ошибки во время выполнения многошаговой операции OLE DB. По возможности, проверьте значения всех состояний OLE DB. Работа не выполнена.


Может есть мысли какие?
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #86392 · Ответов: 24 · Просмотров: 18919
 

>  Прямая запись данных в SQL-таблицы: УИД 1С в uniqueidentifier SQL
Vava
Отправлено: 05.05.14, 21:46


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


Необходимо записывать данные во внешние таблицы MS SQL 2005. В таблице тип данных поля, в которое необходимо записывать данные - уникальный идентификатор. В 7-ке я формирую идентификатор функцией ПолучимГУИДSQL(), в результате работы которой получаю строковое значение вида: "16700000-0001-0000-0000-000000000000"


    cmd=СоздатьОбъект("ADODB.Command");
    cmd.ActiveConnection=Соединение;
    cmd.CommandTimeOut=600;
    cmd.CommandType=1;
    cmd.Prepared = "True";
    cmd.NamedParameters = "True";
    cmd.Commandtext ="INSERT INTO tbl_Account (Account1CID)     VALUES (Convert(uniqueidentifier, ?))";
    
    cmd.Parameters.Append(cmd.CreateParameter("@Account1CID"    , 202,1,36));

    ТЗКонтрагенты.ВыбратьСтроки();

    Соединение.BeginTrans();
    пСтрока = ПолучимГУИДSQL(ТЗКонтрагенты.Account1CID);
    Пока ТЗКонтрагенты.ПолучитьСтроку() = 1 Цикл
        cmd.Parameters("@Account1CID").Value     = ПолучимГУИДSQL(ТЗКонтрагенты.Account1CID);
        cmd.Execute();
    КонецЦикла;


При выполнении кода возникает ошибка:
cmd.Execute();
{D:\WORK\EXTFORMS\SQL.ERT(291)}: Microsoft OLE DB Provider for SQL Server: Conversion failed when converting from a character string to uniqueidentifier.


Такая же возникает при попытке присвоить в лоб:
cmd.Parameters("@Account1CID").Value     =  "16700000-0001-0000-0000-000000000000";


Каким образом правильно записывать значения подобного типа. Может кто сталкивался с подобными задачами?
Спасибо
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #86374 · Ответов: 24 · Просмотров: 18919
 

>  Как для нового документа создать элемент справочника НаборыДополнительныхРеквизитовИСведений?
Vava
Отправлено: 06.03.14, 21:17


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


Спасибо за советы. Попробую делать документ с нуля. Наборы мне может и не нужны, но при создании документа к ним идет обращение в общем модуле.
  Форум: Программирование управляемых форм 1С 8.2 · Просмотр сообщения: #83492 · Ответов: 3 · Просмотров: 4195
 

>  Как для нового документа создать элемент справочника НаборыДополнительныхРеквизитовИСведений?
Vava
Отправлено: 06.03.14, 18:32


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


1С 8.2 "Управление небольшой фирмой 1.4". С 8-кой дел еще не имел, тем более с упр. формами. Необходимо на базе существующего документа "Заказ покупателя" создать документ "Коммерческое предложение". Думал как в 7-ке скопировать документ, переделать печатные формы, изменить интерфейс.
Но тут не так все просто. Документ я скопировал, запретил его проведение, убрал движения, в свойствах динамического списка убрал "Произвольный запрос", поставил "ДинамическоеСчитываниеДанных". Не знаю с чем еще придется столкнуться, но сейчас при попытке ввести новый документ выдается ошибка:

{ОбщийМодуль.УправлениеСвойствамиСлужебный.Модуль(434)}: Поле об`єкту не виявлено (Документ_КомерческоеПредложение)
        Возврат Справочники.НаборыДополнительныхРеквизитовИСведений[ИмяЭлемента];


В подсистеме "Администрирование" есть возможность просматривать элементы данного справочника. Как создать для нового документа элемент справочника "НаборыДополнительныхРеквизитовИСведений"?
Может есть

Спасибо!
  Форум: Программирование управляемых форм 1С 8.2 · Просмотр сообщения: #83483 · Ответов: 3 · Просмотров: 4195
 

>  Реализация справочника "Кабинет"
Vava
Отправлено: 03.11.12, 12:40


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


Ardi? я имел ввиду, что сейчас так сделано - можно установить только один перерыв.
Спасибо всем! Буду использовать подчиненный справочник.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #59694 · Ответов: 14 · Просмотров: 5296
 

>  Реализация справочника "Кабинет"
Vava
Отправлено: 01.11.12, 23:12


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


Есть процедурный кабинет. Работает с 8.00 до 18.00. Есть перерыв на обед, перерыв для наведения порядка... и т.д. На время перерыва нельзя назначать процедуры. Есть документ, который сначала должен провести анализ занятости кабинета, с учетом указанных перерывов, и дать пользователю информацию для назначения процедуры на свободное время (интервал времени на которое назначена процедура в дальнейшем будет тоже учитываться при очередном назначении). Т.о. задача стоит в том, чтобы пользователь мог назначать процедуры на время, когда кабинет свободен.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #59620 · Ответов: 14 · Просмотров: 5296
 

>  Реализация справочника "Кабинет"
Vava
Отправлено: 01.11.12, 21:58


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


mister-x , но тогда подчиненный справочник будет "засоряться" значениями интервалов времени (их будет немало по каждому кабинету)


ежедневно
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #59618 · Ответов: 14 · Просмотров: 5296
 

>  Реализация справочника "Кабинет"
Vava
Отправлено: 01.11.12, 21:22


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


Имеется сильно доработанная конфигурация. Есть справочник "Кабинет". Реквизиты: время работы С, По и перерыв С По, каждый реквизит в единственном экземпляре. Необходимо сделать так, чтобы можно было произвольно добавлять интервалы перерывов, занятости кабинета (кому-то назначено время приема).
Как сие грамотнее реализовать?
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #59614 · Ответов: 14 · Просмотров: 5296
 

>  Переход с ПУБ на Бух
Vava
Отправлено: 20.02.12, 13:34


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


Самое главное - сохранить данные по зарплате.
База обновляется. За основу взята конфигурация Бух. Приходится немного помучатся конечно.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #44576 · Ответов: 17 · Просмотров: 8873
 

>  Переход с ПУБ на Бух
Vava
Отправлено: 18.02.12, 9:31


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


Цитата(XBrut @ 17.02.12, 23:05) *
Постановка питання якась сумнівна. Що це таке є в Бух, чого нема в ПУБ ? База велика ? - обріжте.
Доречі який бюджет?

А чем в ПУБе можно обрезать базу? Бух не простая, а доработанная под санаторий (там очень много добавлено...)
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #44418 · Ответов: 17 · Просмотров: 8873
 

>  Переход с ПУБ на Бух
Vava
Отправлено: 17.02.12, 21:46


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


Спасибо всем! Буду двигаться в сторону переноса остатков, универсал.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #44394 · Ответов: 17 · Просмотров: 8873
 

>  Переход с ПУБ на Бух
Vava
Отправлено: 17.02.12, 21:24


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


Отказ от ПУБ вызван тем, что эта организация - санаторий, и для санатория есть переделанная конфигурация с общепитом, путевками... Оперативный учет меня как раз и пугает - усложняет процесс переноса. Универсал посмотрю (возможно ли им совершить такой перенос? ПУБ -> Бух))
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #44391 · Ответов: 17 · Просмотров: 8873
 

>  Переход с ПУБ на Бух
Vava
Отправлено: 17.02.12, 20:36


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


Предложили подумать над такой задачей. Организация имеет конфигурацию ПУБ 041. База ведется давно, весит около 3Гб. Нужно перевести их на Бух. 291. Заново начинать не желают - нужно сохранить данные по зарплате.
Задача не тривиальная, конечно...
Есть какие-нибудь соображения?
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #44383 · Ответов: 17 · Просмотров: 8873
 

>  Корректировка плана счетов
Vava
Отправлено: 08.02.12, 13:37


Говорящий
***

Группа: Пользователи
Сообщений: 51
Регистрация: 10.03.09
Пользователь №: 145


Всем спасибо! Моя ошибка была в том, что перенес только остатки...
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #43565 · Ответов: 20 · Просмотров: 11766
 

3 страниц V   1 2 3 >

Новые сообщения  Открытая тема (есть новые ответы)
Опрос  Опрос (есть новые голоса)
Нет новых сообщений  Открытая тема (нет новых ответов)
Нет новых голосов  Опрос (нет новых голосов)
Популярная тема  Горячая тема (есть новые ответы)
Закрыта  Закрытая тема
Нет новых  Горячая тема (нет новых ответов) Перемещена  Тема перемещена
 

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