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

Хранилище

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

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



История благодарностей участнику andrew76 ::: Спасибо сказали: 43 раз
Дата поста: В теме: За сообщение: Спасибо сказали:
09.02.24, 5:25 1Cv7.MD Неисправимая ошибка. Неправильный формат файла
Цитата(Pepe @ 09.02.24, 1:47) *
а вот индексов у него нет

Вопрос-почему нет индексов ? Список счетов визуально не поврежден.По идее индексы пересоздаются при монопольном запуске.
Dmitrij19631025,
08.02.24, 6:46 1Cv7.MD Неисправимая ошибка. Неправильный формат файла
Dmitrij19631025 @ 06.02.24, 19:21 * ,

Скачал этот мд-файл.Правда,скажу сразу - делал на платформе 7.7.025.В конфигураторе-загрузил измененную конфигурацию и сохранил.
Выгрузил после этого md-файл в архив.По моему проблема не в MD-файле.


andrew76 @ Сегодня, 9:20 * ,
архив здесь:
https://transfiles.ru/yr200
Dmitrij19631025,
05.02.24, 13:30 Как программно назначить обработчик события 1с на поле вввода данных Табличного Документа
Цитата(AnryMc @ 05.02.24, 16:00) *
andrew76 @ Сегодня, 13:07 * ,


А событие "Выбор" не подходит?
Процедура МояТЧ_Выбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
    
    ТекДанные = Элементы.МояТЧ_.ТекущиеДанные;
    
    ПозицияНужнойСтроки = ТекДанные.ПолучитьИдентификатор();
    
    //ОТКРЫТЬ ЗАПРОС
    Если Поле.Имя = "ИмяНужнойЯчейки" Тогда


Так у меня ТабличныйДокумент на форме а не ТабличноеПоле.В ТабличномДокументе вроде нет такого свойства- ТекущиеДанные.

andrew76 @ Сегодня, 16:04 * ,

Вышел из положения следующим образом:через События->ПриИзменении в ТабличномПоле.


Процедура Поле1ПриИзменении(Элемент)
    
Если Элемент.ТекущаяОбласть.Имя="R3C3" тогда
    
        //Действие с нужной мне ячейкой
    
КонецЕсли;
AnryMc,
29.12.21, 8:53 Файловые атрибуты-присвоить дату
andrew76 @ Вчера, 20:22 * ,

вот рабочий вариант.
тему можно закрывать.

Шел=СоздатьОбъект("Shell.Application");
Папка=Шел.NameSpace("c:\out\photo_\");
fil="";
fil=ID_+".jpeg";
Файл=Папка.ParseName(fil);
Д_Ф=Формат(ТекущаяДата(),"ДДДММГГГГ");
ДД_ф=Сред(Д_ф,4,2)+"/"+Лев(Д_ф,2)+"/"+Прав(Д_ф,4);
Файл.ModifyDate=(ДД_ф+" 01:00:00 AM");
Vofka,
03.02.21, 17:05 Запуск 1с 8.1 на OS Windows 10 64 bit
Vofka @ Сегодня, 14:22 * ,

Сервер перестал раздавать лицензии.А лекарство я нашёл.
Прямо как в известном фильме-"Достаточно одной таблэтки" ©.
Лекарство сделано под 64-х разрядную Windows 7,но работает и под Windows 10 X64.
awp,
22.09.20, 18:40 Как создать ссылку на определенную строку ТаблицыЗначений? 1с 7.7 конф 7.7.003
Цитата(ZUBR @ 22.09.20, 20:12) *
Суть в том, что в определенном месте цикла мне надо запомнить строку ТЗ, чтобы потом ее вызвать без поиска и цикла и произвести в ней некоторые изменения.


ПолучитьСтрокуПоНомеру(<?>);
Синтаксис:
ПолучитьСтрокуПоНомеру(<НомерСтроки>)
Назначение:
Получить строку таблицы значений по номеру. Указанная строка становится текущей.
Параметры:
<НомерСтроки> - номер строки, на которую следует переместиться.

ТЗ.ПолучитьСтрокуПоНомеру(<?>);



Вдогонку :

ТЗ.ВыбратьСтроки();  //эта строчка лишняя скорее всего

ТЗ.ПолучитьСтрокуПоНомеру(А);                   //ПЫТАЕМСЯ ПОЛУЧИТЬ СТРОКУ А

Если (ТЗ.ЗАКАЗ=Расх.НомерЗаказа)и(ТЗ.СТАТУС=Перечисление.Статусы.АКС)  Тогда  
       ТЗ.К=К;
КонецЕсли;

ZUBR,
15.09.20, 8:34 Ограничение доступа с пользователей к складам
Цитата(MATEVI @ 14.09.20, 21:53) *
Пишут, то много чего.

Цитата(RedCat77 @ 11.09.20, 13:42) *
Суть вопроса: необходимо ограничить пользователя в возможности работы только по ему разрешенным складам (кому-то один, кому-то несколько, кому-то все доступны)


Судя по названию темы ("Ограничение доступа с пользователей к складам"),Автора
интересовал только ограниченный доступ к складам.А если на всю конфу,то надо использовать RLS,
Или ролями манипулировать.
RedCat77,
26.06.20, 18:53 Выбор минимальной даты в ТаблицеЗначений 1С 7.70.003 торговля склад для Украины?
Цитата(ZUBR @ 25.06.20, 16:14) *
Отсортировать ТЗ по возрастанию и получить значение из первой строки.


Цикл строить не надо.

ТЗ.Сортировать("+ДатаПриема");
Сообщить(ТЗ.ПолучитьЗначение(1,"ДатаПриема")); //минимальное значение
ZUBR,
26.01.20, 5:14 Как открыть форму элемента справочника Контрагенты из формы расходной накладной в 1С 7.70.003 торговля склад для Украины?
ZUBR @ Вчера, 21:45 * ,

А команда Сообщить() выдает пустую строку ?

Если нижеуказанный код повесить на кнопку ,которая будет расположена на форме
Расходной Накладной,то все должно работать ( у меня по крайней мере работает).
Если вешать этот код на обработчик флажка,то ошибка будет вылетать.
Поэтому могу предложить другой вариант открытия формы.

Процедура Проблема()                                   
    Спр = СоздатьОбъект("Справочник.Контрагенты");
    Спр.НайтиПоНаименованию(Контрагент.Наименование,0,1); //
    Сообщить(Спр.ТекущийЭлемент());
    ОткрытьФорму(Спр.ТекущийЭлемент());
КонецПроцедуры


Отрыть форму модально: // в этом варианте все должно работать

Процедура Проблема()                                   
    Спр = СоздатьОбъект("Справочник.Контрагенты");
    Спр.НайтиПоНаименованию(Контрагент.Наименование,0,1); //
    Сообщить(Спр.ТекущийЭлемент());
    ОткрытьФормуМодально(Спр.ТекущийЭлемент());
КонецПроцедуры
ZUBR,
20.01.20, 15:55 Ошибка печати справки о доходах
WillyM @ Сегодня, 18:44 * ,


Проверяйте заполняемость полей Фамилия,Имя,Отчество
Не вижу весь код запроса ,поэтому предлагаю такой "псевдокод" :

Если ЗначениеЗаполнено(Фамилия) и ЗначениеЗаполнено(Имя) и  ЗначениеЗаполнено(Отчество) Тогда 
       ОбластьМакетаШапка.Параметры.Физлицо = РезультатФИО.Фамилия +" "+РезультатФИО.Имя+" "+РезультатФИО.Отчество;
Иначе
       ОбластьМакетаШапка.Параметры.Физлицо="Неполные данные в ФИО";
КонецЕсли;
WillyM,
20.01.20, 15:32 Ошибка печати справки о доходах
WillyM @ Сегодня, 18:06 * ,

Маловато данных для анализа ошибки.Огласите текст запроса пожалуйста.
WillyM,
26.12.19, 15:25 Как осуществить поиск телефона по нескольким цифрам в 1С 7.70.003 торговля склад для Украины?
ZUBR @ Сегодня, 17:48 * ,

Найти(<?>,)
Синтаксис:
Найти(<Строка1>,<Строка2>)
Назначение:
Возвращает позицию первого вхождения в строку поиска заданной подстроки.
Параметры:
<Строка1> - строка в которой ищем (место поиска);
<Строка2> - строка которую ищем (шаблон поиска).
Замечание:
Если не находит - возвращает число 0.
Первая позиция имеет индекс 1.

Телефон_=СокрЛП(Телефон);  //убирает лишние пробелы справа и слева
Расх.ВыбратьДокументы(НачДата,КонДата);
            Пока Расх.ПолучитьДокумент()=1 Цикл
                Если (Найти(Расх.Телефон,Телефон_)>0)и(Расх.СтатусЗаказа <> Перечисление.Статусы.Акс)  Тогда  
                    ТЗ.НоваяСтрока();
                    ТЗ.Модель = Расх.Модель;
ZUBR,
24.12.19, 16:30 Как осуществить поиск телефона по нескольким цифрам в 1С 7.70.003 торговля склад для Украины?
mut @ Сегодня, 18:52 * ,

Ладненько,уговорили: 32000000.gif

Телефон_=СокрЛП(Телефон);  //убирает лишние пробелы справа и слева
Расх.ВыбратьДокументы(НачДата,КонДата);
            Пока Расх.ПолучитьДокумент()=1 Цикл
                Если (Найти(Расх.Телефон,Телефон_)=1)и(Расх.СтатусЗаказа <> Перечисление.Статусы.Акс)  Тогда  
                    ТЗ.НоваяСтрока();
                    ТЗ.Модель = Расх.Модель;

ZUBR,
24.12.19, 12:30 Как осуществить поиск телефона по нескольким цифрам в 1С 7.70.003 торговля склад для Украины?
Цитата(mut @ 22.12.19, 15:47) *
Если (Найти(Расх.Телефон,СокрЛП(Телефон))>0)


Лучше избавиться от пробелов до начала работы цикла и выполнения условия.
А то получится выражение каждый раз при прогоне цикла будет вычисляться снова-
если в базе 1000 контрагентов,то 1000 раз будут убираться пробелы из переменной Телефон.
ZUBR,
21.12.19, 16:48 Как осуществить поиск телефона по нескольким цифрам в 1С 7.70.003 торговля склад для Украины?
ZUBR @ Сегодня, 14:09 * ,

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

Телефон=СокрЛП(Телефон);  //убирает лишние пробелы справа и слева
Расх.ВыбратьДокументы(НачДата,КонДата);
            Пока Расх.ПолучитьДокумент()=1 Цикл
                Если (Найти(Расх.Телефон,Телефон)=1)и(Расх.СтатусЗаказа <> Перечисление.Статусы.Акс)  Тогда  
                    ТЗ.НоваяСтрока();
                    ТЗ.Модель = Расх.Модель;
ZUBR,
18.12.19, 17:20 Как осуществить поиск телефона по нескольким цифрам в 1С 7.70.003 торговля склад для Украины?
Добрый вечер !

Используйте в цикле перебора элементов функцию Прав().

Прав(<?>,)
Синтаксис:
Прав(<Строка>,<Число>)
Назначение:
Возвращает cтроку, содержащую последние (самые правые) символы текстовой строки.
Параметры:
<Строка> - строка, содержащая извлекаемые символы;
<Число> - количество символов, которое должна вернуть функция.

Пока Контрагенты.ПолучитьЭлемент()=1 Цикл

Если Прав(СокрЛП(Контрагенты),4)=НужнаяЧастьНомера тогда  
       Сообщить(Контрагенты.Наименование);
КонецЕсли;

КонецЦикла;
ZUBR,
17.12.19, 2:35 добавить фильтр в многострочную часть
Странно как-то фильтр работает.А если ИНН временно в числовой формат перевести (ради эксперимента)?
4andriy,
16.12.19, 16:24 добавить фильтр в многострочную часть
4andriy @ Сегодня, 18:00 * ,

Вообще-то этот код лучше записать в процедуру ПриОткрытии() формы,
где расположена табличная часть справочника.
Реквизит ИНН какого типа ? Числовой или строковый ?
Количество элементов в списке проверяли? Может список значений пуст ?
Сколько уровней в справочнике ?

Примерно такой код:

Процедура Показать()
СписокЭлементов = создатьОбъект("СписокЗначений");
Контрагенты=СоздатьОбъект("Справочники.Контрагенты");
Контрагенты.ВыбратьЭлементы();

Пока Контрагенты.ПолучитьЭлемент()=1 Цикл
   Если Контрагенты.ИНН=0 Тогда
          СписокЭлементов.ДобавитьЗначение(Контрагенты.ТекущийЭлемент());
   КонецЕсли;
КонецЦикла;

ИспользоватьСписокЭлементов(СписокЭлементов);
КонецПроцедуры



У меня вышеуказанный код отработал правильно.Справочник в моем случае был одноуровневый.
4andriy,
14.12.19, 6:27 добавить фильтр в многострочную часть
4andriy @ Вчера, 21:41 * ,

ИспользоватьСписокЭлементов(<СписокЗначений>)
Назначение:
Реализует фильтрацию элементов справочника, используя нединамический фильтр.
Параметры:
<СписокЗначений> - необязательный параметр. Значение типа - ''СписокЗначений'' - должен представлять собой список элементов справочника, выбранных для просмотра. Если это значение пустое, то фильтр отключается.
Замечание:
Метод доступен только в контексте Модуля формы списка справочника и относится ко всему текущему справочнику.
4andriy,
08.12.19, 19:13 Как создать новый элемент справочника из документа? 1с 7.7 конф 7.7.003
ZUBR @ Сегодня, 20:32 * ,

Мистер = СоздатьОбъект("Справочник.Контрагенты");       
Мистер.НайтиПоНаименованию("Покупатели");  //ищем группу справочника "Покупатели"
Род=Мистер.ТекущийЭлемент();                       // в переменную Род записываем  ссылку на запись группы "Покупатели"

Мистер.Новый();                        
Мистер.Родитель=Род;  //при записи в справочник нового контрагента указываем ссылку на Группу "Покупатели"
                                  //Свойство элемента справочника Родитель это и есть Группа - в нашем случае "Покупатели"
ZUBR,
05.12.19, 6:01 Как создать новый элемент справочника из документа? 1с 7.7 конф 7.7.003
Мистер = СоздатьОбъект("Справочник.Контрагенты");       
Мистер.НайтиПоНаименованию("Покупатели");
Род=Мистер.ТекущийЭлемент();   //получаем ссылку на запись Группы

Мистер.Новый();                        
Мистер.Родитель=Род;  //при записи в справочник сопоставляем со ссылкой на Группу


Не понял , что за условие выполняется для переменной Кл ?
ZUBR,
05.12.19, 3:25 Как создать новый элемент справочника из документа? 1с 7.7 конф 7.7.003
ZUBR @ Сегодня, 3:53 * ,

Доброе утро !

Если Кл=0 Тогда
Мистер = СоздатьОбъект("Справочник.Контрагенты");      
Мистер.НайтиПоНаименованию("Покупатели");
Род=Мистер.ТекущийЭлемент();

Мистер.Новый();                        
Мистер.Родитель=Род;  
Мистер.Наименование=Клиент;
Мистер.ПолнНаименование=Клиент;                  //ф.и.о из документа накладная
Мистер.Телефоны=Телефон;              //№ телефона из документа накладная
Мистер.ПочтовыйАдрес=Адрес;
Мистер.ВидКонтрагента = Перечисление.ВидыКонтрагентов.ЧастноеЛицо;
Мистер.ВалютаВзаиморасчетов = Константа.БазоваяВалюта;
Мистер.ВалютаКредита = Константа.БазоваяВалюта;
Мистер.ВалютаКредитаПоставщика = Константа.БазоваяВалюта;

Если ПустаяСтрока(Телефон)=0 Тогда
       Мистер.Записать();                   //записываем новую запись в справочник Контрагенты.  
КонецЕсли;
  
КонецЕсли;
ZUBR,
27.11.19, 12:06 Синтаксическая ошибка в запросе -Объединить. (1с 8.2.19.106)
Vladal @ Сегодня, 14:55 * ,

В принципе сделать 2 запроса отдельно.Выгружать результаты из запросов в 1 ТЗ.ТЗ отсортировать по дате- по убыванию.Прочитать из ТЗ первую запись и все.
Vladal,
21.11.19, 10:07 Как сделать, чтобы таблица отчета открывалась с конца? 1С 7.70.003 торговля склад для Украины?
Можно попытаться сэмулировать нажатие клавиш CTRL+End

WshShell = СоздатьОбъект("WScript.Shell");
WshShell.SendKeys("^+END");


andrew76 @ Сегодня, 12:36 * ,

WshShell.SendKeys("^{END}");



ZUBR,
21.11.19, 3:26 Как сделать, чтобы таблица отчета открывалась с конца? 1С 7.70.003 торговля склад для Украины?
ZUBR @ Вчера, 22:00 * ,

Доброе утро !
Попробуйте метод СдвинутьСтроку.Если не получится,что-то надо выдумывать с эмуляцией нажатия клавиш прокрутки.

СдвинутьСтроку(<?>,);
Синтаксис:
СдвинутьСтроку(<КоличСтрок>,<НомерСтроки>)
Назначение:
Переместить строку таблицы значений на новую позицию.
Параметры:
<КоличСтрок> - число строк, на которое надо переместить строку. Если число положительное, то строка сдвигается вниз, если отрицательное, то вверх.
<НомерСтроки> - необязательный параметр. Номер строки, которую надо переместить. Если не задан, то текущая.
ZUBR,

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