Разное по программированию в 1С
| |
Vetkhy |
Вторник, 24.03.2009, 14:40
|
Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
| В этой теме мы попытаемся ответить на различные вопросы по программированию в 1С: Предприятии.
Have you tried to turn it off and on again? © IT Crowd
|
|
| |
Гость |
Пятница, 23.04.2010, 18:00
|
Группа: Гости
| Здравствуйте. Тут столкнулся с Бизнес-процессами впервые и получил вот такое задание. Отслеживать ход исполнения документов пользователями с напоминанием через 20 - 10 - 5 дней. Срок исполнения документа 30 дней, далее он просрочен Даже не знаю с чего начать. Может посоветуете что? С уважением ко всем.
|
|
| |
Vetkhy |
Пятница, 23.04.2010, 20:49
|
Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
| Я думаю, что в первую очередь необходимо понять сам бизнес-процесс, напоминание, как мне кажется, дело вторичное. Опять же, что значит "ход исполнения документов"?
Have you tried to turn it off and on again? © IT Crowd
|
|
| |
Ткачев |
Среда, 06.10.2010, 09:47
|
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
| Русским языком скажите пожалуйста как выгрузить все данные из БП (2.0.15.8) в ЗиУП (2.5.27.6)
|
|
| |
Vetkhy |
Среда, 06.10.2010, 11:45
|
Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
| Quote (Ткачев) Русским языком скажите пожалуйста как выгрузить все данные из БП (2.0.15.8) в ЗиУП (2.5.27.6) Так уж прямо все вряд-ли получится... А вот какое-то подмножество должна переносить соответствующая обработка - обычно в "дебрях" меню "Сервис" можно найти пункт типа "Перенос данных в Зарплату и управление персоналом" (или "Обмен данными с...") (искать в БП). Или через "прочий обмен данными" искать правила обмена между БП и ЗиУП, и из БП, используя эти правила, выгружать XML, а потом этот файл загружать в Зарплате. Пошаговую инструкцию не напишу - такая задача передо мной ни разу не ставилась, да и протестировать не на чем.
Have you tried to turn it off and on again? © IT Crowd
|
|
| |
Гость |
Среда, 06.10.2010, 13:08
|
Группа: Гости
| На все обработки как обработки по обмену данными, а с ЗиУП очень урезанные, и универсалы не работают.
|
|
| |
Ткачев |
Среда, 06.10.2010, 18:22
|
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
| Тогда еще один вопрос, на компе подключен терминал данных (ТСД) к порту СОМ7, работаем в 1с через удаленный рабочий стол (УРС), вопрос как мне порт сом7 а точнее ТСД перетащить в УРС ?
|
|
| |
Vetkhy |
Среда, 06.10.2010, 22:24
|
Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
| Quote (Гость) На все обработки как обработки по обмену данными, а с ЗиУП очень урезанные, и универсалы не работают. Тогда увы - только программировать. Quote (Ткачев) Тогда еще один вопрос, на компе подключен терминал данных (ТСД) к порту СОМ7, работаем в 1с через удаленный рабочий стол (УРС), вопрос как мне порт сом7 а точнее ТСД перетащить в УРС? О ля ля... Скорее всего никак, мне кажется, тут или все-таки ТСД подключать к серверу, или же 1С запускать непосредственно на компьютере... Хотя кажется вот что-то нашел: Quote А сходи сюда на серваке - Пуск \ Настройка \ Панель управления \ Администрирование \ Управление компьютером \ Локальные пользователи и группы \ Пользователи. Выбери Пользователя, у которого проблема с принтером, войди в его Свойства. Там есть вкладка Среда, в нижней части окошка есть группа радиокнопок Устройства клиента. Какие нужно установи. Потом еще можно покопаться в Администрировании \ Настройка служб терминалов. Там есть веточка Подключения \ RDP-TCP, в ее свойствах вкладка Параметры клиента. Поиграй с настройками здесь. Потом еще есть галки при подключении клиента на машине клиента: Когда запускаешь подключение к удаленному раб столу , где он просит Имя сервера, логин, пароль , есть вкладка Локальные ресурсы (Local Resources) . Вот-с. http://www.nowa.cc/archive/index.php/t-60275.html Может быть получится и COM-порт задействовать.
Have you tried to turn it off and on again? © IT Crowd
|
|
| |
Ткачев |
Четверг, 07.10.2010, 07:32
|
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
| Это все очень интересно, я это все уже проделал, но он почему то все равно не работает, net use пишит что все подключил но тоже увы не пашет
Сообщение отредактировал Ткачев - Четверг, 07.10.2010, 07:32 |
|
| |
Vetkhy |
Четверг, 07.10.2010, 18:00
|
Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
| Quote (Ткачев) Это все очень интересно, я это все уже проделал, но он почему то все равно не работает, net use пишит что все подключил но тоже увы не пашет Жаль... К сожалению, у меня больше идей нет
Have you tried to turn it off and on again? © IT Crowd
|
|
| |
Ткачев |
Четверг, 14.10.2010, 08:36
|
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
| Порты сами автоматом оказываются встают (можно проверить change port), надо скорость было просто везде сделать 115 тыщ. Вопрос: есть печатный макет ценника, как при изменении ячейки макета сделать переход в некую процедуру, как в 1с7.7
Сообщение отредактировал Ткачев - Четверг, 14.10.2010, 08:37 |
|
| |
Vetkhy |
Четверг, 14.10.2010, 09:25
|
Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
| Quote (Ткачев) Вопрос: есть печатный макет ценника, как при изменении ячейки макета сделать переход в некую процедуру, как в 1с7.7 Ээ... В каком смысле "при изменении ячейки макета"!? И как это было в 7.7 реализовано? Имеется в виду "расшифровка" или что-то другое?
Have you tried to turn it off and on again? © IT Crowd
|
|
| |
Ткачев |
Четверг, 14.10.2010, 09:49
|
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
| Да, я отредактировал ячейку в печатной форме и при нажатие Enter должна быть запущена обработка, В рознице или в торговле есть обработка "Печать этикеток и ценников", вот надо сделать что бы при изменении в макете ценника наименования номенклатуры, оно сохранялось в справочнике номенклатура, т.е. вызвать процедуру при изменении ячейки в печатной форме.
|
|
| |
Vetkhy |
Четверг, 14.10.2010, 15:59
|
Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
| Quote (Ткачев) вот надо сделать что бы при изменении в макете ценника наименования номенклатуры Это не макет По сути вопроса - пожалуйста: событие ПриИзмененииСодержимогоОбласти у поля табличного документа в форме обработки. Соответственно, анализируя передаваемый параметр Область, возможно выполнение тех или иных действий. Все же замечу, что по-моему печатная форма этикетки или ценника не самое лучшее место для изменения наименования номенклатуры...
Have you tried to turn it off and on again? © IT Crowd
|
|
| |
Ткачев |
Пятница, 15.10.2010, 12:04
|
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
| >Это не макет smile Да, в торговле это не макет и там все работает, а вот в рознице это печатный макет и нех не работает, надо было с минимальными изменениями релиза сделать это, ну раз не получается, то пусть так корячатся операторы.
|
|
| |
Гость |
Четверг, 21.10.2010, 20:40
|
Группа: Гости
| Хочется одним запросом получить неправильную последовательность PLU кода, возможно ли это ? У меня сейчас так: Запрос=Новый Запрос("ВЫБРАТЬ | ТоварВесов.PLU КАК PLU |ИЗ | РегистрСведений.ТоварВесов КАК ТоварВесов |ГДЕ | ТоварВесов.Весы = &Весы | |УПОРЯДОЧИТЬ ПО | PLU"); Запрос.Параметры.Вставить("Весы",ЭлементыФормы.ТаблицаВесов.ТекущаяСтрока); Результат=Запрос.Выполнить().Выбрать(); PLU=1; Пока Результат.Следующий() Цикл ВремPLU=Результат.PLU; Если PLU<>ВремPLU Тогда Прервать; КонецЕсли; PLU=PLU+1; КонецЦикла; Возврат (PLU)
|
|
| |
Vetkhy |
Четверг, 21.10.2010, 23:47
|
Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
| Quote (Гость) Хочется одним запросом получить неправильную последовательность PLU кода Что такое "правильная последовательность" в данном случае? (Я просто не в курсе).
Have you tried to turn it off and on again? © IT Crowd
|
|
| |
Ткачев |
Пятница, 22.10.2010, 07:58
|
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
| Есть коды PLU 1,2,3,4,6,7,8,9,10 т.е. идет увеличение PLU на 1, в приведенном примере нет 5, запрос должен мне вернуть код PLU=4, т.е. я понимаю что PLU=5 нету, добавляю PLU=PLU+1, и восстанавливаю правильную последовательность PLU кода.
|
|
| |
Vetkhy |
Пятница, 22.10.2010, 10:04
|
Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
| Quote (Ткачев) Есть коды PLU 1,2,3,4,6,7,8,9,10 т.е. идет увеличение PLU на 1, в приведенном примере нет 5, запрос должен мне вернуть код PLU=4, т.е. я понимаю что PLU=5 нету, добавляю PLU=PLU+1, и восстанавливаю правильную последовательность PLU кода. Понятно. Тогда вроде бы все в порядке с вышеприведенным кодом, как задачу решить только лишь запросом, непонятно - по-моему автоинкрементов в запросах не предусмотрено.
Have you tried to turn it off and on again? © IT Crowd
|
|
| |
Ткачев |
Пятница, 22.10.2010, 18:57
|
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
| Запрос=Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1 |ТоварВесов.PLU |ИЗ |РегистрСведений.ТоварВесов КАК ТоварВесов |ЛЕВОЕ СОЕДИНЕНИЕ |РегистрСведений.ТоварВесов КАК ТоварВесов2 |ПО |ТоварВесов.PLU=ТоварВесов2.PLU-1 |ГДЕ |ТоварВесов2.PLU ЕСТЬ NULL |УПОРЯДОЧИТЬ ПО |ТоварВесов.PLU"); Результат=Запрос.Выполнить().Выбрать(); Возврат (?(Результат.Следующий(),Результат.PLU+1,1));
|
|
| |
Vetkhy |
Суббота, 23.10.2010, 13:04
|
Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
| Quote (Ткачев) ЛЕВОЕ СОЕДИНЕНИЕ |РегистрСведений.ТоварВесов КАК ТоварВесов2 |ПО |ТоварВесов.PLU=ТоварВесов2.PLU-1 Гениально!
Have you tried to turn it off and on again? © IT Crowd
|
|
| |
Гость |
Понедельник, 15.11.2010, 15:34
|
Группа: Гости
| Помогите сгруппировать по Сроку оплаты, договору контрагента, контрагенту ВЫБРАТЬ | ПоступлениеТоваровУслуг.Ссылка, | ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ПоступлениеТоваровУслуг.ДоговорКонтрагента.СрокОплаты) КАК СрокОплаты, | СУММА(ПоступлениеТоваровУслуг.СуммаДокумента) КАК СуммаДокумента, | ПоступлениеТоваровУслуг.ДоговорКонтрагента, | ПоступлениеТоваровУслуг.Контрагент |ИЗ | Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг |ГДЕ | ПоступлениеТоваровУслуг.ДоговорКонтрагента.УстановленСрокОплаты = ИСТИНА | И ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ПоступлениеТоваровУслуг.ДоговорКонтрагента.СрокОплаты) МЕЖДУ &НачДата И &КонДата | |СГРУППИРОВАТЬ ПО | ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ПоступлениеТоваровУслуг.ДоговорКонтрагента.СрокОплаты), | ПоступлениеТоваровУслуг.ДоговорКонтрагента, | ПоступлениеТоваровУслуг.Контрагент, | ПоступлениеТоваровУслуг.Ссылка | |УПОРЯДОЧИТЬ ПО | СрокОплаты
|
|
| |
Vetkhy |
Понедельник, 15.11.2010, 21:58
|
Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
| Quote (Гость) Помогите сгруппировать по Сроку оплаты, договору контрагента, контрагенту Ну вроде ничего криминального в запросе на первый взгляд нет, может быть ИТОГИ нужны, а не СГРУППИРОВАТЬ?
Have you tried to turn it off and on again? © IT Crowd
|
|
| |
Гость |
Вторник, 16.11.2010, 19:14
|
Группа: Гости
| В коде указанном ниже нужно увеличить ширину колонок и заменить заголовки табличной части (вместо имен колонок сделать свой текст.), как это возможно сделать ? ПостроительОтчета=Новый ПостроительОтчета; ПостроительОтчета.ИсточникДанных=Новый ОписаниеИсточникаДанных(Таблица значений со всеми строками и колонками); ПостроительОтчета.Вывести(Табличный документ расположенный на форме); Добавлено (16.11.2010, 19:11) --------------------------------------------- [quote=Vetkhy]Ну вроде ничего криминального в запросе на первый взгляд нет, может быть ИТОГИ нужны, а не СГРУППИРОВАТЬ? [/quote] Вот в том то и вопрос как сделать, я уже все перебровал, не получается ни чего:( Добавлено (16.11.2010, 19:13) --------------------------------------------- Весь код: НачДата=НачалоДня(НачПериода);КонДата=КонецДня(КонПериода); ТаблЗнач=Новый ТаблицаЗначений; ТаблЗнач.Колонки.Добавить("Контрагент"); ТаблЗнач.Колонки.Добавить("Документ",,"Входящий документ",50); КоличествоДней=Цел(((КонДата-НачДата)/86400)+0.5); Для Аа=0 по КоличествоДней-1 Цикл ДатаСрока=НачДата+(86400*Аа); ТаблЗнач.Колонки.Добавить("Д"+Формат(ДатаСрока,"ДФ=ddMMyy")); КонецЦикла; Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ | НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ПоступлениеТоваровУслуг.ДоговорКонтрагента.СрокОплаты), ДЕНЬ) КАК СрокОплаты, | ПоступлениеТоваровУслуг.Контрагент КАК Контрагент, | ПоступлениеТоваровУслуг.Ссылка, | ПоступлениеТоваровУслуг.СуммаДокумента КАК СуммаДокумента |ИЗ | Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг |ГДЕ | ПоступлениеТоваровУслуг.ДоговорКонтрагента.УстановленСрокОплаты = ИСТИНА | И ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ПоступлениеТоваровУслуг.ДоговорКонтрагента.СрокОплаты) МЕЖДУ &НачДата И &КонДата | |УПОРЯДОЧИТЬ ПО | Контрагент"; Запрос.Параметры.Вставить("НачДата",НачДата);Запрос.Параметры.Вставить("КонДата",КонДата); Результат=Запрос.Выполнить().Выбрать(); Пока Результат.Следующий() Цикл НовСтр=ТаблЗнач.Добавить(); НовСтр.Контрагент=Результат.Контрагент; НовСтр.Документ=Результат.Ссылка.НомерВходящегоДокумента+" от "+Формат(Результат.Ссылка.ДатаВходящегоДокумента,"ДЛФ=D"); НовСтр["Д"+Формат(Результат.СрокОплаты,"ДФ=ddMMyy")]=Формат(Результат.СуммаДокумента,"ЧДЦ=2"); КонецЦикла; ПостроительОтчета=Новый ПостроительОтчета; ПостроительОтчета.ИсточникДанных=Новый ОписаниеИсточникаДанных(ТаблЗнач); ПостроительОтчета.ВыводитьЗаголовокОтчета=Ложь; Область = ПостроительОтчета.Макет.ПолучитьОбласть("R1C1"); Область.ТекущаяОбласть.СодержитЗначение = Истина; Область.ТекущаяОбласть.Значение = Область.ТекущаяОбласть.Значение; Область.ТекущаяОбласть.ШиринаКолонки = 100; ПостроительОтчета.Вывести(ЭлементыФормы.Таб); Добавлено (16.11.2010, 19:14) --------------------------------------------- Это не надо: [quote=Гость]Область = ПостроительОтчета.Макет.ПолучитьОбласть("R1C1"); Область.ТекущаяОбласть.СодержитЗначение = Истина; Область.ТекущаяОбласть.Значение = Область.ТекущаяОбласть.Значение; Область.ТекущаяОбласть.ШиринаКолонки = 100; [/quote]
|
|
| |
Vetkhy |
Среда, 17.11.2010, 11:58
|
Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
| Все равно пока не понял, что должно получиться в итоге, но несколько замечаний сразу. 1. ТаблЗнач.Колонки.Добавить("Документ",,"Входящий документ",50); Построитель отчета "подхватывает" заголовок колонки - "Входящий документ"? 2. Вместо Запрос.Параметры.Вставить можно использовать Запрос.УстановитьПараметр 3. Интерактивно работать с табличным документом скорее всего нужно после того, как его выведет построитель, т.е.: Code ПостроительОтчета=Новый ПостроительОтчета; ПостроительОтчета.ИсточникДанных=Новый ОписаниеИсточникаДанных(ТаблЗнач); ПостроительОтчета.Вывести(ЭлементыФормы.Таб); ТекОбласть = ЭлементыФормы.Таб.Область(1, 1); // получение области по номерам строк и столбцов ...
Have you tried to turn it off and on again? © IT Crowd
|
|
| |
|