Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » 1C Программирование и поддержка

Модерирует : ShIvADeSt

ShIvADeSt (03-04-2009 02:03): Продолжение тут
http://forum.ru-board.com/topic.cgi?forum=33&topic=10256#1
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

   

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тема для программирования !!!
Это продолжение темы, предыдущие части доступны тут


ПРОГРАММЫ  1С:Предприятие 1C - 1C: Вопросы по конфигурациям

ВАРЕЗНИК   1C:Предприятие 7.7 - 1С:Предприятие v.8.x - 1C Диск ИТС - 1С: Совместимо 8.х

Топик 1C Ebooks
ЗДЕСЬ (обновлено 27.03.2009) - небольшая библиотечка (книги, документация, видео, утилиты) по 1С, финансам, бухучету и т.п.
Все рассортировано по версиям...

Для заблудившихся в трех соснах >>> FAQ по форуму RU.Board

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:30 06-02-2008 | Исправлено: vkramnik, 21:26 27-03-2009
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
тебе нужно тексовый файл автоматически занести в 1С? Чтоб соответсвующие документы (Приходная / Расходная накладная) создавались + проподились, если указано в текстовике?  

У меня сейчас да варианта:
1. Как Вы предложили.
2. На форму приходной и расходной накладной добавляю кнопку, по нажатию на которую будет предложен выбор файла с накладной и потом добавление только табличной части.

Цитата:
Кстати, откуда файл-текстовик появляется?

Есть другая программа из которой делается экспорт.

Всего записей: 541 | Зарегистр. 05-07-2007 | Отправлено: 09:58 07-03-2008
An4eus



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Lihonosov, в принципе можно организовать два варианта.
Но я думаю, лучше 1-ый, т.к. можно сделать внешную обработку, которая запихивает файл.
Кстати, с этой разобрался с табличной частью, что б Артикул в Артикул записывал, Наименоване в наименование и т.д.?

Всего записей: 3768 | Зарегистр. 23-07-2007 | Отправлено: 10:25 07-03-2008
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Кстати, с этой разобрался с табличной частью, что б Артикул в Артикул записывал, Наименоване в наименование и т.д.?  

Еще нет, сегодня думаю разберусь. Если есть пример, прошу скинуть.
 
Добавлено:
Еще вопрос: как можно код который в модуле формы 1С скопировать куда-нибудь, а то при простом копировании получаются абракодабры?

Всего записей: 541 | Зарегистр. 05-07-2007 | Отправлено: 10:37 07-03-2008
Haosame



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
S4astliff4ik  
Идет в составе платформы, лежит в "1Cv8\BIN\1Cv8 Servers.msc". ИЛи же через "Пуск"-"программы"-"1С:предприятие 8.0" - "Серверы 1С:Предприятия". Откроется консоль управления серверами (это если у тебя 8.0, для 8.1 -там посложнее). На "1СEnterprise servers" щелкаешь правой клавишей мыши и выбираешь "Создать". В диалоге прописываешь имя компьютера, где у тебя сервер 1С:Предприятия запущен. Если успешно подключился - можно просматривать список баз под управлением сервера 1С, список залогиненных юзверей, отключать любого из них или всех сразу и т.д. Подробнее - в ЖКК

прописываешь имя компьютера. а если у меня база на серваке  в инете лежит. Какое имя тогда прописывать??? Ели домен, то ругается...

Всего записей: 59 | Зарегистр. 29-02-2008 | Отправлено: 11:01 07-03-2008
Aleksei85

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Честно говоря в 1cv7.dds ничего, что может указывать на файл данных не нашёл. Одни процедуры SQL, структуры элементов. Можешь не там ищу?

Всего записей: 6 | Зарегистр. 20-07-2006 | Отправлено: 12:13 07-03-2008
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как программно обращаться к текущему документу, и изменять параметры в ее табличной части?

Всего записей: 541 | Зарегистр. 05-07-2007 | Отправлено: 12:37 07-03-2008
ToppeaDop

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в каком контексте?
 
при заполнении документа в режиме редактирования? Или при создании док-та программно?

Всего записей: 466 | Зарегистр. 24-08-2003 | Отправлено: 12:53 07-03-2008
An4eus



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Lihonosov писал:
Цитата:
Значения: Артикул, Название, Количество, Цена разделены табулятором.
Но Количество и Ед.Изм разделены пробелом.

Пояснения можно на счет табулятора? Нужен пример точного файла (кусок), со всеми пробелами!

Всего записей: 3768 | Зарегистр. 23-07-2007 | Отправлено: 13:53 07-03-2008 | Исправлено: An4eus, 13:59 07-03-2008
tdr1225



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lihonosov

Цитата:
Как программно обращаться к текущему документу, и изменять параметры в ее табличной части?

1. Если разговор идет о текущем документе, значит обращение пойдет из модуля формы или модуля документа. Значит, чтобы установить реквизит "Контрагент" в заголовке документа надо написать Контрагент=какой_то_постащик; Чтобы установить реквизит "Артикул" табличной части документа надо:
1.1. спозиционироваться на строку ПолучитьСтрокуПоНомеру(<Номер>); или создать новую строку НоваяСтрока();
1.2. написать Артикул="123-456"; (если он символьный)
 
2. По поводу табуляторов и пробелов предлагаю: сначала заменить все табуляторы на пробелы, потом заменить двойные пробелы на одинарные (в цикле, пока там есть двойные). Дальше разъяснять?

Всего записей: 285 | Зарегистр. 07-12-2005 | Отправлено: 14:25 07-03-2008
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
1. Если разговор идет о текущем документе, значит обращение пойдет из модуля формы или модуля документа. Значит, чтобы установить реквизит "Контрагент" в заголовке документа надо написать Контрагент=какой_то_постащик; Чтобы установить реквизит "Артикул" табличной части документа надо:
1.1. спозиционироваться на строку ПолучитьСтрокуПоНомеру(<Номер>); или создать новую строку НоваяСтрока();
1.2. написать Артикул="123-456"; (если он символьный)  

Спасибо.  
У меня создается ТаблицаЗначений, а потом через ЗагрузитьТабличнуюЧасть(МояТаблицаЗначений) заношу в табл. часть, но те ячейки значения которых берутся из справочников - не заполняются.

Цитата:
2. По поводу табуляторов и пробелов предлагаю: сначала заменить все табуляторы на пробелы, потом заменить двойные пробелы на одинарные (в цикле, пока там есть двойные). Дальше разъяснять?  

С этим разобрался спасибо!

Всего записей: 541 | Зарегистр. 05-07-2007 | Отправлено: 16:29 07-03-2008
tswanea



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
привет всем!
как можно посредством 1с в 8.1 узнать серийный номер мамки компа?
пробывал так и вроде чтото не получаеться
 
    Попытка
        Локатор = Новый COMОбъект("WbemScripting.SWbemLocator");
    Исключение
    КонецПопытки;
    
    ServicesSet = Локатор.ConnectServer(".");
    
    ObjectSet = ServicesSet.InstancesOf("Win32_BaseBoard");
    
    Для каждого Ит_ из ObjectSet Цикл
        Для каждого Ит_1 из Ит_.Properties_ Цикл


----------
... И развернутся врата ада, и силы тьмы обрушатся на землю ...

Всего записей: 436 | Зарегистр. 03-08-2004 | Отправлено: 22:14 07-03-2008 | Исправлено: tswanea, 10:21 08-03-2008
An4eus



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Lihonosov ну вот к примеру:
Код:
стр = "грн"; //пусть ты полчил из текстового файла переменную стр="грн"
Спр = СоздатьОбъект("Справочник.Валюты");
об = 0; //создадим переменную, которая будет ссылать на элемент справочника Валюты
Если Спр.НайтиПоРеквизиту("Кратко",стр,1)=1 Тогда //ище по реквизиту Кратко во всем справочнике Валюты
    об = Спр.ТекущийЭлемент(); //если нашли, позиционируемся на него!
КонецЕсли;
Прошу ваш код в студию, реализации поставленной задачи!
 
Lihonosov
tdr1225
покажите мне про табуляцию!
 

Всего записей: 3768 | Зарегистр. 23-07-2007 | Отправлено: 02:34 08-03-2008 | Исправлено: An4eus, 02:47 08-03-2008
Vxd2000



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Самописная конфигурации на платформе 1С77. Есть документ - документ1, в котором реквизиты: справочник контрагентов и документ2, в нем тоже есть реквизит рнеквизит контрагент.
 
Нужно, чтобы при выборе документа2, в журнале этих документов отображались только те документы2, которые содержат выбранного в документе1 ранее контрагента.
Для журналов есть графа отбора - контрагент, из документа1 в журнал документов2 передается ранее выбранный контрагент.
Но все равно в журнале документов2 отображаются все документы, а не с заданным контрагентом. Как это лучше реализовать ?

Всего записей: 1149 | Зарегистр. 14-11-2002 | Отправлено: 14:25 09-03-2008
OJIR

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте.  
Пытаюсь сделать обмен данными между двумя конфигурациями 1С.  
В конф1 есть обработка с именем "ОбменДанными". В модуле объекта есть процедура:  
 
Процедура ОбменСФилиалами() Экспорт  
  ВыборкаУзлов=ПланыОбмена.Филиалы.Выбрать();  
  Пока ВыборкаУзлов.Следующий() Цикл  
    //Произвести обмен данными со всеми узлами  
   
    //кроме текущего (ЭтотУзел)  
   
    Если ВыборкаУзлов.Ссылка<>ПланыОбмена.Филиалы.ЭтотУзел() Тогда  
      УзелОбъект=ВыборкаУзлов.ПолучитьОбъект();  
      //Получить сообщение  
       УзелОбъект.ПрочитатьСообщениеСИзменениями();  
     
     //Сформировать сообщение  
       УзелОбъект.ЗаписатьСообщениеСИзменениями();  
    КонецЕсли;  
  КонецЦикла;  
КонецПроцедуры  
 
Процедура ПрочитатьСообщениеСИзменениями() и ЗаписатьСообщениеСИзменениями() описаны как Экспорт в модуле объекта план обмена "Филиалы".  
 
Конф2 соответственно копия конф1.  
При выполнении процедуры ОбменСФилиалами() в конф2, почему та не находится процедура ПрочитатьСообщениеСИзменениями(). Т.е. как будто модуль объекта ОбменДанными ее не видит и переходит сразу к выполнению оператора  УзелОбъект.ЗаписатьСообщениеСИзменениями(). Почему такое может происходить? Сами процедуры взяты из книги Радченко "Практическое пособие для разработчика".

Всего записей: 52 | Зарегистр. 07-01-2008 | Отправлено: 06:11 11-03-2008
tdr1225



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lihonosov

Цитата:
те ячейки значения которых берутся из справочников - не заполняются

Значит у тебя не заполнена ТаблицаЗначений. Воспользуйся обработкой:
Название: PrintVal.rar
Размер: 16.78 кб
Доступен до: 2008-04-10 10:28:43  
Описание: Печать СпискаЗначений, ТаблицыЗначений, Запроса (1С 7.70)
Ссылка для скачивания файла: h__p://ifolder.ru/5686977
(Пример обращения - в текстовом файле)
An4eus

Цитата:
про табуляцию

А что тут непонятно?

Код:
 
Табулятор=Симв(9);Пробел=Симв(32);СтрЗаменить(СтрИсточник,Табулятор,Пробел);
 

Всего записей: 285 | Зарегистр. 07-12-2005 | Отправлено: 09:33 11-03-2008
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
An4eus

Цитата:
Прошу ваш код в студию, реализации поставленной задачи!  

Чтобы программно установить в новом документе валюту "Гривня", я сделал так:

Код:
Гривня=СоздатьОбъект("Справочник.Валюты");
НоваяНакладная=СоздатьОбъект("РасходнаяНакладная");
НоваяНакладная.Новый();
Если Гривня.НайтиПоНаименованию("Гривня")=1 Тогда
  НоваяНакладная.УстановитьАтрибут("Валюта",Гривня.ТекущийЭлемент());
ИначеЕсли Гривня.НайтиПоНаименованию("Гривня")=0 Тогда
  Сообщить"Такой валюты в справочнике нет");
КонецЕсли;

 
Добавлено:

Цитата:
покажите мне про табуляцию!

Например, есть текстовый файл, а в нем:

Код:
...
dec2041.000          Заглушка        8 шт.
...

dec2041.000, Заглушка, 8 шт. разделены табулятором.
Чтобы получить каждое отдельно, я сделал так:

Код:
ФайлНакладных=СоздатьОбъект("Файл");
ФайлНакладных.Открыть(ИмяЗагрФайла);
Если ФайлНакладных.КоличествоСтрок()=0 Тогда
 Предупреждение("Файл пустой!");
 Возврат;
КонецЕсли;
Для ном=1 по ФайлНакладных.КоличествоСтрок() Цикл
 Стр=ФайлНакладных.ПолучитьСтроку(ном);
 текСтрокиТекста=СтрЗаменить(Стр,"   ",РазделительСтрок); //в кавычках табулятор
 ИдСтр=СтрПолучитьСтроку(текСтрокиТекста,1); //получили dec2041.000
 Ид2Стр=СтрПолучитьСтроку(текСтрокиТекста,2); //получили Заглушка
 Ид3Стр=СтрПолучитьСтроку(текСтрокиТекста,3); //получили 8 шт.
КонецЦикла;

 
 

Всего записей: 541 | Зарегистр. 05-07-2007 | Отправлено: 09:58 11-03-2008 | Исправлено: Lihonosov, 10:00 11-03-2008
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужно вывести модальное диалоговое окно, в котором пользователь должен указать НДС: 20%, 0%, Без НДС. И после выбора значение должно записать в табличную часть.
Есть ОткрытьФормуМодально, но тогда как я понимаю нужно создать новый документ с этой формой, или есть какой-то другой способ?

Всего записей: 541 | Зарегистр. 05-07-2007 | Отправлено: 14:35 11-03-2008
G789

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lihonosov

Цитата:
Нужно вывести модальное диалоговое окно, в котором пользователь должен указать НДС: 20%, 0%, Без НДС. И после выбора значение должно записать в табличную часть.  

 
 ВвестиЗначение();
 ВвестиПеречисление();

Всего записей: 83 | Зарегистр. 16-05-2007 | Отправлено: 15:23 11-03-2008
vadver

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OJIR
Видит. Иначе бы у тебя сразу ошибка появилась типа "процедура/функция с именем ... не определена". Просто не читает сообщения.  А вот почему не читает - это уже другой вопрос.

Всего записей: 80 | Зарегистр. 10-05-2005 | Отправлено: 15:41 11-03-2008
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А у кого-нибудь есть информация посвязке 1С+Interbase/Firebird.
Т.е. нужно читать данные из *.gdb файла базы данных.

Всего записей: 541 | Зарегистр. 05-07-2007 | Отправлено: 16:01 11-03-2008
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » 1C Программирование и поддержка
ShIvADeSt (03-04-2009 02:03): Продолжение тут
http://forum.ru-board.com/topic.cgi?forum=33&topic=10256#1


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru