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

Хранилище

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

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



История благодарностей участнику volodya1122 ::: Спасибо сказали: 133 раз
Дата поста: В теме: За сообщение: Спасибо сказали:
26.05.20, 8:04 Как программно выбрать и изменить один документ 1с 7.7 конф 7.7.00
ZUBR @ Вчера, 23:33 * ,
Не ПолучитьДокумент а Расх.НайтиДокумент(СсылкаРасх);
ZUBR,
20.05.20, 8:27 поиск в строке
4andriy @ Вчера, 23:18 * ,

У Вас неправильное использование фунции "Найти"

Функция "Найти" возвращает позицию первого вхождения в строку поиска заданной подстроки.

Если не находит - возвращает число 0.
Если находит то возвращает номер первого найденного символа (это может быть как 1 так и 2 и 7 и 25...., а не всегда 1 как вы написали)
4andriy,
16.05.20, 7:56 Как сделать реквизит видимым только в одном слое расходной накладной? 1с 7.7 конф 7.7.00
Як я зрозумів, потрібно при різних наборах прав керувати видимістю деяких реквізитів на формі.
В доному випадку небачу красивого рішення. Можу запропонувати два варіанти
1. Аналізувати яка закладка відкрита. І якщо відкрита закладка де є Ваш реквізит тільки тоді керувати її видимістю (назва закладки знаходиться в реквізиті Значение).
2. Замість керувати видимістю, керуйте Доступністю реквізитів (реквізит буде видно на формі, але небуде доступний для натискання/вибору). В даному випадку вже непотрібно аналізувати яка закладка відкрита.
ZUBR,
14.05.20, 14:01 Как программно очистить поле на форме РасходнойНакладной? в 1С 7.70.003 торговля склад для Украины?

ZUBR @ Сегодня, 14:00 * ,
Програмно реквизит любого типа банально чистится. Типа: МойРеквизит="";
ZUBR,
13.05.20, 12:02 Файлы хранения конфигурации 1С
Цитата(Maxymoff @ 13.05.20, 12:07) *
Спасибо, про объединение конфигураций почитаю, я так понимаю это что-то вроде обработки, которая сравнит одну конфигурацию с другой и даст возможность добавить отличия одной в другую.Если не затруднит, где почитать? Заранее спасибо!

Это внутренняя обработка (внутри конфигурации). В конфигураторе в меню выбрать Конфигурация- Обеденение конфигураций...
Откроется меню для вибора файло из которого хотите загрузить конфигурацию. Виберете файл 1cv7.md из своей копии где делали изменения. Система промнализирует различия между двумя конфигурациями и покажет различия. Потом просто нажать обеденить (все отметки оставить по умолчанию)
Maxymoff,
11.05.20, 20:39 Как создать ссылку в документе не другой документ 1с 7.7 конф 7.7.003
ZUBR @ Сегодня, 13:35 * ,

1. Чтото сильно намудрили с этими документами..... я до конца так и не понял. Поясню так как понял.
2. В документе акт нужно создать реквизит (СсылкаНаДокументРасхНакл) с типом Документ.РасходнаяНакладная
3. в документе Акт после Расх.Записать(); Написать СсылкаНаДокументРасхНакл=Расх.ТекущийДокумент():- это будет ссылка в Акте на ваш созданный документ расх накуладной.
4. Для ссылки На акт из расходной накладной; Расх.СсылкаНаАктПриема = ТекущийДокумент(); (соответственно реквизит в расходной накладной должен быть типа Документ.АктПрийома).
5. Ссылка на документ Расходная накладная, возможна только после его записи (после строки Расх.Записать()wink.gif. Соответственно и обратное, передавать ссылку на документ Акт в расходную накладную нужно после записи акта (написать Записать(); перед передачей ссылки на акт)
ZUBR,
07.05.20, 11:59 Как сделать дополнительную вкладку в документе? 1с 7.7 конф 7.7.00
Ну так в документе у вас уже все готовое есть просто нужно посмотреть как реализовано.
1. Переключение закладок : Процедура ПриВыбореЗакладки(Номер,Значение)
2. Установка закладок в ПриОткрытии уснанавливается визуальное отображение закладок
Форма.ИспользоватьЗакладки(1);
    Форма.Закладки.ДобавитьЗначение("Основной","Основна");
    Форма.Закладки.ДобавитьЗначение("Довереность","Довіреність");
    Форма.ИспользоватьСлой("Основной, Совместный",2);
ZUBR,
06.05.20, 7:46 Ошибка метода НайтиПоРеквизиту 1с 7.7 конф 7.7.00
ZUBR @ Сегодня, 1:10 * ,
и Мистер.ВыбратьЭлементы(); в даном случае не нужно
ZUBR,
05.05.20, 15:37 Печать второй пустой страницы таблицы.
1. На двух компах разные принтера, наверное потому на одном влазит, а на другом нет.
2. В макете печатной формы в подвале есть пустые строки - в них ничего не выводится, но они участвуют в формировании печатной формы.
3. Может быть в макете печатной формы ниже подвала еще пунктирная линия разделения страниц. тогда эти строки в макете тоже нужно удалить.
4. свой вариант
Talkman,
04.05.20, 8:28 Не найден файл печатной формы 1С 7.70.003 торговля склад для Украины?
ZUBR @ Вчера, 17:31 * ,
і чим він не подобається. Це звичайне рішення, в багатьох місцях його використовують. Для користувача взагалі ніяких відмінностей небуде.

інший вихід- таблицю значень помістити прямо на форму
ZUBR,
03.05.20, 12:04 Не найден файл печатной формы 1С 7.70.003 торговля склад для Украины?
Цитата(ZUBR @ 03.05.20, 2:04) *
ZUBR @ Вчера, 21:26 * ,
Пришел к выводу, что ошибки нет, просто, когда запускается процедура не с кнопки, а с поля ввода, программа ищет таблицу в виде файла. И не находит. Можно ли обойти эту проблему?

Для виклику друку із поля вводу потрібно робити через Ложное закрытие. Здається я вже Вам раз давав як виглядає це ложне закриття.
Нагадаю:
Перем  МожноЗакрыть;

Процедура ПриОткрытии()
МожноЗакрыть=1;
КонецПроцедуры

Процедура ПечатьИзПоляВвода() // цю процедуру вішаємо на поле вводу
МожноЗакрыть = 0;
Форма.Закрыть(0);
КонецПроцедуры

    Процедура ПриЗакрытии()
    Если МожноЗакрыть = 0 Тогда
        МожноЗакрыть = 1;
        Сформувати();  // ця процедура, яку потрібно виконатити
        СтатусВозврата(0); // відмінити закриття форми
        Возврат; // протрібно якщо нижче в цій процедурі є ще якийсь код, і не потрібно щоб він виконувався
    КонецЕсли;
КонецПроцедуры


Якшо у вас на цій формі вже використовується ложне закриття для інших цілей, то використовуйте разні значення для змінної МожноЗакрыть для різних цілей, і в ПриЗакритии просто аналізуючи яке його значення виконувати потрібні дії
ZUBR,
28.04.20, 8:36 Не удается реквизит сделать периодическим 1с 7.7 конф 7.7.003
ZUBR @ Вчера, 23:00 * ,
Наскільки я зрозумів в довіднику Номенклатура реквізит КЗП записується тільки вручну. Ніякими документами він не міняється і небуде мінятись документами.
Тоді процес спрощується, Але роботи всеодно буде потрібно багато.
1. В довіднику поставити признак ПеріодичнийРеквізит. ИзменениеДокументом не ставити.
2. Зберегти конфігурацію і зайти в Предприятие. Перше значення періодичного реквізита повинно встановитись автоматично на дату наприклад 1 січня 1980 року. Це добре. (перевірити: права кнопка на номенклатурі-> Історія реквізиту). Якщо так поставилсь тоді все добре.
3. В довіднику контрагенти в процедурі ПриОткрытии прописати це (якщо його там немає);
        СохранениеПериодическихРеквизитов(2, "*");
    ИспользоватьДату(ТекущаяДата()); // періодичні реквізити будут завжди записуватись на сьогодні
//або ИспользоватьДату(РабочаяДата());// періодичні реквізити будуть записуватись на робочу дату (робочу дату можна міняти в (сервіс-Параметри-Общие)

При цьому 1С небуде задавати додаткових питань на яку дату записувати реквізити.
4. Тут саме цікаве. Всюди (в документах, в звітах, в макетах (печатних формах)), де використовується ваш реквізит КЗП потрібно замінити
Наприклад :
знач=Спр.КЗП: // було так
знач=Спр.КЗП.Получить(НужнаяДата): // змініти на це

ZUBR,
27.04.20, 17:32 Не удается реквизит сделать периодическим 1с 7.7 конф 7.7.003
1. що означає відмітка "Изменяется документами"- Це означає що значення періодичного реквізиту справочника можна міняти тільки документом (в ОбработкаПроведения() ). Коди документ помічається на видалення або робиться непроведеним, то автоматично значення цього реквізиту пропадає (яке привязане до даного документа)
2. Якшо ще поставити "Ручне Изменение" тоді значення періодичного реквізиту можна міняти з любого місця прогами. Але при видаленні документа воно автоматично не пропаде.
Для установки значення документом слід писати так:
 УстановитьРеквизитСправочника(Спр.ТекущийЭлемент(),"НазваниеПереодическогоРеквизита","Запишем тут значение реквизита",ДатаДок);

Для ручного встановлення значення потрібно писати:
Спр.ТекущийЭлемент().ПерРеквизит.Установить(ТекущаяДата(),"НужноеЗ значение");


Отримати значення реквізиту
ЗначениеРеквизитаНадату=Спр.ТекущийЭлемент().ПерРеквизит.Получить(НужнаяДата)



А можна ще так:
    Спр=СоздатьОбъект("Справочник.Контрагенты");
    Спр.ИспользоватьДату(ТекущаяДата());
... СПРНайтиСправочник
Спр.ПериодическийРеквизит=""Его значение"
Спр.Записать()


Для Установить і УстановитьРеквизитСправочника Записывать справочник непотрібно (якщо міняються тільки періодичні реквізити).

Думаю щось пояснив, або ще більше запутав. Якщо є питання, то задавайте конкретніше

Ще забув добавити.
При Відмітці "ручне Изменение"в межах дня може бути тільки одне значення періодичного реквізита. Якщо їх буде декілька, то збрежеться те яке останнім змінювалось.
При "изменениеДокументом" на кожен документ буде своє значення періодичного реквізиту (хоч 100500 значень в межах одного дня) . Для отримання значення такого реквізитуможна використовувати не дату, а позицію документу
ЗначениеРеквизитаНадату=Спр.ТекущийЭлемент().ПерРеквизит.Получить(ТекДокумент)

Але є один недолік в періодичних реквізитів. Абсолютно всі періодичні реквізити всіх справочников зберігаються в одній таблиці. І якщо їх буде дуже багато, то ця таблиця дуже швидко розростеться. І ще з цього випливає, що доступ до періодичних реквізитів буде повільнішим, так як фізично 1С повинна опрацювати дві таблиці (таблицю справочника, і таблицю періодичних реквізитів- це два різних файли на диску)
ZUBR,
19.03.20, 9:28 Заполнить данные в выбранном элементе справочнике при выборе в поле ввода
4andriy @ Вчера, 23:49 * ,
Я так понял эта процедура выполняется в Справочнике.Склыды?
Если так, это неверно
Элемент.найтиЭлемент(ТекущийЭлемент());

Потому что ТекущийЭлемет у вас Склады, а пытаетесь найти в справочнике Сотрудники.
Нудно так:
Элемент.найтиЭлемент(Отв);
Элемент.Должность="склад 1";// если Должность это строка
Элемент.Должность=ТекущийЭлемент(); //Если должность это спрвочник.Склады

Хотя мне непонятно зачем вы переменной Должность присваиваете значение склада
4andriy,
28.02.20, 13:06 Картинки в табличной форме документа.
Немного поэксперементировал и пришел к выводу (неуверен что верный)
1С сохраняет в 95 Ексель, поэтому фиолетово какой формат картинки. Он ее всеравно преобразовывает в bmp формат. Отсюда и увеличение размера файла.

Из этого вывод:
1. Вручну открывать каждый такой сохраненный Екселевский файл и пересорранять его в 2003, 2007 или новее форматы Екселя.
2. Попробовать програмно сохранять в Ексель через Йоксель. (не пробовал, может размер файла будет меньше).
3. Обезательно нужно сохранять в ексель? Может лучше сохранять в pdf ?. (Используя печать через ПДФ принтер, или програмно через тот же Йоксель)- размер файла точно будет намного меньше.
Talkman,
24.02.20, 10:04 Непонятный глюк с Авто.выбор в Расходной Накладной в 1С 7.70.003 торговля склад для Украины?
ZUBR @ 22.02.20, 1:57 * ,
Вы сами ответили на свой вопрос. из модуля документа невозможно, да и зачем Вам такой изврат?
ZUBR,
03.02.20, 17:02 Помогите проверить и разъяснить как это сделать
champions @ Сегодня, 13:24 * ,

1. Писать на 8.2 или 8.3 это нужно спрашивать у своего преподавателя.
2. В своей конфигуракии вы не написали ни одной строчки кода. Что тут проверять то?
3 Помогу Кодом для ТМЦ. А дальше самому

Процедура ПередЗаписью(Отказ)
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ТМЦ.Наименование
        |ИЗ
        |    Справочник.ТМЦ КАК ТМЦ
        |ГДЕ
        |    ТМЦ.Ссылка <> &ТекЭлемент
        |    И ТМЦ.Наименование = &Наименов";
    
    Запрос.УстановитьПараметр("Наименов", Наименование);
    Запрос.УстановитьПараметр("ТекЭлемент", Ссылка);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
      дублей= ВыборкаДетальныеЗаписи.Количество();

Сообщить("Дублей="+дублей);
Если Дублей>0 тогда
      Отказ=Истина;
КонецЕсли;      
    
КонецПроцедуры

champions, Макс1С,
28.01.20, 9:37 Элементы диалога видны в "неродных" шарах
denis84 @ Сегодня, 8:22 * ,
1. Ответ не мне.
2. Какраз нужно убрать из общего слоя и поместить в какой-то другой
anatol1c,
27.01.20, 16:54 Элементы диалога видны в "неродных" шарах
jahhh @ Сегодня, 14:43 * ,

Слои в конфигураторе и закладки на форме - это не совсем одно и то-же. Например в одной закладке на форме может размещаться несколько слоев из конфигуратора. В Вашем случае я думаю вы разместиль свой реквизит в "общий" слой - который виден на каждой закладке. Так что нужно переместить свой реквизит в другой слой который виден на заклажках вместе с "Общим"
anatol1c,
20.12.19, 9:16 добавить фильтр в многострочную часть
Цитата(4andriy @ 19.12.19, 16:16) *
ПорядокРеквизита("ИНН");
Контрагенты.ВыбратьЭлементы();

Думал что догадаетесь сами. Нужно писать так:
Контрагенты.ПорядокРеквизита("ИНН");
Контрагенты.ВыбратьЭлементы();


И еще я же написал. 1 в связке с 3 работать небудет
4andriy,
17.12.19, 14:08 добавить фильтр в многострочную часть
Цитата(4andriy @ 17.12.19, 13:49) *
а кто знает что за значения с знаками вопроса?

Перед ИспользоватьСписокЕлементов напишите
ИерархическийСписок(0,1);
4andriy,
17.12.19, 12:33 добавить фильтр в многострочную часть
4andriy @ Сегодня, 12:14 * ,
Попробуйте такое условие
Если ПустаяСтрока(Контрагенты.ИНН)=1 Тогда

Кажется для строковой переменной значение заполняется прбелами до полной длинны. Поэтому у вас в ИНН не "" или "0" а всегда заполнено так " " или "0 " (в смысле - например 12 пробелов).
4andriy,
16.12.19, 20:15 добавить фильтр в многострочную часть
4andriy @ Сегодня, 18:28 * ,
Так если у Вас ИНН точно строка то там скорее пусто а не ноль?
Если Контрагенты.ИНН="" Тогда
4andriy,
13.12.19, 10:58 Какие файлы конфигурации можно удалять? 1С 7.70.003 торговля склад для Украины?
ZUBR @ Сегодня, 1:25 * ,

Таких файлі взагалі не повинно бути в базі. Розмір цих файлів такий як і основгого файла? В свойствах файла подивитись коли він був створений і останній раз изменен. Конкретно по цьому файлу- це файл журналів (основний файл 1SJOURN.DBF), і відповідний йому .CDX файл.
Можете перевірити роботу бази на копії без всіх цих клонів.
ZUBR,
29.11.19, 11:54 Как упорядочить строки по номеру 1С 7.70.003 торговля склад для Украины?
Цитата(ZUBR @ 28.11.19, 23:32) *
да, все правильно, за пределами цикла сортировка работает. Но в теле цикла работает тоже. Проверено. В теле цикла заполнения ТаблицыЗначений.

Я памятаю фразу ще зі школи "Програма вважається правильно написаною, якщо вона забезпечує правильний результат при любих вхідних даних".
Але ми зараз не в школі, і крім правильного результату програма повинна бути хочаби більш-менш оптимізованою.
Якшо "Сортировать" ставити в середині циклу, то результат звичайно буде правильний, але компютер буде робити набагато більше операцій: добавили один запис в ТаблицюЗначень і потрібно перебирати всю таблицю значень для сортування. І так для кожного рядка із таблиці значень.
Якщо ж винести "Сортировать" за межі циклу то сортування відпрацює один раз для всієї таблиці -що набагато швидше.
ZUBR,

5 страниц V  < 1 2 3 4 > » 
RSS Текстовая версия Сейчас: 28.03.24, 18:30
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!